let majorPentatonicModes: Mode[] = [
{ name: 'Major Pentatonic', index: 0 },
{ name: 'Egyptian', index: 2 },
{ name: 'Blues Minor', index: 4 },
{ name: 'Blues Major', index: 7 },
{ name: 'Minor Pentatonic', index: 9 },
];
let hirajoshiModes: Mode[] = [
{ name: 'Hirajoshi', index: 0 },
{ name: 'Iwato', index: 6 },
{ name: 'In', index: 11 },
];
let majorHexatonicModes: Mode[] = [
{ name: 'Major Hexatonic', index: 0 },
{ name: 'Minor Hexatonic', index: 2 },
];
let diatonicModes: Mode[] = [
{ name: 'Major / Ionian', index: 0 },
{ name: 'Dorian', index: 2 },
{ name: 'Phrygian', index: 4 },
{ name: 'Lydian', index: 5 },
{ name: 'Mixolydian', index: 7 },
{ name: 'N Minor / Aeolian', index: 9 },
{ name: 'Locrian', index: 11 },
];
let doubleHarmonicMajorModes: Mode[] = [
{ name: 'Double Harmonic Major', index: 0 },
{ name: 'Lydian ♯2 ♯6', index: 1 },
{ name: 'Ultraphrygian', index: 4 },
{ name: 'Hungarian / Gypsy Minor', index: 5 },
{ name: 'Oriental', index: 7 },
{ name: 'Ionian ♯2 ♯5', index: 8 },
{ name: 'Locrian ♭♭3 ♭♭7', index: 11 },
];
let harmonicMajorModes: Mode[] = [
{ name: 'Harmonic Major', index: 0 },
{ name: 'Dorian ♭5', index: 2 },
{ name: 'Phrygian ♭4', index: 4 },
{ name: 'Lydian ♭3', index: 5 },
{ name: 'Mixolydian ♭2', index: 7 },
{ name: 'Lydian Augmented #2', index: 8 },
{ name: 'Locrian ♭♭7', index: 11 },
];
let harmonicMinorModes: Mode[] = [
{ name: 'Harmonic Minor', index: 0 },
{ name: 'Locrian ♯6', index: 2 },
{ name: 'Ionian ♯5', index: 3 },
{ name: 'Dorian ♯4', index: 5 },
{ name: 'Phrygian Dominant', index: 7 },
{ name: 'Lydian ♯2', index: 8 },
{ name: 'Superlocrian', index: 11 },
];
let ascendingMelodicMinorModes: Mode[] = [
{ name: 'Ascending Melodic Minor', index: 0 },
{ name: 'Assyrian', index: 2 },
{ name: 'Lydian Augmented', index: 3 },
{ name: 'Lydian Dominant', index: 5 },
{ name: 'Mixolydian ♭6', index: 7 },
{ name: 'Locrian ♮2', index: 9 },
{ name: 'Altered scale', index: 11 },
];
let diminishedModes: Mode[] = [
{ name: 'Whole Half Diminished', index: 0 },
{ name: 'Half Whole Diminished', index: 2 },
];
let majorBebopModes: Mode[] = [
{ name: 'Major Bebop', index: 0 },
{ name: 'Harmonic Minor Bebop', index: 9 },
];
let dominantBebopModes: Mode[] = [
{ name: 'Dominant Bebop', index: 0 },
{ name: 'Locrian Bebop', index: 4 },
{ name: 'Dorian Bebop', index: 7 },
];
export let scaleFamily: ScaleFamily[] = [
{ name: "Major Pentatonic", intervals: new mod.Mod([true, false, true, false, true, false, false, true, false, true, false, false]), modes: majorPentatonicModes, defaultModeIndex: 0 },
{ name: "Hirajoshi", intervals: new mod.Mod([true, false, false, false, true, false, true, true, false, false, false, true]), modes: hirajoshiModes, defaultModeIndex: 0 },
{ name: "Major Hexatonic", intervals: new mod.Mod([true, false, true, false, true, true, false, true, false, true, false, false]), modes: majorHexatonicModes, defaultModeIndex: 0 },
{ name: "Augmented", intervals: new mod.Mod([true, false, false, true, true, false, false, true, true, false, false, true]), modes: [{ name: 'Augmented', index: 0}], defaultModeIndex: 0 },
{ name: "Blues", intervals: new mod.Mod([true, false, false, true, false, true, true, true, false, false, true, false]), modes: [{ name: 'Blues', index: 0}], defaultModeIndex: 0 },
{ name: "Prometheus", intervals: new mod.Mod([true, false, true, false, true, false, true, false, false, true, true, false]), modes: [{ name: 'Prometheus', index: 0}], defaultModeIndex: 0 },
{ name: "TriTone", intervals: new mod.Mod([true, true, false, false, true, false, true, true, false, false, true, false]), modes: [{ name: 'TriTone', index: 0}], defaultModeIndex: 0 },
{ name: "Whole Tone", intervals: new mod.Mod([true, false, true, false, true, false, true, false, true, false, true, false]), modes: [{ name: 'Whole Tone', index: 0}], defaultModeIndex: 0 },
{ name: "Diatonic", intervals: new mod.Mod([true, false, true, false, true, true, false, true, false, true, false, true]), modes: diatonicModes, defaultModeIndex: 0 },
{ name: "Double Harmonic Major", intervals: new mod.Mod([true, true, false, false, true, true, false, true, true, false, false, true]), modes: doubleHarmonicMajorModes, defaultModeIndex: 0 },
{ name: "Harmonic Major", intervals: new mod.Mod([true, false, true, false, true, true, false, true, true, false, false, true]), modes: harmonicMajorModes, defaultModeIndex: 0 },
{ name: "Harmonic Minor", intervals: new mod.Mod([true, false, true, true, false, true, false, true, true, false, false, true]), modes: harmonicMinorModes, defaultModeIndex: 0 },
{ name: "Ascending Melodic Minor", intervals: new mod.Mod([true, false, true, true, false, true, false, true, false, true, false, true]), modes: ascendingMelodicMinorModes, defaultModeIndex: 0 },
{ name: "Diminished", intervals: new mod.Mod([true, false, true, true, false, true, true, false, true, true, false, true]), modes: diminishedModes, defaultModeIndex: 0 },
{ name: "Major Bebop", intervals: new mod.Mod([true, false, true, false, true, true, false, true, true, true, false, true]), modes: majorBebopModes, defaultModeIndex: 0 },
{ name: "Dominant Bebop", intervals: new mod.Mod([true, false, true, false, true, true, false, true, false, true, true, true]), modes: dominantBebopModes, defaultModeIndex: 0 },
{ name: "Melodic Minor Bebop", intervals: new mod.Mod([true, false, true, true, false, true, false, true, true, true, false, true]), modes: [{ name: 'Melodic Minor Bebop', index: 0}], defaultModeIndex: 0 },
{ name: "Phrygian Dominant Bebop", intervals: new mod.Mod([true, true, false, false, true, true, false, true, true, false, true, true]), modes: [{ name: 'Phrygian Dominant Bebop', index: 0}], defaultModeIndex: 0 },
];