I only see one major mode and 3 minor mode built-in here.
It would be nice to see more modes implemented (the modes of the diatonic scale, e.g. dorian, lydian, etcetera, along with ionian_scale = major_scale and aeolian_scale = natural_minor_scale synonyms), along with others (harmonic major, phrygian dominant, etcetera). But there are so many that it might be more natural to have a dictionary modes["lydian"] than a separate constant for each.
(It's also not clear to me why a Scale should be an iterator rather than something supporting getindex.)
I only see one major mode and 3 minor mode built-in here.
It would be nice to see more modes implemented (the modes of the diatonic scale, e.g. dorian, lydian, etcetera, along with
ionian_scale = major_scaleandaeolian_scale = natural_minor_scalesynonyms), along with others (harmonic major, phrygian dominant, etcetera). But there are so many that it might be more natural to have a dictionarymodes["lydian"]than a separate constant for each.(It's also not clear to me why a
Scaleshould be an iterator rather than something supportinggetindex.)