Features v.0.2:
- scales
- major, melodic minor, harmonic major, harmonic minor, double harmonic, bebop, blues, symmetric scale families
- time signatures
- common, dotted, rational tuplets
- instruments
- unfinished instruments support
- scales
- major, melodic minor, harmonic major, harmonic minor, double harmonic, bebop, blues, symmetric scale families
- time signatures
- common, dotted, rational tuplets
- instruments
- unfinished instruments support
Code:
// ==UserScript==
// @name OSEnhanced
// @namespace http://tampermonkey.net/
// @version 0.2
// @description try to take over the world!
// @author You
// @match https://onlinesequencer.net
// @match https://onlinesequencer.net/*
// @grant none
// ==/UserScript==
(function() {
$( document ).ready(function() {
loadOS( 1, 10 );
});
function loadOS( attempt, maxAttempts ) {
var thirdPartyLoaded = false;
try {
if ( instrumentSelect == undefined || settings == undefined || grid_select == undefined || keySelect == undefined ) {
thirdPartyLoaded = false;
} else {
thirdPartyLoaded = true;
}
} catch (err) {
thirdPartyLoaded = false;
}
if ( !thirdPartyLoaded ) {
if ( attempt < maxAttempts ) {
console.log("awaiting OS to be loaded: attempt #" + attempt);
setTimeout(function() {
loadOS( attempt + 1, maxAttempts );
}, 1000);
} else {
console.log("loading OS timed out at max attempt #" + maxAttempts);
}
} else {
loadInstruments();
loadTimeSignatures();
loadScales();
}
}
function loadScales() {
settings.scaleNames = ["No Key Guide", "C Acoustic", "C Aeolian", "C Aeolian flat 1", "C Aeolian Harmonic", "C Altered Dorian", "C Augmented Inverse", "C Diminished", "C Dorian", "C Dorian flat 5", "C Harmonic Major", "C Harmonic Minor", "C Harmonic Minor inverse", "C Ionian Augmented", "C Locrian", "C Locrian Double-flat 7", "C Locrian natural 6", "C Lydian", "C Lydian Augmented", "C Lydian Diminished", "C Major", "C Major Augmented", "C Major-Minor", "C Makam Huzzam", "C Mela Natakapriya", "C Melodic Minor ascending", "C Minor Locrian", "C Mixolydian", "C Octatonic", "C Phrygian", "C Phrygian Dominant", "C Superlocrian", "C Ultralocrian", "C Whole-tone", "C Double Harmonic", "C Lydian Sharp 2 Sharp 6", "C Ultraphrygian", "C Double Harmonic Minor", "C Asian", "C Ionian Augmented Sharp 2", "C Locrian Double-flat 3 Double-flat 7", "C Minor Pentatonic", "C Major Pentatonic", "C Minor Bebop", "C Major Bebop", "C Dominant Bebop", "C Blues scale", "C Blues scale II", "C# Acoustic", "C# Aeolian", "C# Aeolian flat 1", "C# Aeolian Harmonic", "C# Altered Dorian", "C# Augmented Inverse", "C# Diminished", "C# Dorian", "C# Dorian flat 5", "C# Harmonic Major", "C# Harmonic Minor", "C# Harmonic Minor inverse", "C# Ionian Augmented", "C# Locrian", "C# Locrian Double-flat 7", "C# Locrian natural 6", "C# Lydian", "C# Lydian Augmented", "C# Lydian Diminished", "C# Major", "C# Major Augmented", "C# Major-Minor", "C# Makam Huzzam", "C# Mela Natakapriya", "C# Melodic Minor ascending", "C# Minor Locrian", "C# Mixolydian", "C# Octatonic", "C# Phrygian", "C# Phrygian Dominant", "C# Superlocrian", "C# Ultralocrian", "C# Whole-tone", "C# Double Harmonic", "C# Lydian Sharp 2 Sharp 6", "C# Ultraphrygian", "C# Double Harmonic Minor", "C# Asian", "C# Ionian Augmented Sharp 2", "C# Locrian Double-flat 3 Double-flat 7", "C# Minor Pentatonic", "C# Major Pentatonic", "C# Minor Bebop", "C# Major Bebop", "C# Dominant Bebop", "C# Blues scale", "C# Blues scale II", "D Acoustic", "D Aeolian", "D Aeolian flat 1", "D Aeolian Harmonic", "D Altered Dorian", "D Augmented Inverse", "D Diminished", "D Dorian", "D Dorian flat 5", "D Harmonic Major", "D Harmonic Minor", "D Harmonic Minor inverse", "D Ionian Augmented", "D Locrian", "D Locrian Double-flat 7", "D Locrian natural 6", "D Lydian", "D Lydian Augmented", "D Lydian Diminished", "D Major", "D Major Augmented", "D Major-Minor", "D Makam Huzzam", "D Mela Natakapriya", "D Melodic Minor ascending", "D Minor Locrian", "D Mixolydian", "D Octatonic", "D Phrygian", "D Phrygian Dominant", "D Superlocrian", "D Ultralocrian", "D Whole-tone", "D Double Harmonic", "D Lydian Sharp 2 Sharp 6", "D Ultraphrygian", "D Double Harmonic Minor", "D Asian", "D Ionian Augmented Sharp 2", "D Locrian Double-flat 3 Double-flat 7", "D Minor Pentatonic", "D Major Pentatonic", "D Minor Bebop", "D Major Bebop", "D Dominant Bebop", "D Blues scale", "D Blues scale II", "D# Acoustic", "D# Aeolian", "D# Aeolian flat 1", "D# Aeolian Harmonic", "D# Altered Dorian", "D# Augmented Inverse", "D# Diminished", "D# Dorian", "D# Dorian flat 5", "D# Harmonic Major", "D# Harmonic Minor", "D# Harmonic Minor inverse", "D# Ionian Augmented", "D# Locrian", "D# Locrian Double-flat 7", "D# Locrian natural 6", "D# Lydian", "D# Lydian Augmented", "D# Lydian Diminished", "D# Major", "D# Major Augmented", "D# Major-Minor", "D# Makam Huzzam", "D# Mela Natakapriya", "D# Melodic Minor ascending", "D# Minor Locrian", "D# Mixolydian", "D# Octatonic", "D# Phrygian", "D# Phrygian Dominant", "D# Superlocrian", "D# Ultralocrian", "D# Whole-tone", "D# Double Harmonic", "D# Lydian Sharp 2 Sharp 6", "D# Ultraphrygian", "D# Double Harmonic Minor", "D# Asian", "D# Ionian Augmented Sharp 2", "D# Locrian Double-flat 3 Double-flat 7", "D# Minor Pentatonic", "D# Major Pentatonic", "D# Minor Bebop", "D# Major Bebop", "D# Dominant Bebop", "D# Blues scale", "D# Blues scale II", "E Acoustic", "E Aeolian", "E Aeolian flat 1", "E Aeolian Harmonic", "E Altered Dorian", "E Augmented Inverse", "E Diminished", "E Dorian", "E Dorian flat 5", "E Harmonic Major", "E Harmonic Minor", "E Harmonic Minor inverse", "E Ionian Augmented", "E Locrian", "E Locrian Double-flat 7", "E Locrian natural 6", "E Lydian", "E Lydian Augmented", "E Lydian Diminished", "E Major", "E Major Augmented", "E Major-Minor", "E Makam Huzzam", "E Mela Natakapriya", "E Melodic Minor ascending", "E Minor Locrian", "E Mixolydian", "E Octatonic", "E Phrygian", "E Phrygian Dominant", "E Superlocrian", "E Ultralocrian", "E Whole-tone", "E Double Harmonic", "E Lydian Sharp 2 Sharp 6", "E Ultraphrygian", "E Double Harmonic Minor", "E Asian", "E Ionian Augmented Sharp 2", "E Locrian Double-flat 3 Double-flat 7", "E Minor Pentatonic", "E Major Pentatonic", "E Minor Bebop", "E Major Bebop", "E Dominant Bebop", "E Blues scale", "E Blues scale II", "F Acoustic", "F Aeolian", "F Aeolian flat 1", "F Aeolian Harmonic", "F Altered Dorian", "F Augmented Inverse", "F Diminished", "F Dorian", "F Dorian flat 5", "F Harmonic Major", "F Harmonic Minor", "F Harmonic Minor inverse", "F Ionian Augmented", "F Locrian", "F Locrian Double-flat 7", "F Locrian natural 6", "F Lydian", "F Lydian Augmented", "F Lydian Diminished", "F Major", "F Major Augmented", "F Major-Minor", "F Makam Huzzam", "F Mela Natakapriya", "F Melodic Minor ascending", "F Minor Locrian", "F Mixolydian", "F Octatonic", "F Phrygian", "F Phrygian Dominant", "F Superlocrian", "F Ultralocrian", "F Whole-tone", "F Double Harmonic", "F Lydian Sharp 2 Sharp 6", "F Ultraphrygian", "F Double Harmonic Minor", "F Asian", "F Ionian Augmented Sharp 2", "F Locrian Double-flat 3 Double-flat 7", "F Minor Pentatonic", "F Major Pentatonic", "F Minor Bebop", "F Major Bebop", "F Dominant Bebop", "F Blues scale", "F Blues scale II", "F# Acoustic", "F# Aeolian", "F# Aeolian flat 1", "F# Aeolian Harmonic", "F# Altered Dorian", "F# Augmented Inverse", "F# Diminished", "F# Dorian", "F# Dorian flat 5", "F# Harmonic Major", "F# Harmonic Minor", "F# Harmonic Minor inverse", "F# Ionian Augmented", "F# Locrian", "F# Locrian Double-flat 7", "F# Locrian natural 6", "F# Lydian", "F# Lydian Augmented", "F# Lydian Diminished", "F# Major", "F# Major Augmented", "F# Major-Minor", "F# Makam Huzzam", "F# Mela Natakapriya", "F# Melodic Minor ascending", "F# Minor Locrian", "F# Mixolydian", "F# Octatonic", "F# Phrygian", "F# Phrygian Dominant", "F# Superlocrian", "F# Ultralocrian", "F# Whole-tone", "F# Double Harmonic", "F# Lydian Sharp 2 Sharp 6", "F# Ultraphrygian", "F# Double Harmonic Minor", "F# Asian", "F# Ionian Augmented Sharp 2", "F# Locrian Double-flat 3 Double-flat 7", "F# Minor Pentatonic", "F# Major Pentatonic", "F# Minor Bebop", "F# Major Bebop", "F# Dominant Bebop", "F# Blues scale", "F# Blues scale II", "G Acoustic", "G Aeolian", "G Aeolian flat 1", "G Aeolian Harmonic", "G Altered Dorian", "G Augmented Inverse", "G Diminished", "G Dorian", "G Dorian flat 5", "G Harmonic Major", "G Harmonic Minor", "G Harmonic Minor inverse", "G Ionian Augmented", "G Locrian", "G Locrian Double-flat 7", "G Locrian natural 6", "G Lydian", "G Lydian Augmented", "G Lydian Diminished", "G Major", "G Major Augmented", "G Major-Minor", "G Makam Huzzam", "G Mela Natakapriya", "G Melodic Minor ascending", "G Minor Locrian", "G Mixolydian", "G Octatonic", "G Phrygian", "G Phrygian Dominant", "G Superlocrian", "G Ultralocrian", "G Whole-tone", "G Double Harmonic", "G Lydian Sharp 2 Sharp 6", "G Ultraphrygian", "G Double Harmonic Minor", "G Asian", "G Ionian Augmented Sharp 2", "G Locrian Double-flat 3 Double-flat 7", "G Minor Pentatonic", "G Major Pentatonic", "G Minor Bebop", "G Major Bebop", "G Dominant Bebop", "G Blues scale", "G Blues scale II", "G# Acoustic", "G# Aeolian", "G# Aeolian flat 1", "G# Aeolian Harmonic", "G# Altered Dorian", "G# Augmented Inverse", "G# Diminished", "G# Dorian", "G# Dorian flat 5", "G# Harmonic Major", "G# Harmonic Minor", "G# Harmonic Minor inverse", "G# Ionian Augmented", "G# Locrian", "G# Locrian Double-flat 7", "G# Locrian natural 6", "G# Lydian", "G# Lydian Augmented", "G# Lydian Diminished", "G# Major", "G# Major Augmented", "G# Major-Minor", "G# Makam Huzzam", "G# Mela Natakapriya", "G# Melodic Minor ascending", "G# Minor Locrian", "G# Mixolydian", "G# Octatonic", "G# Phrygian", "G# Phrygian Dominant", "G# Superlocrian", "G# Ultralocrian", "G# Whole-tone", "G# Double Harmonic", "G# Lydian Sharp 2 Sharp 6", "G# Ultraphrygian", "G# Double Harmonic Minor", "G# Asian", "G# Ionian Augmented Sharp 2", "G# Locrian Double-flat 3 Double-flat 7", "G# Minor Pentatonic", "G# Major Pentatonic", "G# Minor Bebop", "G# Major Bebop", "G# Dominant Bebop", "G# Blues scale", "G# Blues scale II", "A Acoustic", "A Aeolian", "A Aeolian flat 1", "A Aeolian Harmonic", "A Altered Dorian", "A Augmented Inverse", "A Diminished", "A Dorian", "A Dorian flat 5", "A Harmonic Major", "A Harmonic Minor", "A Harmonic Minor inverse", "A Ionian Augmented", "A Locrian", "A Locrian Double-flat 7", "A Locrian natural 6", "A Lydian", "A Lydian Augmented", "A Lydian Diminished", "A Major", "A Major Augmented", "A Major-Minor", "A Makam Huzzam", "A Mela Natakapriya", "A Melodic Minor ascending", "A Minor Locrian", "A Mixolydian", "A Octatonic", "A Phrygian", "A Phrygian Dominant", "A Superlocrian", "A Ultralocrian", "A Whole-tone", "A Double Harmonic", "A Lydian Sharp 2 Sharp 6", "A Ultraphrygian", "A Double Harmonic Minor", "A Asian", "A Ionian Augmented Sharp 2", "A Locrian Double-flat 3 Double-flat 7", "A Minor Pentatonic", "A Major Pentatonic", "A Minor Bebop", "A Major Bebop", "A Dominant Bebop", "A Blues scale", "A Blues scale II", "A# Acoustic", "A# Aeolian", "A# Aeolian flat 1", "A# Aeolian Harmonic", "A# Altered Dorian", "A# Augmented Inverse", "A# Diminished", "A# Dorian", "A# Dorian flat 5", "A# Harmonic Major", "A# Harmonic Minor", "A# Harmonic Minor inverse", "A# Ionian Augmented", "A# Locrian", "A# Locrian Double-flat 7", "A# Locrian natural 6", "A# Lydian", "A# Lydian Augmented", "A# Lydian Diminished", "A# Major", "A# Major Augmented", "A# Major-Minor", "A# Makam Huzzam", "A# Mela Natakapriya", "A# Melodic Minor ascending", "A# Minor Locrian", "A# Mixolydian", "A# Octatonic", "A# Phrygian", "A# Phrygian Dominant", "A# Superlocrian", "A# Ultralocrian", "A# Whole-tone", "A# Double Harmonic", "A# Lydian Sharp 2 Sharp 6", "A# Ultraphrygian", "A# Double Harmonic Minor", "A# Asian", "A# Ionian Augmented Sharp 2", "A# Locrian Double-flat 3 Double-flat 7", "A# Minor Pentatonic", "A# Major Pentatonic", "A# Minor Bebop", "A# Major Bebop", "A# Dominant Bebop", "A# Blues scale", "A# Blues scale II", "B Acoustic", "B Aeolian", "B Aeolian flat 1", "B Aeolian Harmonic", "B Altered Dorian", "B Augmented Inverse", "B Diminished", "B Dorian", "B Dorian flat 5", "B Harmonic Major", "B Harmonic Minor", "B Harmonic Minor inverse", "B Ionian Augmented", "B Locrian", "B Locrian Double-flat 7", "B Locrian natural 6", "B Lydian", "B Lydian Augmented", "B Lydian Diminished", "B Major", "B Major Augmented", "B Major-Minor", "B Makam Huzzam", "B Mela Natakapriya", "B Melodic Minor ascending", "B Minor Locrian", "B Mixolydian", "B Octatonic", "B Phrygian", "B Phrygian Dominant", "B Superlocrian", "B Ultralocrian", "B Whole-tone", "B Double Harmonic", "B Lydian Sharp 2 Sharp 6", "B Ultraphrygian", "B Double Harmonic Minor", "B Asian", "B Ionian Augmented Sharp 2", "B Locrian Double-flat 3 Double-flat 7", "B Minor Pentatonic", "B Major Pentatonic", "B Minor Bebop", "B Major Bebop", "B Dominant Bebop", "B Blues scale", "B Blues scale II"];
settings.scales = [[], ["C", "D", "E", "F#", "G", "A", "A#"], ["C", "D", "D#", "F", "G", "G#", "A#"], ["C", "D#", "E", "F#", "G#", "A", "B"], ["C", "D#", "E", "F#", "G", "A", "B"], ["C", "D", "D#", "F#", "G", "A", "A#"], ["C", "C#", "E", "F", "G#", "A"], ["C", "D", "D#", "F", "F#", "G#", "A", "B"], ["C", "D", "D#", "F", "G", "A", "A#"], ["C", "D", "D#", "F", "F#", "A", "A#"], ["C", "D", "E", "F", "G", "G#", "B"], ["C", "D", "D#", "F", "G", "G#", "B"], ["C", "C#", "E", "F", "G", "A", "A#"], ["C", "D", "E", "F", "G#", "A", "B"], ["C", "C#", "D#", "F", "F#", "G#", "A#"], ["C", "C#", "D#", "F", "F#", "G#", "A"], ["C", "C#", "D#", "F", "F#", "A", "A#"], ["C", "D", "E", "F#", "G", "A", "B"], ["C", "D", "E", "F#", "G#", "A", "B"], ["C", "D", "D#", "F#", "G", "A", "B"], ["C", "D", "E", "F", "G", "A", "B"], ["C", "D#", "E", "G", "G#", "B"], ["C", "D", "E", "F", "G", "G#", "A#"], ["C", "C#", "D#", "E", "G", "G#", "A#"], ["C", "C#", "D#", "F", "G", "A", "A#"], ["C", "D", "D#", "F", "G", "A", "B"], ["C", "D", "D#", "F", "F#", "G#", "A#"], ["C", "D", "E", "F", "G", "A", "A#"], ["C", "C#", "D#", "E", "F#", "G", "A", "A#"], ["C", "C#", "D#", "F", "G", "G#", "A#"], ["C", "C#", "E", "F", "G", "G#", "A#"], ["C", "C#", "D#", "E", "F#", "G#", "A#"], ["C", "C#", "D#", "E", "F#", "G#", "A"], ["C", "D", "E", "F#", "G#", "A#"], ["C", "C#", "E", "F", "G", "G#", "B"], ["C", "D#", "E", "F#", "G", "A#", "B"], ["C", "C#", "D#", "E", "G", "G#", "A"], ["C", "D", "D#", "F#", "G", "G#", "B"], ["C", "C#", "E", "F", "F#", "A", "A#"], ["C", "D#", "E", "F", "G#", "A", "B"], ["C", "C#", "D", "F", "F#", "G#", "A"], ["C", "D#", "F", "G", "A#"], ["C", "D", "E", "G", "A"], ["C", "D", "D#", "E", "F", "G", "A", "A#"], ["C", "D", "E", "F", "G", "G#", "A", "B"], ["C", "D", "E", "F", "G", "A", "A#", "B"], ["C", "D#", "F", "F#", "G", "A#"], ["C", "D", "D#", "F", "F#", "G", "A", "A#"], ["C#", "D#", "F", "G", "G#", "A#", "B"], ["C#", "D#", "E", "F#", "G#", "A", "B"], ["C#", "E", "F", "G", "A", "A#", "C"], ["C#", "E", "F", "G", "G#", "A#", "C"], ["C#", "D#", "E", "G", "G#", "A#", "B"], ["C#", "D", "F", "F#", "A", "A#"], ["C#", "D#", "E", "F#", "G", "A", "A#", "C"], ["C#", "D#", "E", "F#", "G#", "A#", "B"], ["C#", "D#", "E", "F#", "G", "A#", "B"], ["C#", "D#", "F", "F#", "G#", "A", "C"], ["C#", "D#", "E", "F#", "G#", "A", "C"], ["C#", "D", "F", "F#", "G#", "A#", "B"], ["C#", "D#", "F", "F#", "A", "A#", "C"], ["C#", "D", "E", "F#", "G", "A", "B"], ["C#", "D", "E", "F#", "G", "A", "A#"], ["C#", "D", "E", "F#", "G", "A#", "B"], ["C#", "D#", "F", "G", "G#", "A#", "C"], ["C#", "D#", "F", "G", "A", "A#", "C"], ["C#", "D#", "E", "G", "G#", "A#", "C"], ["C#", "D#", "F", "F#", "G#", "A#", "C"], ["C#", "E", "F", "G#", "A", "C"], ["C#", "D#", "F", "F#", "G#", "A", "B"], ["C#", "D", "E", "F", "G#", "A", "B"], ["C#", "D", "E", "F#", "G#", "A#", "B"], ["C#", "D#", "E", "F#", "G#", "A#", "C"], ["C#", "D#", "E", "F#", "G", "A", "B"], ["C#", "D#", "F", "F#", "G#", "A#", "B"], ["C#", "D", "E", "F", "G", "G#", "A#", "B"], ["C#", "D", "E", "F#", "G#", "A", "B"], ["C#", "D", "F", "F#", "G#", "A", "B"], ["C#", "D", "E", "F", "G", "A", "B"], ["C#", "D", "E", "F", "G", "A", "A#"], ["C#", "D#", "F", "G", "A", "B"], ["C#", "D", "F", "F#", "G#", "A", "C"], ["C#", "E", "F", "G", "G#", "B", "C"], ["C#", "D", "E", "F", "G#", "A", "A#"], ["C#", "D#", "E", "G", "G#", "A", "C"], ["C#", "D", "F", "F#", "G", "A#", "B"], ["C#", "E", "F", "F#", "A", "A#", "C"], ["C#", "D", "D#", "F#", "G", "A", "A#"], ["C#", "E", "F#", "G#", "B"], ["C#", "D#", "F", "G#", "A#"], ["C#", "D#", "E", "F", "F#", "G#", "A#", "B"], ["C#", "D#", "F", "F#", "G#", "A", "A#", "C"], ["C#", "D#", "F", "F#", "G#", "A#", "B", "C"], ["C#", "E", "F#", "G", "G#", "B"], ["C#", "D#", "E", "F#", "G", "G#", "A#", "B"], ["D", "E", "F#", "G#", "A", "B", "C"], ["D", "E", "F", "G", "A", "A#", "C"], ["D", "F", "F#", "G#", "A#", "B", "C#"], ["D", "F", "F#", "G#", "A", "B", "C#"], ["D", "E", "F", "G#", "A", "B", "C"], ["D", "D#", "F#", "G", "A#", "B"], ["D", "E", "F", "G", "G#", "A#", "B", "C#"], ["D", "E", "F", "G", "A", "B", "C"], ["D", "E", "F", "G", "G#", "B", "C"], ["D", "E", "F#", "G", "A", "A#", "C#"], ["D", "E", "F", "G", "A", "A#", "C#"], ["D", "D#", "F#", "G", "A", "B", "C"], ["D", "E", "F#", "G", "A#", "B", "C#"], ["D", "D#", "F", "G", "G#", "A#", "C"], ["D", "D#", "F", "G", "G#", "A#", "B"], ["D", "D#", "F", "G", "G#", "B", "C"], ["D", "E", "F#", "G#", "A", "B", "C#"], ["D", "E", "F#", "G#", "A#", "B", "C#"], ["D", "E", "F", "G#", "A", "B", "C#"], ["D", "E", "F#", "G", "A", "B", "C#"], ["D", "F", "F#", "A", "A#", "C#"], ["D", "E", "F#", "G", "A", "A#", "C"], ["D", "D#", "F", "F#", "A", "A#", "C"], ["D", "D#", "F", "G", "A", "B", "C"], ["D", "E", "F", "G", "A", "B", "C#"], ["D", "E", "F", "G", "G#", "A#", "C"], ["D", "E", "F#", "G", "A", "B", "C"], ["D", "D#", "F", "F#", "G#", "A", "B", "C"], ["D", "D#", "F", "G", "A", "A#", "C"], ["D", "D#", "F#", "G", "A", "A#", "C"], ["D", "D#", "F", "F#", "G#", "A#", "C"], ["D", "D#", "F", "F#", "G#", "A#", "B"], ["D", "E", "F#", "G#", "A#", "C"], ["D", "D#", "F#", "G", "A", "A#", "C#"], ["D", "F", "F#", "G#", "A", "C", "C#"], ["D", "D#", "F", "F#", "A", "A#", "B"], ["D", "E", "F", "G#", "A", "A#", "C#"], ["D", "D#", "F#", "G", "G#", "B", "C"], ["D", "F", "F#", "G", "A#", "B", "C#"], ["D", "D#", "E", "G", "G#", "A#", "B"], ["D", "F", "G", "A", "C"], ["D", "E", "F#", "A", "B"], ["D", "E", "F", "F#", "G", "A", "B", "C"], ["D", "E", "F#", "G", "A", "A#", "B", "C#"], ["D", "E", "F#", "G", "A", "B", "C", "C#"], ["D", "F", "G", "G#", "A", "C"], ["D", "E", "F", "G", "G#", "A", "B", "C"], ["D#", "F", "G", "A", "A#", "C", "C#"], ["D#", "F", "F#", "G#", "A#", "B", "C#"], ["D#", "F#", "G", "A", "B", "C", "D"], ["D#", "F#", "G", "A", "A#", "C", "D"], ["D#", "F", "F#", "A", "A#", "C", "C#"], ["D#", "E", "G", "G#", "B", "C"], ["D#", "F", "F#", "G#", "A", "B", "C", "D"], ["D#", "F", "F#", "G#", "A#", "C", "C#"], ["D#", "F", "F#", "G#", "A", "C", "C#"], ["D#", "F", "G", "G#", "A#", "B", "D"], ["D#", "F", "F#", "G#", "A#", "B", "D"], ["D#", "E", "G", "G#", "A#", "C", "C#"], ["D#", "F", "G", "G#", "B", "C", "D"], ["D#", "E", "F#", "G#", "A", "B", "C#"], ["D#", "E", "F#", "G#", "A", "B", "C"], ["D#", "E", "F#", "G#", "A", "C", "C#"], ["D#", "F", "G", "A", "A#", "C", "D"], ["D#", "F", "G", "A", "B", "C", "D"], ["D#", "F", "F#", "A", "A#", "C", "D"], ["D#", "F", "G", "G#", "A#", "C", "D"], ["D#", "F#", "G", "A#", "B", "D"], ["D#", "F", "G", "G#", "A#", "B", "C#"], ["D#", "E", "F#", "G", "A#", "B", "C#"], ["D#", "E", "F#", "G#", "A#", "C", "C#"], ["D#", "F", "F#", "G#", "A#", "C", "D"], ["D#", "F", "F#", "G#", "A", "B", "C#"], ["D#", "F", "G", "G#", "A#", "C", "C#"], ["D#", "E", "F#", "G", "A", "A#", "C", "C#"], ["D#", "E", "F#", "G#", "A#", "B", "C#"], ["D#", "E", "G", "G#", "A#", "B", "C#"], ["D#", "E", "F#", "G", "A", "B", "C#"], ["D#", "E", "F#", "G", "A", "B", "C"], ["D#", "F", "G", "A", "B", "C#"], ["D#", "E", "G", "G#", "A#", "B", "D"], ["D#", "F#", "G", "A", "A#", "C#", "D"], ["D#", "E", "F#", "G", "A#", "B", "C"], ["D#", "F", "F#", "A", "A#", "B", "D"], ["D#", "E", "G", "G#", "A", "C", "C#"], ["D#", "F#", "G", "G#", "B", "C", "D"], ["D#", "E", "F", "G#", "A", "B", "C"], ["D#", "F#", "G#", "A#", "C#"], ["D#", "F", "G", "A#", "C"], ["D#", "F", "F#", "G", "G#", "A#", "C", "C#"], ["D#", "F", "G", "G#", "A#", "B", "C", "D"], ["D#", "F", "G", "G#", "A#", "C", "C#", "D"], ["D#", "F#", "G#", "A", "A#", "C#"], ["D#", "F", "F#", "G#", "A", "A#", "C", "C#"], ["E", "F#", "G#", "A#", "B", "C#", "D"], ["E", "F#", "G", "A", "B", "C", "D"], ["E", "G", "G#", "A#", "C", "C#", "D#"], ["E", "G", "G#", "A#", "B", "C#", "D#"], ["E", "F#", "G", "A#", "B", "C#", "D"], ["E", "F", "G#", "A", "C", "C#"], ["E", "F#", "G", "A", "A#", "C", "C#", "D#"], ["E", "F#", "G", "A", "B", "C#", "D"], ["E", "F#", "G", "A", "A#", "C#", "D"], ["E", "F#", "G#", "A", "B", "C", "D#"], ["E", "F#", "G", "A", "B", "C", "D#"], ["E", "F", "G#", "A", "B", "C#", "D"], ["E", "F#", "G#", "A", "C", "C#", "D#"], ["E", "F", "G", "A", "A#", "C", "D"], ["E", "F", "G", "A", "A#", "C", "C#"], ["E", "F", "G", "A", "A#", "C#", "D"], ["E", "F#", "G#", "A#", "B", "C#", "D#"], ["E", "F#", "G#", "A#", "C", "C#", "D#"], ["E", "F#", "G", "A#", "B", "C#", "D#"], ["E", "F#", "G#", "A", "B", "C#", "D#"], ["E", "G", "G#", "B", "C", "D#"], ["E", "F#", "G#", "A", "B", "C", "D"], ["E", "F", "G", "G#", "B", "C", "D"], ["E", "F", "G", "A", "B", "C#", "D"], ["E", "F#", "G", "A", "B", "C#", "D#"], ["E", "F#", "G", "A", "A#", "C", "D"], ["E", "F#", "G#", "A", "B", "C#", "D"], ["E", "F", "G", "G#", "A#", "B", "C#", "D"], ["E", "F", "G", "A", "B", "C", "D"], ["E", "F", "G#", "A", "B", "C", "D"], ["E", "F", "G", "G#", "A#", "C", "D"], ["E", "F", "G", "G#", "A#", "C", "C#"], ["E", "F#", "G#", "A#", "C", "D"], ["E", "F", "G#", "A", "B", "C", "D#"], ["E", "G", "G#", "A#", "B", "D", "D#"], ["E", "F", "G", "G#", "B", "C", "C#"], ["E", "F#", "G", "A#", "B", "C", "D#"], ["E", "F", "G#", "A", "A#", "C#", "D"], ["E", "G", "G#", "A", "C", "C#", "D#"], ["E", "F", "F#", "A", "A#", "C", "C#"], ["E", "G", "A", "B", "D"], ["E", "F#", "G#", "B", "C#"], ["E", "F#", "G", "G#", "A", "B", "C#", "D"], ["E", "F#", "G#", "A", "B", "C", "C#", "D#"], ["E", "F#", "G#", "A", "B", "C#", "D", "D#"], ["E", "G", "A", "A#", "B", "D"], ["E", "F#", "G", "A", "A#", "B", "C#", "D"], ["F", "G", "A", "B", "C", "D", "D#"], ["F", "G", "G#", "A#", "C", "C#", "D#"], ["F", "G#", "A", "B", "C#", "D", "E"], ["F", "G#", "A", "B", "C", "D", "E"], ["F", "G", "G#", "B", "C", "D", "D#"], ["F", "F#", "A", "A#", "C#", "D"], ["F", "G", "G#", "A#", "B", "C#", "D", "E"], ["F", "G", "G#", "A#", "C", "D", "D#"], ["F", "G", "G#", "A#", "B", "D", "D#"], ["F", "G", "A", "A#", "C", "C#", "E"], ["F", "G", "G#", "A#", "C", "C#", "E"], ["F", "F#", "A", "A#", "C", "D", "D#"], ["F", "G", "A", "A#", "C#", "D", "E"], ["F", "F#", "G#", "A#", "B", "C#", "D#"], ["F", "F#", "G#", "A#", "B", "C#", "D"], ["F", "F#", "G#", "A#", "B", "D", "D#"], ["F", "G", "A", "B", "C", "D", "E"], ["F", "G", "A", "B", "C#", "D", "E"], ["F", "G", "G#", "B", "C", "D", "E"], ["F", "G", "A", "A#", "C", "D", "E"], ["F", "G#", "A", "C", "C#", "E"], ["F", "G", "A", "A#", "C", "C#", "D#"], ["F", "F#", "G#", "A", "C", "C#", "D#"], ["F", "F#", "G#", "A#", "C", "D", "D#"], ["F", "G", "G#", "A#", "C", "D", "E"], ["F", "G", "G#", "A#", "B", "C#", "D#"], ["F", "G", "A", "A#", "C", "D", "D#"], ["F", "F#", "G#", "A", "B", "C", "D", "D#"], ["F", "F#", "G#", "A#", "C", "C#", "D#"], ["F", "F#", "A", "A#", "C", "C#", "D#"], ["F", "F#", "G#", "A", "B", "C#", "D#"], ["F", "F#", "G#", "A", "B", "C#", "D"], ["F", "G", "A", "B", "C#", "D#"], ["F", "F#", "A", "A#", "C", "C#", "E"], ["F", "G#", "A", "B", "C", "D#", "E"], ["F", "F#", "G#", "A", "C", "C#", "D"], ["F", "G", "G#", "B", "C", "C#", "E"], ["F", "F#", "A", "A#", "B", "D", "D#"], ["F", "G#", "A", "A#", "C#", "D", "E"], ["F", "F#", "G", "A#", "B", "C#", "D"], ["F", "G#", "A#", "C", "D#"], ["F", "G", "A", "C", "D"], ["F", "G", "G#", "A", "A#", "C", "D", "D#"], ["F", "G", "A", "A#", "C", "C#", "D", "E"], ["F", "G", "A", "A#", "C", "D", "D#", "E"], ["F", "G#", "A#", "B", "C", "D#"], ["F", "G", "G#", "A#", "B", "C", "D", "D#"], ["F#", "G#", "A#", "C", "C#", "D#", "E"], ["F#", "G#", "A", "B", "C#", "D", "E"], ["F#", "A", "A#", "C", "D", "D#", "F"], ["F#", "A", "A#", "C", "C#", "D#", "F"], ["F#", "G#", "A", "C", "C#", "D#", "E"], ["F#", "G", "A#", "B", "D", "D#"], ["F#", "G#", "A", "B", "C", "D", "D#", "F"], ["F#", "G#", "A", "B", "C#", "D#", "E"], ["F#", "G#", "A", "B", "C", "D#", "E"], ["F#", "G#", "A#", "B", "C#", "D", "F"], ["F#", "G#", "A", "B", "C#", "D", "F"], ["F#", "G", "A#", "B", "C#", "D#", "E"], ["F#", "G#", "A#", "B", "D", "D#", "F"], ["F#", "G", "A", "B", "C", "D", "E"], ["F#", "G", "A", "B", "C", "D", "D#"], ["F#", "G", "A", "B", "C", "D#", "E"], ["F#", "G#", "A#", "C", "C#", "D#", "F"], ["F#", "G#", "A#", "C", "D", "D#", "F"], ["F#", "G#", "A", "C", "C#", "D#", "F"], ["F#", "G#", "A#", "B", "C#", "D#", "F"], ["F#", "A", "A#", "C#", "D", "F"], ["F#", "G#", "A#", "B", "C#", "D", "E"], ["F#", "G", "A", "A#", "C#", "D", "E"], ["F#", "G", "A", "B", "C#", "D#", "E"], ["F#", "G#", "A", "B", "C#", "D#", "F"], ["F#", "G#", "A", "B", "C", "D", "E"], ["F#", "G#", "A#", "B", "C#", "D#", "E"], ["F#", "G", "A", "A#", "C", "C#", "D#", "E"], ["F#", "G", "A", "B", "C#", "D", "E"], ["F#", "G", "A#", "B", "C#", "D", "E"], ["F#", "G", "A", "A#", "C", "D", "E"], ["F#", "G", "A", "A#", "C", "D", "D#"], ["F#", "G#", "A#", "C", "D", "E"], ["F#", "G", "A#", "B", "C#", "D", "F"], ["F#", "A", "A#", "C", "C#", "E", "F"], ["F#", "G", "A", "A#", "C#", "D", "D#"], ["F#", "G#", "A", "C", "C#", "D", "F"], ["F#", "G", "A#", "B", "C", "D#", "E"], ["F#", "A", "A#", "B", "D", "D#", "F"], ["F#", "G", "G#", "B", "C", "D", "D#"], ["F#", "A", "B", "C#", "E"], ["F#", "G#", "A#", "C#", "D#"], ["F#", "G#", "A", "A#", "B", "C#", "D#", "E"], ["F#", "G#", "A#", "B", "C#", "D", "D#", "F"], ["F#", "G#", "A#", "B", "C#", "D#", "E", "F"], ["F#", "A", "B", "C", "C#", "E"], ["F#", "G#", "A", "B", "C", "C#", "D#", "E"], ["G", "A", "B", "C#", "D", "E", "F"], ["G", "A", "A#", "C", "D", "D#", "F"], ["G", "A#", "B", "C#", "D#", "E", "F#"], ["G", "A#", "B", "C#", "D", "E", "F#"], ["G", "A", "A#", "C#", "D", "E", "F"], ["G", "G#", "B", "C", "D#", "E"], ["G", "A", "A#", "C", "C#", "D#", "E", "F#"], ["G", "A", "A#", "C", "D", "E", "F"], ["G", "A", "A#", "C", "C#", "E", "F"], ["G", "A", "B", "C", "D", "D#", "F#"], ["G", "A", "A#", "C", "D", "D#", "F#"], ["G", "G#", "B", "C", "D", "E", "F"], ["G", "A", "B", "C", "D#", "E", "F#"], ["G", "G#", "A#", "C", "C#", "D#", "F"], ["G", "G#", "A#", "C", "C#", "D#", "E"], ["G", "G#", "A#", "C", "C#", "E", "F"], ["G", "A", "B", "C#", "D", "E", "F#"], ["G", "A", "B", "C#", "D#", "E", "F#"], ["G", "A", "A#", "C#", "D", "E", "F#"], ["G", "A", "B", "C", "D", "E", "F#"], ["G", "A#", "B", "D", "D#", "F#"], ["G", "A", "B", "C", "D", "D#", "F"], ["G", "G#", "A#", "B", "D", "D#", "F"], ["G", "G#", "A#", "C", "D", "E", "F"], ["G", "A", "A#", "C", "D", "E", "F#"], ["G", "A", "A#", "C", "C#", "D#", "F"], ["G", "A", "B", "C", "D", "E", "F"], ["G", "G#", "A#", "B", "C#", "D", "E", "F"], ["G", "G#", "A#", "C", "D", "D#", "F"], ["G", "G#", "B", "C", "D", "D#", "F"], ["G", "G#", "A#", "B", "C#", "D#", "F"], ["G", "G#", "A#", "B", "C#", "D#", "E"], ["G", "A", "B", "C#", "D#", "F"], ["G", "G#", "B", "C", "D", "D#", "F#"], ["G", "A#", "B", "C#", "D", "F", "F#"], ["G", "G#", "A#", "B", "D", "D#", "E"], ["G", "A", "A#", "C#", "D", "D#", "F#"], ["G", "G#", "B", "C", "C#", "E", "F"], ["G", "A#", "B", "C", "D#", "E", "F#"], ["G", "G#", "A", "C", "C#", "D#", "E"], ["G", "A#", "C", "D", "F"], ["G", "A", "B", "D", "E"], ["G", "A", "A#", "B", "C", "D", "E", "F"], ["G", "A", "B", "C", "D", "D#", "E", "F#"], ["G", "A", "B", "C", "D", "E", "F", "F#"], ["G", "A#", "C", "C#", "D", "F"], ["G", "A", "A#", "C", "C#", "D", "E", "F"], ["G#", "A#", "C", "D", "D#", "F", "F#"], ["G#", "A#", "B", "C#", "D#", "E", "F#"], ["G#", "B", "C", "D", "E", "F", "G"], ["G#", "B", "C", "D", "D#", "F", "G"], ["G#", "A#", "B", "D", "D#", "F", "F#"], ["G#", "A", "C", "C#", "E", "F"], ["G#", "A#", "B", "C#", "D", "E", "F", "G"], ["G#", "A#", "B", "C#", "D#", "F", "F#"], ["G#", "A#", "B", "C#", "D", "F", "F#"], ["G#", "A#", "C", "C#", "D#", "E", "G"], ["G#", "A#", "B", "C#", "D#", "E", "G"], ["G#", "A", "C", "C#", "D#", "F", "F#"], ["G#", "A#", "C", "C#", "E", "F", "G"], ["G#", "A", "B", "C#", "D", "E", "F#"], ["G#", "A", "B", "C#", "D", "E", "F"], ["G#", "A", "B", "C#", "D", "F", "F#"], ["G#", "A#", "C", "D", "D#", "F", "G"], ["G#", "A#", "C", "D", "E", "F", "G"], ["G#", "A#", "B", "D", "D#", "F", "G"], ["G#", "A#", "C", "C#", "D#", "F", "G"], ["G#", "B", "C", "D#", "E", "G"], ["G#", "A#", "C", "C#", "D#", "E", "F#"], ["G#", "A", "B", "C", "D#", "E", "F#"], ["G#", "A", "B", "C#", "D#", "F", "F#"], ["G#", "A#", "B", "C#", "D#", "F", "G"], ["G#", "A#", "B", "C#", "D", "E", "F#"], ["G#", "A#", "C", "C#", "D#", "F", "F#"], ["G#", "A", "B", "C", "D", "D#", "F", "F#"], ["G#", "A", "B", "C#", "D#", "E", "F#"], ["G#", "A", "C", "C#", "D#", "E", "F#"], ["G#", "A", "B", "C", "D", "E", "F#"], ["G#", "A", "B", "C", "D", "E", "F"], ["G#", "A#", "C", "D", "E", "F#"], ["G#", "A", "C", "C#", "D#", "E", "G"], ["G#", "B", "C", "D", "D#", "F#", "G"], ["G#", "A", "B", "C", "D#", "E", "F"], ["G#", "A#", "B", "D", "D#", "E", "G"], ["G#", "A", "C", "C#", "D", "F", "F#"], ["G#", "B", "C", "C#", "E", "F", "G"], ["G#", "A", "A#", "C#", "D", "E", "F"], ["G#", "B", "C#", "D#", "F#"], ["G#", "A#", "C", "D#", "F"], ["G#", "A#", "B", "C", "C#", "D#", "F", "F#"], ["G#", "A#", "C", "C#", "D#", "E", "F", "G"], ["G#", "A#", "C", "C#", "D#", "F", "F#", "G"], ["G#", "B", "C#", "D", "D#", "F#"], ["G#", "A#", "B", "C#", "D", "D#", "F", "F#"], ["A", "B", "C#", "D#", "E", "F#", "G"], ["A", "B", "C", "D", "E", "F", "G"], ["A", "C", "C#", "D#", "F", "F#", "G#"], ["A", "C", "C#", "D#", "E", "F#", "G#"], ["A", "B", "C", "D#", "E", "F#", "G"], ["A", "A#", "C#", "D", "F", "F#"], ["A", "B", "C", "D", "D#", "F", "F#", "G#"], ["A", "B", "C", "D", "E", "F#", "G"], ["A", "B", "C", "D", "D#", "F#", "G"], ["A", "B", "C#", "D", "E", "F", "G#"], ["A", "B", "C", "D", "E", "F", "G#"], ["A", "A#", "C#", "D", "E", "F#", "G"], ["A", "B", "C#", "D", "F", "F#", "G#"], ["A", "A#", "C", "D", "D#", "F", "G"], ["A", "A#", "C", "D", "D#", "F", "F#"], ["A", "A#", "C", "D", "D#", "F#", "G"], ["A", "B", "C#", "D#", "E", "F#", "G#"], ["A", "B", "C#", "D#", "F", "F#", "G#"], ["A", "B", "C", "D#", "E", "F#", "G#"], ["A", "B", "C#", "D", "E", "F#", "G#"], ["A", "C", "C#", "E", "F", "G#"], ["A", "B", "C#", "D", "E", "F", "G"], ["A", "A#", "C", "C#", "E", "F", "G"], ["A", "A#", "C", "D", "E", "F#", "G"], ["A", "B", "C", "D", "E", "F#", "G#"], ["A", "B", "C", "D", "D#", "F", "G"], ["A", "B", "C#", "D", "E", "F#", "G"], ["A", "A#", "C", "C#", "D#", "E", "F#", "G"], ["A", "A#", "C", "D", "E", "F", "G"], ["A", "A#", "C#", "D", "E", "F", "G"], ["A", "A#", "C", "C#", "D#", "F", "G"], ["A", "A#", "C", "C#", "D#", "F", "F#"], ["A", "B", "C#", "D#", "F", "G"], ["A", "A#", "C#", "D", "E", "F", "G#"], ["A", "C", "C#", "D#", "E", "G", "G#"], ["A", "A#", "C", "C#", "E", "F", "F#"], ["A", "B", "C", "D#", "E", "F", "G#"], ["A", "A#", "C#", "D", "D#", "F#", "G"], ["A", "C", "C#", "D", "F", "F#", "G#"], ["A", "A#", "B", "D", "D#", "F", "F#"], ["A", "C", "D", "E", "G"], ["A", "B", "C#", "E", "F#"], ["A", "B", "C", "C#", "D", "E", "F#", "G"], ["A", "B", "C#", "D", "E", "F", "F#", "G#"], ["A", "B", "C#", "D", "E", "F#", "G", "G#"], ["A", "C", "D", "D#", "E", "G"], ["A", "B", "C", "D", "D#", "E", "F#", "G"], ["A#", "C", "D", "E", "F", "G", "G#"], ["A#", "C", "C#", "D#", "F", "F#", "G#"], ["A#", "C#", "D", "E", "F#", "G", "A"], ["A#", "C#", "D", "E", "F", "G", "A"], ["A#", "C", "C#", "E", "F", "G", "G#"], ["A#", "B", "D", "D#", "F#", "G"], ["A#", "C", "C#", "D#", "E", "F#", "G", "A"], ["A#", "C", "C#", "D#", "F", "G", "G#"], ["A#", "C", "C#", "D#", "E", "G", "G#"], ["A#", "C", "D", "D#", "F", "F#", "A"], ["A#", "C", "C#", "D#", "F", "F#", "A"], ["A#", "B", "D", "D#", "F", "G", "G#"], ["A#", "C", "D", "D#", "F#", "G", "A"], ["A#", "B", "C#", "D#", "E", "F#", "G#"], ["A#", "B", "C#", "D#", "E", "F#", "G"], ["A#", "B", "C#", "D#", "E", "G", "G#"], ["A#", "C", "D", "E", "F", "G", "A"], ["A#", "C", "D", "E", "F#", "G", "A"], ["A#", "C", "C#", "E", "F", "G", "A"], ["A#", "C", "D", "D#", "F", "G", "A"], ["A#", "C#", "D", "F", "F#", "A"], ["A#", "C", "D", "D#", "F", "F#", "G#"], ["A#", "B", "C#", "D", "F", "F#", "G#"], ["A#", "B", "C#", "D#", "F", "G", "G#"], ["A#", "C", "C#", "D#", "F", "G", "A"], ["A#", "C", "C#", "D#", "E", "F#", "G#"], ["A#", "C", "D", "D#", "F", "G", "G#"], ["A#", "B", "C#", "D", "E", "F", "G", "G#"], ["A#", "B", "C#", "D#", "F", "F#", "G#"], ["A#", "B", "D", "D#", "F", "F#", "G#"], ["A#", "B", "C#", "D", "E", "F#", "G#"], ["A#", "B", "C#", "D", "E", "F#", "G"], ["A#", "C", "D", "E", "F#", "G#"], ["A#", "B", "D", "D#", "F", "F#", "A"], ["A#", "C#", "D", "E", "F", "G#", "A"], ["A#", "B", "C#", "D", "F", "F#", "G"], ["A#", "C", "C#", "E", "F", "F#", "A"], ["A#", "B", "D", "D#", "E", "G", "G#"], ["A#", "C#", "D", "D#", "F#", "G", "A"], ["A#", "B", "C", "D#", "E", "F#", "G"], ["A#", "C#", "D#", "F", "G#"], ["A#", "C", "D", "F", "G"], ["A#", "C", "C#", "D", "D#", "F", "G", "G#"], ["A#", "C", "D", "D#", "F", "F#", "G", "A"], ["A#", "C", "D", "D#", "F", "G", "G#", "A"], ["A#", "C#", "D#", "E", "F", "G#"], ["A#", "C", "C#", "D#", "E", "F", "G", "G#"], ["B", "C#", "D#", "F", "F#", "G#", "A"], ["B", "C#", "D", "E", "F#", "G", "A"], ["B", "D", "D#", "F", "G", "G#", "A#"], ["B", "D", "D#", "F", "F#", "G#", "A#"], ["B", "C#", "D", "F", "F#", "G#", "A"], ["B", "C", "D#", "E", "G", "G#"], ["B", "C#", "D", "E", "F", "G", "G#", "A#"], ["B", "C#", "D", "E", "F#", "G#", "A"], ["B", "C#", "D", "E", "F", "G#", "A"], ["B", "C#", "D#", "E", "F#", "G", "A#"], ["B", "C#", "D", "E", "F#", "G", "A#"], ["B", "C", "D#", "E", "F#", "G#", "A"], ["B", "C#", "D#", "E", "G", "G#", "A#"], ["B", "C", "D", "E", "F", "G", "A"], ["B", "C", "D", "E", "F", "G", "G#"], ["B", "C", "D", "E", "F", "G#", "A"], ["B", "C#", "D#", "F", "F#", "G#", "A#"], ["B", "C#", "D#", "F", "G", "G#", "A#"], ["B", "C#", "D", "F", "F#", "G#", "A#"], ["B", "C#", "D#", "E", "F#", "G#", "A#"], ["B", "D", "D#", "F#", "G", "A#"], ["B", "C#", "D#", "E", "F#", "G", "A"], ["B", "C", "D", "D#", "F#", "G", "A"], ["B", "C", "D", "E", "F#", "G#", "A"], ["B", "C#", "D", "E", "F#", "G#", "A#"], ["B", "C#", "D", "E", "F", "G", "A"], ["B", "C#", "D#", "E", "F#", "G#", "A"], ["B", "C", "D", "D#", "F", "F#", "G#", "A"], ["B", "C", "D", "E", "F#", "G", "A"], ["B", "C", "D#", "E", "F#", "G", "A"], ["B", "C", "D", "D#", "F", "G", "A"], ["B", "C", "D", "D#", "F", "G", "G#"], ["B", "C#", "D#", "F", "G", "A"], ["B", "C", "D#", "E", "F#", "G", "A#"], ["B", "D", "D#", "F", "F#", "A", "A#"], ["B", "C", "D", "D#", "F#", "G", "G#"], ["B", "C#", "D", "F", "F#", "G", "A#"], ["B", "C", "D#", "E", "F", "G#", "A"], ["B", "D", "D#", "E", "G", "G#", "A#"], ["B", "C", "C#", "E", "F", "G", "G#"], ["B", "D", "E", "F#", "A"], ["B", "C#", "D#", "F#", "G#"], ["B", "C#", "D", "D#", "E", "F#", "G#", "A"], ["B", "C#", "D#", "E", "F#", "G", "G#", "A#"], ["B", "C#", "D#", "E", "F#", "G#", "A", "A#"], ["B", "D", "E", "F", "F#", "A"], ["B", "C#", "D", "E", "F", "F#", "G#", "A"]];
while (keySelect.firstChild) {
keySelect.removeChild(keySelect.firstChild);
}
for (var i = 0; i < settings['scales'].length; i++) {
var option = document.createElement("option");
option.innerHTML = settings['scaleNames'][i];
keySelect.appendChild(option);
}
console.log("scales loaded");
}
function loadTimeSignatures() {
var note_lengths = [64, 32, 16, 8, 4, 2, 1, 0.5, 0.25];
var note_symbols = ["16", "8", "4", "2", "1", "1/2", "1/4", "1/8", "1/16"];
var tuplets = [3, 5, 7, 11];
var tuplet_names = ["3:2", "5:4", "7:8", "11:16"];
var idx = 0;
while (grid_select.firstChild) {
grid_select.removeChild(grid_select.firstChild);
}
for (var i = 0; i < note_lengths.length; i++) {
var nl = note_lengths[i];
var ns = note_symbols[i];
var opt = document.createElement("option"); opt.value = 1/nl; opt.text = ns; grid_select.add(opt);
opt = document.createElement("option"); opt.value = 2/(nl*3); opt.text = ns + " dot"; grid_select.add(opt);
opt = document.createElement("option"); opt.value = 1.75/(nl*3); opt.text = ns + " dot dot"; grid_select.add(opt);
opt = document.createElement("option"); opt.value = 1.675/(nl*3); opt.text = ns + " dot dot dot"; grid_select.add(opt);
for (var j = 0; j < tuplets.length; j++) {
var t = tuplets[j];
var tn = tuplet_names[j];
var opt1 = document.createElement("option"); opt1.value = t/(nl*(Math.pow(2, j + 1))); opt1.text = ns + " - (" + tn + ")"; grid_select.add(opt1);
}
if (ns === "1/4") {
idx = i * (tuplets.length + 4);
}
}
grid_select.selectedIndex = idx;
console.log("time signatures loaded");
}
function loadInstruments() {
var insts=[];
for(var i=0;i<instrumentSelect.length;i++)
{
insts.push(parseInt(instrumentSelect[i].value))
}
var grp = document.createElement("optgroup");
grp.label = "Unfinished";
instrumentSelect.add(grp);
for(i=0;i<settings.instrumentColors.length;i++)
{
if(!insts.includes(i))
{
var opt = document.createElement("option");
opt.value = i;
opt.text = settings.instruments[i];
grp.appendChild(opt);
var instSettings = document.createElement("div");
instSettings.innerHTML = "<div class=\"instrument_option\"><div><div id=\"instrument_lock_" + i + "\" class=\"instrument_lock btn tooltipstered\" onclick=\"lockInstrument(" + i + ")\"></div><span id=\"instrument_name_" + i + "\" onclick=\"selectInstrument(" + i + ")\">" + settings.instruments[i] + "</span><div class=\"chip instrument" + i + "\"></div></div><div class=\"row\"><input id=\"instrument_volume_" + i + "\" class=\"slider\" type=\"range\" min=\"0\" max=\"2\" step=\"0.01\" oninput=\"audioSystem.setInstrumentVolume(" + i + ", this.value)\"><div id=\"instrument_delay_" + i + "\" class=\"button tooltipstered\" onclick=\"selectDelay(" + i + ")\">D</div><div id=\"instrument_reverb_" + i + "\" class=\"button tooltipstered\" onclick=\"selectReverb(" + i + ")\">R</div></div></div>;"
document.getElementById("instrument_options").appendChild(instSettings.firstChild);
}
}
console.log("instruments loaded");
}
})();