/****************************************************************** * * KEYTRANSLATOR * v1.0 * Jonathan Hey * * Created Dec 26th, 2007 * Modified Dec 26th, 2007 * * Required by the Chord Progression Generator and Progression * * Description: * Translates chord numbers into their real names for different keys * * Future enhancements: * Translate different scale types e.g. * major/minor/harmonic/natural * ********************************************************************/ class KeyTranslator { String translateKey = "C"; int translatePosition = 0; String[] triads = new String[7]; // constructors: best initialized with a key KeyTranslator(String k){ translateKey = k; } KeyTranslator(){ } // Set method void setKey(String k){ translateKey = k; initializeArray(translateKey); } // Get the name of the corresponding chord number String getLetter(int p){ return triads[p]; } // sets up arrays with the chord names for numbers for different keys void initializeArray(String k){ if (k == "A"){ triads[0] = "A"; triads[1] = "Bm"; triads[2] = "C#m"; triads[3] = "D"; triads[4] = "E"; triads[5] = "F#m"; triads[6] = "G#dim"; } else if (k == "B"){ triads[0] = "B"; triads[1] = "C#m"; triads[2] = "D#m"; triads[3] = "E"; triads[4] = "F#"; triads[5] = "G#m"; triads[6] = "A#dim"; } else if (k == "C"){ triads[0] = "C"; triads[1] = "Dm"; triads[2] = "Em"; triads[3] = "F"; triads[4] = "G"; triads[5] = "Am"; triads[6] = "Bdim"; } else if (k == "D"){ triads[0] = "D"; triads[1] = "Em"; triads[2] = "F#m"; triads[3] = "G"; triads[4] = "A"; triads[5] = "Bm"; triads[6] = "C#dim"; } else if (k == "E"){ triads[0] = "E"; triads[1] = "F#m"; triads[2] = "G#m"; triads[3] = "A"; triads[4] = "B"; triads[5] = "C#m"; triads[6] = "D#dim"; } else if (k == "F"){ triads[0] = "F"; triads[1] = "Gm"; triads[2] = "Am"; triads[3] = "Bb"; triads[4] = "C"; triads[5] = "Dm"; triads[6] = "Edim"; } else if (k == "G"){ triads[0] = "G"; triads[1] = "Am"; triads[2] = "Bm"; triads[3] = "C"; triads[4] = "D"; triads[5] = "Em"; triads[6] = "F#dim"; } } }