Self-playing Ocarina!

Dependencies:   mbed

Fork of Solenoc by Kevin Rhyne

Committer:
kevinrhyne
Date:
Tue Dec 08 12:23:46 2015 +0000
Revision:
0:a50960b2f6bd
solenoc

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kevinrhyne 0:a50960b2f6bd 1 #include "Song.h"
kevinrhyne 0:a50960b2f6bd 2
kevinrhyne 0:a50960b2f6bd 3 Song::Song(string filepath){
kevinrhyne 0:a50960b2f6bd 4
kevinrhyne 0:a50960b2f6bd 5 Serial pc(USBTX, USBRX);
kevinrhyne 0:a50960b2f6bd 6 pc.baud(115200);
kevinrhyne 0:a50960b2f6bd 7
kevinrhyne 0:a50960b2f6bd 8
kevinrhyne 0:a50960b2f6bd 9 }
kevinrhyne 0:a50960b2f6bd 10
kevinrhyne 0:a50960b2f6bd 11 using namespace std;
kevinrhyne 0:a50960b2f6bd 12
kevinrhyne 0:a50960b2f6bd 13 int Song::getBinaryNote(string currentNote){
kevinrhyne 0:a50960b2f6bd 14 if (currentNote == "A") return 1;
kevinrhyne 0:a50960b2f6bd 15 if (currentNote == "D") return 129;
kevinrhyne 0:a50960b2f6bd 16 if (currentNote == "E") return 193;
kevinrhyne 0:a50960b2f6bd 17 if (currentNote == "F") return 225;
kevinrhyne 0:a50960b2f6bd 18 if (currentNote == "Fs") return 177;
kevinrhyne 0:a50960b2f6bd 19 if (currentNote == "G") return 241;
kevinrhyne 0:a50960b2f6bd 20 if (currentNote == "Gs") return 185;
kevinrhyne 0:a50960b2f6bd 21 if (currentNote == "A") return 249;
kevinrhyne 0:a50960b2f6bd 22 if (currentNote == "As") return 289;
kevinrhyne 0:a50960b2f6bd 23 if (currentNote == "B") return 254;
kevinrhyne 0:a50960b2f6bd 24
kevinrhyne 0:a50960b2f6bd 25 return 1;
kevinrhyne 0:a50960b2f6bd 26 }
kevinrhyne 0:a50960b2f6bd 27
kevinrhyne 0:a50960b2f6bd 28 void Song::buildSong(){
kevinrhyne 0:a50960b2f6bd 29
kevinrhyne 0:a50960b2f6bd 30 //Example Song
kevinrhyne 0:a50960b2f6bd 31
kevinrhyne 0:a50960b2f6bd 32 noteChart.push_back(make_pair(string("A"), 75));
kevinrhyne 0:a50960b2f6bd 33 noteChart.push_back(make_pair(string("A"), 75));
kevinrhyne 0:a50960b2f6bd 34 noteChart.push_back(make_pair(string("B"), 75));
kevinrhyne 0:a50960b2f6bd 35 noteChart.push_back(make_pair(string("C"), 75));
kevinrhyne 0:a50960b2f6bd 36 noteChart.push_back(make_pair(string("D"), 75));
kevinrhyne 0:a50960b2f6bd 37 noteChart.push_back(make_pair(string("E"), 75));
kevinrhyne 0:a50960b2f6bd 38 noteChart.push_back(make_pair(string("F"), 75));
kevinrhyne 0:a50960b2f6bd 39 noteChart.push_back(make_pair(string("Fs"), 75));
kevinrhyne 0:a50960b2f6bd 40 noteChart.push_back(make_pair(string("G"), 75));
kevinrhyne 0:a50960b2f6bd 41 noteChart.push_back(make_pair(string("Gs"), 75));
kevinrhyne 0:a50960b2f6bd 42 noteChart.push_back(make_pair(string("Gs"), 75));
kevinrhyne 0:a50960b2f6bd 43 noteChart.push_back(make_pair(string("G"), 75));
kevinrhyne 0:a50960b2f6bd 44 noteChart.push_back(make_pair(string("Fs"), 75));
kevinrhyne 0:a50960b2f6bd 45 noteChart.push_back(make_pair(string("G"), 75));
kevinrhyne 0:a50960b2f6bd 46 noteChart.push_back(make_pair(string("E"), 75));
kevinrhyne 0:a50960b2f6bd 47 noteChart.push_back(make_pair(string("F"), 75));
kevinrhyne 0:a50960b2f6bd 48 noteChart.push_back(make_pair(string("D"), 75));
kevinrhyne 0:a50960b2f6bd 49 noteChart.push_back(make_pair(string("C"), 75));
kevinrhyne 0:a50960b2f6bd 50 noteChart.push_back(make_pair(string("A"), 75));
kevinrhyne 0:a50960b2f6bd 51
kevinrhyne 0:a50960b2f6bd 52 }
kevinrhyne 0:a50960b2f6bd 53
kevinrhyne 0:a50960b2f6bd 54 string Song::getNote(int index){
kevinrhyne 0:a50960b2f6bd 55 return noteChart[index].first;
kevinrhyne 0:a50960b2f6bd 56 }
kevinrhyne 0:a50960b2f6bd 57
kevinrhyne 0:a50960b2f6bd 58 int Song::getLength(int index) {
kevinrhyne 0:a50960b2f6bd 59 return noteChart[index].second;
kevinrhyne 0:a50960b2f6bd 60 }