|
MCC
|
Reviewed catalog of named scales stored in program memory. More...
Enumerations | |
| enum class | Id : uint8_t { Chromatic = 0 , ChromaticFlats , Major , Minor , HarmonicMinor , MelodicMinor , HarmonicMajor , MajorPentatonic , MinorPentatonic , MinorBlues , MajorBlues , Dorian , Phrygian , Lydian , Mixolydian , Locrian , Algerian , Arabic , Augmented , Pelog , Byzantine , Chinese , Diminished , Egyptian , EightToneSpanish , Enigmatic , Hindu , Hirajoshi , Iwato , HungarianMinor , Japanese , Oriental , WholeTone , RomanianMinor , SpanishGypsy , SuperLocrian , Invalid = 0xFF } |
| Stable catalog identifier. | |
| enum class | Family : uint8_t { Western , Modal , Symmetric , Exotic , Invalid = 0xFF } |
| Grouping inherited from the historical catalog arrays. | |
Functions | |
| ScalePattern | Pattern (Id id) noexcept |
| Returns the pattern of id, or the invalid pattern. | |
| Family | FamilyOf (Id id) noexcept |
| Returns the family of id, or Family::Invalid. | |
| size_t | CopyName (Id id, char *destination, size_t capacity) noexcept |
| Copies the canonical name of id with snprintf semantics and returns its length; an invalid id writes an empty string. | |
| size_t | CopyAlias (uint8_t index, char *destination, size_t capacity, Id &target) noexcept |
| Copies alias index (0-based, below AliasCount) and returns its length, also reporting the scale it names; out of range writes an empty string and reports Id::Invalid. | |
| Id | Find (const char *name) noexcept |
| Finds a scale by exact canonical name or alias; returns Id::Invalid when nothing matches. | |
| Scale | Make (NoteName root, Id id) noexcept |
| Spells catalog entry id from root. | |
Reviewed catalog of named scales stored in program memory.
Every entry is read from flash on AVR through Foundation::Utils::Flash (SPEC-EMB-5); identifiers are stable and never reused (SPEC-SCL-4).