Files
Work/music/HarmonicMinorScale.hpp
2024-08-07 09:16:27 -04:00

39 lines
758 B
C++

#ifndef _MUSIC_HARMONICMINORSCALE_HPP_
#define _MUSIC_HARMONICMINORSCALE_HPP_
#ifndef _MUSIC_AEOLIANSCALE_HPP_
#include <music/AeolianScale.hpp>
#endif
class HarmonicMinorScale : public AeolianScale
{
public:
HarmonicMinorScale(Note root=Note::E);
virtual ~HarmonicMinorScale();
protected:
virtual void createScale(void);
private:
};
inline
HarmonicMinorScale::HarmonicMinorScale(Note root)
: AeolianScale(root,"HarmonicMinorScale")
{
createScale();
}
inline
HarmonicMinorScale::~HarmonicMinorScale()
{
}
inline
void HarmonicMinorScale::createScale()
{
AeolianScale::createScale();
Note note=getDegree(Degree::VII);
note++; // HarmonicMinor sharps the 7th of the minor scale
setDegree(Degree::VII,note);
}
#endif