#ifndef _MUSIC_HARMONICMINORSCALE_HPP_ #define _MUSIC_HARMONICMINORSCALE_HPP_ #ifndef _MUSIC_AEOLIANSCALE_HPP_ #include #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