// half step is 1, whole step is 2

static const Scale scale[NUMBER_OF_TOTAL_SCALES] = {

  { .scale_name = "Chromatic", .scale_increments = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 } },

  { .scale_name = "Major", .scale_increments = { 2, 2, 1, 2, 2, 2, 1 } },      // major scale (ionian, bilawal)

  { .scale_name = "m Natural", .scale_increments = { 2, 1, 2, 2, 1, 2, 2 } },  // natural minor (aeolian, asavari)

  { .scale_name = "m Harmonic", .scale_increments = { 2, 1, 2, 2, 1, 3, 1 } }, // harmonic minor

  { .scale_name = "m Melodic", .scale_increments = { 2, 1, 2, 2, 2, 2, 1 } },  // melodic minor

  { .scale_name = "M Harmonic", .scale_increments = { 2, 2, 1, 2, 1, 3, 1 } }, // harmonic major

  { .scale_name = "Dorian", .scale_increments = { 2, 1, 2, 2, 2, 1, 2 } },     // dorian (kafi)

  { .scale_name = "Phyrigian", .scale_increments = { 1, 2, 2, 2, 1, 2, 2 } },  // phrygian (bhairavi)

  { .scale_name = "Lydian", .scale_increments = { 2, 2, 2, 1, 2, 2, 1 } },     // lydian (kalyan)

  { .scale_name = "Mixolydian", .scale_increments = { 2, 2, 1, 2, 2, 1, 2 } }, // mixolydian (khamaj, adonai malakh)

  { .scale_name = "Locrian", .scale_increments = { 1, 2, 2, 1, 2, 2, 2 } },    // locrian

  { .scale_name = "M Locrian", .scale_increments = { 2, 2, 1, 1, 2, 2, 2 } },  // major locrian

  { .scale_name = "Ahava Raba", .scale_increments = { 1, 3, 1, 2, 1, 2, 2 } }, // Ahava Raba (phrygian dominant)

  { .scale_name = "Akebono", .scale_increments = { 2, 1, 4, 1, 4, 2, 1 } },    // akebono

  { .scale_name = "Bhairav", .scale_increments = { 1, 3, 1, 2, 1, 3, 1 } },    // Double Harmonic Major (Bhairav, flamenco)

  { .scale_name = "Marwa", .scale_increments = { 1, 3, 2, 1, 2, 2, 1 } },      // Marwa

  { .scale_name = "Purvi", .scale_increments = { 1, 3, 2, 1, 1, 3, 1 } },      // Purvi

  { .scale_name = "Todi", .scale_increments = { 1, 2, 3, 1, 1, 3, 1 } },       // Todi

  { .scale_name = "Pelog", .scale_increments = { 1, 2, 3, 1, 1, 2, 2 } },      // pelog.

  { .scale_name = "Ukrainian", .scale_increments = { 2, 1, 3, 1, 2, 1, 2 } },  // Ukrainian Dorian

  { .scale_name = "Romani", .scale_increments = { 2, 1, 3, 1, 1, 2, 2 } },     // Romani (gypsy scale)

  { .scale_name = "MHungarian", .scale_increments = { 3, 1, 2, 1, 2, 1, 2 } }, // Hungarian major

  { .scale_name = "mHungarian", .scale_increments = { 2, 1, 3, 1, 1, 3, 1 } }, // Hungarian minor

  { .scale_name = "Persian", .scale_increments = { 1, 3, 1, 1, 2, 3, 1 } },    // Persian

  { .scale_name = "M Neapol", .scale_increments = { 1, 2, 2, 2, 2, 2, 1 } },   // Neapolitan major

  { .scale_name = "m Neapol", .scale_increments = { 1, 2, 2, 2, 1, 3, 1 } },   // Neapolitan minor

  { .scale_name = "H Dim", .scale_increments = { 2, 1, 2, 1, 2, 2, 2 } },      // Half Diminished

  { .scale_name = "W-H Dim", .scale_increments = { 2, 1, 2, 1, 2, 1, 2, 1 } }, // Whole-Half Diminished

  { .scale_name = "H-W Dim", .scale_increments = { 1, 2, 1, 2, 1, 2, 1, 2 } }, // Half-Whole Diminished

  { .scale_name = "Istrian", .scale_increments = { 1, 2, 1, 2, 1, 5 } },       // Istrian

  { .scale_name = "Prometheus", .scale_increments = { 2, 2, 2, 3, 1, 2 } },    // Prometheus

  { .scale_name = "Harmonics", .scale_increments = { 3, 1, 1, 2, 2, 3 } },     // Harmonics

  { .scale_name = "Tritone", .scale_increments = { 1, 3, 2, 1, 3, 2 } },       // Tritone

  { .scale_name = "2semi Tri", .scale_increments = { 1, 1, 4, 1, 1, 4 } },     // two-semitone Tritone

  { .scale_name = "Wholetone", .scale_increments = { 2, 2, 2, 2, 2, 2 } },     // Wholetone

  { .scale_name = "M Penta", .scale_increments = { 2, 2, 3, 2, 3 } },          // major pentatonic

  { .scale_name = "m Penta", .scale_increments = { 3, 2, 2, 3, 2 } },          // minor pentatonic (Yo)

  { .scale_name = "Hirajoshi1", .scale_increments = { 4, 2, 1, 4, 1 } },       // Hirajoshi 1

  { .scale_name = "Hirajoshi2", .scale_increments = { 1, 4, 2, 1, 4 } },       // Hirajoshi 2 (In)

  { .scale_name = "Hirajoshi3", .scale_increments = { 4, 1, 4, 2, 1 } },       // Hirajoshi 3

  { .scale_name = "Hirajoshi4", .scale_increments = { 1, 4, 1, 4, 2 } },       // Hirajoshi 4 (Iwato)

  { .scale_name = "Hirajoshi5", .scale_increments = { 2, 1, 4, 1, 4 } },       // Hirajoshi 5

  { .scale_name = "Insen", .scale_increments = { 1, 4, 2, 3, 2 } },            // Insen

  { .scale_name = "Fourth", .scale_increments = { 5, 7 } },                    // fourth

  { .scale_name = "Dim Fifth", .scale_increments = { 6, 6 } },                 // diminished fifth

  { .scale_name = "P Fifth", .scale_increments = { 7, 5 } },                   // perfect fifth

  { .scale_name = "Aug Fifth", .scale_increments = { 8, 4 } },                 // augmented fifth

  { .scale_name = "Octave", .scale_increments = { 12 } }                       // octave