Stores a list of notes according to a specified scale type
Aeolian / Minor, Ionian / Major,
Dorian, Phrygian, Locrian,
Lydian, Mixolydian
Pentatonic Major, Pentatonic Minor,
Harmonic Major, Harmonic Minor,
Melodic Minor (asc), Melodic Minor (desc),
Bebop Dominant, Bebop Major,
Major Minor, Half Diminished,
Algerian, Augmented, Blues,
Chromatic, Prometheus, Tritone,
Locrian Major, Altered / Super Locrian,
Phrygian Dominant, Lydian Augmented / Acoustic,
Enigmatic, Double Harmonic / Flamenco,
Neapolitan Major, Neapolitan Minor,
Hungarian Minor, Hungarian Major
Hirajoshi, In, Insen, Iwato, Persian
Scale(Note, theory::scale_type)
Scale(string note, theory::scale_type)
degree() - returns Note at specified scale degree
scale.degree(theory::scale_degree)
scale.degree(int degree)
scale.index(int)
- returns Note at specified index
chord() - returns Chord built with scale tones
scale.chord(int degree, int size=3)
scale.chord(scale_degree, int size=3)
example - Play the V chord of the C Major scale:
Scale cMajScale = Scale('C', theory::Major)
Chord cMajV = cMajScale.chord(5)