public static Progression removeChord(Progression progression) { string inputError = "\nI'm sorry that was not a valid coice." + "\nPlease try again."; string choice; bool validChoice = false; while (validChoice == false) { int i; System.Console.WriteLine("\nWhat chord would you like to remove?"); for (i = 1; i <= progression.getSize(); i++) { System.Console.WriteLine(i + ") " + progression.getChord(i - 1).getName()); } choice = System.Console.ReadLine(); for (i = 1; i <= progression.getSize(); i++) { if (choice == i.ToString()) { validChoice = true; string oldChordName = progression.getChord(i - 1).getName(); progression.removeChord(i - 1); System.Console.WriteLine("\n" + oldChordName + " has been removed;"); } } if (validChoice == false) { System.Console.WriteLine(inputError); } } return(progression); }
public static Progression swapChords(Progression progression) { string inputError = "\nI'm sorry that was not a valid coice." + "\nPlease try again."; string choice; bool validChordPositionChoiceOne = false; bool validChordPositionChoiceTwo = false; if (progression.getSize() == 0) { System.Console.WriteLine("\nThere are no chords in your progression."); } else { while (validChordPositionChoiceOne == false) { int i; int j; System.Console.WriteLine("\nWhat chord would you like to swap?"); for (i = 1; i <= progression.getSize(); i++) { System.Console.WriteLine(i + ") " + progression.getChord(i - 1).getName()); } choice = System.Console.ReadLine(); for (i = 1; i <= progression.getSize(); i++) { if (choice == i.ToString()) { validChordPositionChoiceOne = true; while (validChordPositionChoiceTwo == false) { System.Console.WriteLine("\nWhat chord would you like to swap " + progression.getChord(i - 1).getName() + " with?"); choice = System.Console.ReadLine(); for (j = 1; j <= progression.getSize(); j++) { if (choice == j.ToString()) { validChordPositionChoiceTwo = true; progression.swapChords(i - 1, j - 1); System.Console.WriteLine(progression.getChord(i - 1).getName() + " has been swapped with " + progression.getChord(j - 1).getName()); } } if (validChordPositionChoiceTwo == false) { System.Console.WriteLine(inputError); } } } } if (validChordPositionChoiceOne == false) { System.Console.WriteLine(inputError); } } } return(progression); }
public static Progression replaceChord(Progression progression) { string inputError = "\nI'm sorry that was not a valid coice." + "\nPlease try again."; string choice; bool validChordPositionChoice; bool validChordNameChoice; string newChordName; if (progression.getSize() == 0) { System.Console.WriteLine("\nThere are no chords in your progression."); } else { validChordPositionChoice = false; while (validChordPositionChoice == false) { int i; System.Console.WriteLine("\nWhat chord would you to replace?"); for (i = 1; i <= progression.getSize(); i++) { System.Console.WriteLine(i + ") " + progression.getChord(i - 1).getName()); } choice = System.Console.ReadLine(); for (i = 1; i <= progression.getSize(); i++) { if (choice == i.ToString()) { string oldChordName = progression.getChord(i - 1).getName(); validChordPositionChoice = true; validChordNameChoice = false; while (validChordNameChoice == false) { System.Console.WriteLine("\nWhat chord would you like to replace " + progression.getChord(i - 1).getName() + " with?"); newChordName = System.Console.ReadLine(); if (ChordController.checkChordName(newChordName)) { validChordNameChoice = true; progression.replaceChord(i - 1, ChordFactory.getChordByName(newChordName)); System.Console.WriteLine("\n" + oldChordName + " has been replaced with " + newChordName); } else { System.Console.WriteLine(inputError); } } } } if (validChordPositionChoice == false) { System.Console.WriteLine(inputError); } } } return(progression); }
public void ProgressionTest_getChord() { _progression = new Progression(); _progression.addChord(ChordFactory.getChordByName("C")); _progression.addChord(ChordFactory.getChordByName("Am7")); _progression.addChord(ChordFactory.getChordByName("G#(add9)")); Assert.AreEqual("A, C, E, G", _progression.getChord(1).getNotes()); }
public static Progression decreasePitch(Progression progression) { string inputError = "\nI'm sorry that was not a valid coice." + "\nPlease try again."; if (progression.getSize() == 0) { System.Console.WriteLine("\nThere are no chords in your progression."); } else { bool validChoice = false; string choice; int i; while (validChoice == false) { System.Console.WriteLine("\nWhat chord would you like lower?"); for (i = 1; i <= progression.getSize(); i++) { System.Console.WriteLine(i + ") " + progression.getChord(i - 1).getName()); } choice = System.Console.ReadLine(); for (i = 1; i <= progression.getSize(); i++) { if (choice == i.ToString()) { validChoice = true; if (TabController.checkPitchRange(progression.getTabPitch(i) - 1, progression.getChord(i - 1).getNoteAt(0), progression.getGuitar())) { progression.changeTabPitch(i, progression.getTabPitch(i) - 1); System.Console.WriteLine("\n" + progression.getChord(i - 1).getName() + " has been lowered"); } else { System.Console.WriteLine("\nThis chord cannot be lowered any further"); } } } if (validChoice == false) { System.Console.WriteLine(inputError); } } } return(progression); }
public static void examineChords(Progression progression) { string inputError = "\nI'm sorry that was not a valid coice." + "\nPlease try again."; string choice; bool validChoice = false; while (validChoice == false) { int i; System.Console.WriteLine("\nWhat chord would you like to examine?"); for (i = 1; i <= progression.getSize(); i++) { System.Console.WriteLine(i + ") " + progression.getChord(i - 1).getName()); } choice = System.Console.ReadLine(); for (i = 1; i <= progression.getSize(); i++) { if (choice == i.ToString()) { validChoice = true; System.Console.WriteLine("\nThe notes in " + progression.getChord(i - 1).getName() + " are " + progression.getChord(i - 1).getNotes()); /* * System.Console.WriteLine(progression.getChord(i - 1).getName() + " has the intervals " + * progression.getDegree()); * System.Console.WriteLine(progression.getChord(i - 1).getName() + " is the degree " + * progression.getChord(i - 1).getIntervals() + " from the key " + progression.getKey().getName()); */ } } if (validChoice == false) { System.Console.WriteLine(inputError); } } }
public static Progression addChord(Progression progression) { string inputError = "\nI'm sorry that was not a valid coice." + "\nPlease try again."; string newChordName; bool result = false; while (result == false) { System.Console.WriteLine("\nWhat chord would you like to add?"); newChordName = System.Console.ReadLine(); if (ChordController.checkChordName(newChordName)) { result = true; progression.addChord(ChordFactory.getChordByName(newChordName)); System.Console.WriteLine("\n" + progression.getChord(progression.getSize() - 1).getName() + " has been added to the progression."); } else { System.Console.WriteLine(inputError); } } return(progression); }
public static Progression moreRecomendations(Progression progression) { string inputError = "\nI'm sorry that was not a valid coice." + "\nPlease try again."; List <Chord> recomendations = new List <Chord>(); Note tonic = NoteFactory.getNoteByValue(progression.getKey().getValue(), progression.getKey()); bool validChoice = false; string choice; int i; while (validChoice == false) { i = 1; System.Console.WriteLine("1) I (" + progression.getMode().getNote(0, progression.getKey()).getName() + ")"); if (progression.getMode().containsInterval(1)) { System.Console.WriteLine((i + 1) + ") bII (" + progression.getMode().getNote(i, progression.getKey()).getName() + ")"); i++; } if (progression.getMode().containsInterval(2)) { System.Console.WriteLine((i + 1) + ") II (" + progression.getMode().getNote(i, progression.getKey()).getName() + ")"); i++; } if (progression.getMode().containsInterval(3)) { System.Console.WriteLine(((i + 1) + 1) + ") bIII (" + progression.getMode().getNote(i, progression.getKey()).getName() + ")"); i++; } if (progression.getMode().containsInterval(4)) { System.Console.WriteLine((i + 1) + ") III (" + progression.getMode().getNote(i, progression.getKey()).getName() + ")"); i++; } if (progression.getMode().containsInterval(5)) { System.Console.WriteLine((i + 1) + ") IV (" + progression.getMode().getNote(i, progression.getKey()).getName() + ")"); i++; } if (progression.getMode().containsInterval(6)) { System.Console.WriteLine((i + 1) + ") bV (" + progression.getMode().getNote(i, progression.getKey()).getName() + ")"); i++; } if (progression.getMode().containsInterval(7)) { System.Console.WriteLine((i + 1) + ") V (" + progression.getMode().getNote(i, progression.getKey()).getName() + ")"); i++; } if (progression.getMode().containsInterval(8)) { System.Console.WriteLine((i + 1) + ") bVI (" + progression.getMode().getNote(i, progression.getKey()).getName() + ")"); i++; } if (progression.getMode().containsInterval(9)) { System.Console.WriteLine((i + 1) + ") VI (" + progression.getMode().getNote(i, progression.getKey()).getName() + ")"); i++; } if (progression.getMode().containsInterval(10)) { System.Console.WriteLine((i + 1) + ") bVII (" + progression.getMode().getNote(i, progression.getKey()).getName() + ")"); i++; } if (progression.getMode().containsInterval(11)) { System.Console.WriteLine((i + 1) + ") VII (" + progression.getMode().getNote(i, progression.getKey()).getName() + ")"); i++; } choice = System.Console.ReadLine(); for (i = 1; i <= progression.getMode().getSize(); i++) { if (i.ToString() == choice) { validChoice = true; tonic = progression.getMode().getNote(i - 1, progression.getKey()); } } if (validChoice == false) { System.Console.WriteLine(inputError); } } validChoice = false; recomendations = ChordFactory.getChordRecomendationsByTonic(progression.getKey(), tonic, progression.getMode()); while (validChoice == false) { for (i = 0; i < recomendations.Count(); i++) { System.Console.WriteLine((i + 1).ToString() + ") " + recomendations.ElementAt(i).getName()); if (i + 1 == recomendations.Count()) { System.Console.WriteLine((i + 2).ToString() + ") Back to chord menu"); } } choice = System.Console.ReadLine(); for (i = 1; i <= recomendations.Count(); i++) { if (i.ToString() == choice) { validChoice = true; progression.addChord(recomendations.ElementAt(i - 1)); System.Console.WriteLine("\n" + progression.getChord(progression.getSize() - 1).getName() + " has been added to the progression."); } else if ((i + 1).ToString() == choice) { validChoice = true; } } if (validChoice == false) { System.Console.WriteLine(inputError); } } return(progression); }
public static Progression addRecomendedChord(Progression progression) { string inputError = "\nI'm sorry that was not a valid coice." + "\nPlease try again."; int i; string choice; bool validChoice = false; Note degree = NoteFactory.getNoteByValue(progression.getKey().getValue(), progression.getKey()); List <Chord> recomendations = new List <Chord>(); if (progression.getSize() == 0) { recomendations = ChordFactory.getChordRecomendationsTriads(progression.getKey(), progression.getMode()); while (validChoice == false) { for (i = 0; i < recomendations.Count(); i++) { System.Console.WriteLine((i + 1).ToString() + ") " + recomendations.ElementAt(i).getName()); if (i + 1 == recomendations.Count()) { System.Console.WriteLine((i + 2).ToString() + ") See more recomendations"); } } System.Console.WriteLine((i + 2).ToString() + ") Back to chord menu"); choice = System.Console.ReadLine(); for (i = 1; i <= recomendations.Count(); i++) { if (i.ToString() == choice) { validChoice = true; progression.addChord(recomendations.ElementAt(i - 1)); System.Console.WriteLine("\n" + progression.getChord(progression.getSize() - 1).getName() + " has been added to the progression."); } } if ((i).ToString() == choice) { validChoice = true; progression = moreRecomendations(progression); } else if ((i + 1).ToString() == choice) { validChoice = true; } if (validChoice == false) { System.Console.WriteLine(inputError); } } } else { recomendations = ChordFactory.getChordRecomendationsByLast(progression.getKey(), progression.getChord(progression.getSize() - 1), progression.getMode()); while (validChoice == false) { for (i = 0; i < recomendations.Count(); i++) { System.Console.WriteLine((i + 1).ToString() + ") " + recomendations.ElementAt(i).getName()); if (i + 1 == recomendations.Count()) { System.Console.WriteLine((i + 2).ToString() + ") See more recomendations"); } } System.Console.WriteLine((i + 2).ToString() + ") Back to chord menu"); choice = System.Console.ReadLine(); for (i = 1; i <= recomendations.Count(); i++) { if (i.ToString() == choice) { validChoice = true; progression.addChord(recomendations.ElementAt(i - 1)); System.Console.WriteLine("\n" + progression.getChord(progression.getSize() - 1).getName() + " has been added to the progression."); } } if ((i).ToString() == choice) { validChoice = true; progression = moreRecomendations(progression); } else if ((i + 1).ToString() == choice) { validChoice = true; } if (validChoice == false) { System.Console.WriteLine(inputError); } } } return(progression); }
public static Progression menuThree(Progression progression) { string inputError = "\nI'm sorry that was not a valid coice." + "\nPlease try again."; bool back = false; string answer; while (back == false) { if (progression.getSize() == 0) { System.Console.WriteLine("\nThere are no chords in your progression"); } else { System.Console.WriteLine("\nThe current tablature is:"); System.Console.WriteLine(" " + progression.getChordNames()); string spacing; int spacingSize; string stringOne = ""; string stringTwo = ""; string stringThree = ""; string stringFour = ""; string stringFive = ""; string stringSix = ""; int i, j; // i = chord, j = string for (i = 1; i <= progression.getSize(); i++) { spacingSize = progression.getChord(i - 1).getName().ToCharArray().Count(); spacing = ""; for (j = 0; j < spacingSize; j++) { spacing = spacing + " "; } stringOne = stringOne + " " + progression.getTabNumber(i, 1) + spacing; stringTwo = stringTwo + " " + progression.getTabNumber(i, 2) + spacing; stringThree = stringThree + " " + progression.getTabNumber(i, 3) + spacing; stringFour = stringFour + " " + progression.getTabNumber(i, 4) + spacing; stringFive = stringFive + " " + progression.getTabNumber(i, 5) + spacing; stringSix = stringSix + " " + progression.getTabNumber(i, 6) + spacing; } System.Console.WriteLine("T" + stringOne); System.Console.WriteLine("T" + stringTwo); System.Console.WriteLine("A" + stringThree); System.Console.WriteLine("A" + stringFour); System.Console.WriteLine("B" + stringFive); System.Console.WriteLine("B" + stringSix); } System.Console.WriteLine("\nWhat would you like to do?" + "\n1) Swap two chords" + "\n2) Increase the pitch of a chord" + "\n3) Decrease the pitch of a chord" + "\n4) Back to main menu"); answer = System.Console.ReadLine(); if (answer == "1") { progression = swapChords(progression); } else if (answer == "2") { progression = increasePitch(progression); } else if (answer == "3") { progression = decreasePitch(progression); } else if (answer == "4") { back = true; } else { System.Console.WriteLine(inputError); } } return(progression); }