Kevin Rhyne
/
Solenocarina
Self-playing Ocarina!
Fork of Solenoc by
Song.cpp@0:a50960b2f6bd, 2015-12-08 (annotated)
- Committer:
- kevinrhyne
- Date:
- Tue Dec 08 12:23:46 2015 +0000
- Revision:
- 0:a50960b2f6bd
solenoc
Who changed what in which revision?
User | Revision | Line number | New 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 | } |