#[non_exhaustive]pub enum ScaleType {
Show 20 variants
Major,
Minor,
Dorian,
Phrygian,
Lydian,
Mixolydian,
Locrian,
Hypodorian,
Hypophrygian,
Hypolydian,
Hypomixolydian,
Hypolocrian,
Hypoaeolian,
HarmonicMinor,
MelodicMinor,
Chromatic,
WholeTone,
Octatonic,
RagAsawari,
RagMarwa,
}Expand description
A named scale from music21’s scale module.
Ordered as music21 defines them: the seven church modes, their plagal counterparts, the altered minors, then the symmetrical and non-Western scales.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Major
Major (Ionian).
Minor
Natural minor (Aeolian).
Dorian
Dorian mode.
Phrygian
Phrygian mode.
Lydian
Lydian mode.
Mixolydian
Mixolydian mode.
Locrian
Locrian mode.
Hypodorian
Hypodorian mode. Shares Dorian’s pitches; the ambitus differs.
Hypophrygian
Hypophrygian mode. Shares Phrygian’s pitches.
Hypolydian
Hypolydian mode. Shares Lydian’s pitches.
Hypomixolydian
Hypomixolydian mode. Shares Mixolydian’s pitches.
Hypolocrian
Hypolocrian mode. Shares Locrian’s pitches.
Hypoaeolian
Hypoaeolian mode. Shares natural minor’s pitches.
HarmonicMinor
Harmonic minor, with a raised seventh.
MelodicMinor
Ascending melodic minor.
Chromatic
Twelve-tone chromatic scale.
WholeTone
Six-tone whole-tone scale.
Octatonic
Eight-tone octatonic scale, alternating tone and semitone.
RagAsawari
Rag Asawari, as a five-tone ascending scale.
RagMarwa
Rag Marwa, as a seven-step ascending scale.
Not monotonic: music21’s ascending network dips back down a major second from the sixth degree before rising a minor third to the octave, so the realized pitches repeat a note and briefly descend.
Implementations§
Trait Implementations§
impl Copy for ScaleType
impl Eq for ScaleType
impl StructuralPartialEq for ScaleType
Auto Trait Implementations§
impl Freeze for ScaleType
impl RefUnwindSafe for ScaleType
impl Send for ScaleType
impl Sync for ScaleType
impl Unpin for ScaleType
impl UnsafeUnpin for ScaleType
impl UnwindSafe for ScaleType
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more