Zrythm
a highly automated and intuitive digital audio workstation
|
Musical scales. More...
Go to the source code of this file.
Data Structures | |
struct | MusicalScale |
Musical scale descriptor. More... | |
Macros | |
#define | SCALE_SCHEMA_VERSION 2 |
Enumerations | |
enum class | MusicalScaleType { MusicalScaleType::SCALE_CHROMATIC , SCALE_MAJOR , MusicalScaleType::SCALE_MINOR , MusicalScaleType::SCALE_IONIAN , SCALE_DORIAN , SCALE_PHRYGIAN , SCALE_LYDIAN , SCALE_MIXOLYDIAN , MusicalScaleType::SCALE_AEOLIAN , SCALE_LOCRIAN , SCALE_MELODIC_MINOR , SCALE_HARMONIC_MINOR , SCALE_WHOLE_TONE , SCALE_MAJOR_PENTATONIC , SCALE_MINOR_PENTATONIC , SCALE_OCTATONIC_HALF_WHOLE , SCALE_OCTATONIC_WHOLE_HALF , MusicalScaleType::SCALE_ACOUSTIC , SCALE_HARMONIC_MAJOR , SCALE_PHRYGIAN_DOMINANT , SCALE_MAJOR_LOCRIAN , SCALE_ALGERIAN , SCALE_AUGMENTED , SCALE_DOUBLE_HARMONIC , SCALE_CHINESE , SCALE_DIMINISHED , SCALE_DOMINANT_DIMINISHED , SCALE_EGYPTIAN , SCALE_EIGHT_TONE_SPANISH , SCALE_ENIGMATIC , SCALE_GEEZ , SCALE_HINDU , SCALE_HIRAJOSHI , SCALE_HUNGARIAN_GYPSY , SCALE_INSEN , SCALE_NEAPOLITAN_MAJOR , SCALE_NEAPOLITAN_MINOR , SCALE_ORIENTAL , SCALE_ROMANIAN_MINOR , SCALE_ALTERED , SCALE_MAQAM , SCALE_YO , SCALE_BEBOP_LOCRIAN , SCALE_BEBOP_DOMINANT , SCALE_BEBOP_MAJOR , SCALE_SUPER_LOCRIAN , SCALE_ENIGMATIC_MINOR , SCALE_COMPOSITE , SCALE_BHAIRAV , SCALE_HUNGARIAN_MINOR , SCALE_PERSIAN , SCALE_IWATO , SCALE_KUMOI , SCALE_PELOG , SCALE_PROMETHEUS , SCALE_PROMETHEUS_NEAPOLITAN , SCALE_PROMETHEUS_LISZT , SCALE_BALINESE , SCALE_RAGATODI , SCALE_JAPANESE1 , SCALE_JAPANESE2 , SCALE_BLUES , SCALE_FLAMENCO , SCALE_GYPSY , SCALE_HALF_DIMINISHED , SCALE_IN , SCALE_ISTRIAN , SCALE_LYDIAN_AUGMENTED , SCALE_TRITONE , SCALE_UKRANIAN_DORIAN } |
Scale type (name) eg Aeolian. More... | |
Functions | |
MusicalScale * | musical_scale_new (MusicalScaleType type, MusicalNote root) |
Creates new scale using type and root note. | |
const bool * | musical_scale_get_notes (MusicalScaleType scale_type, bool ascending) |
Returns the notes in the given scale. | |
RETURNS_NONNULL const ChordType * | musical_scale_get_triad_types (MusicalScaleType scale_type, bool ascending) |
Returns the triads in the given scale. | |
MusicalScale * | musical_scale_clone (MusicalScale *src) |
Clones the scale. | |
const char * | musical_scale_type_to_string (const MusicalScaleType type) |
char * | musical_scale_to_string (const MusicalScale *const self) |
Prints the MusicalScale to a string. | |
void | musical_scale_strcpy (MusicalScale *scale, char *buf) |
Same as above but uses a buffer instead of allocating. | |
bool | musical_scale_contains_chord (const MusicalScale *const scale, const ChordDescriptor *const chord) |
Returns if all of the chord's notes are in the scale. | |
int | musical_scale_is_accent_in_scale (MusicalScale *scale, MusicalNote chord_root, ChordType type, ChordAccent chord_accent) |
Returns if the accent is in the scale. | |
bool | musical_scale_contains_note (const MusicalScale *scale, MusicalNote note) |
Returns if the given key is in the given MusicalScale. | |
char * | musical_scale_as_string (MusicalScale *scale) |
Returns the scale in human readable string. | |
void | musical_scale_free (MusicalScale *scale) |
Frees the MusicalScale. | |