player 1
Dependencies: 4DGL-uLCD-SE PinDetect SparkfunAnalogJoystick mbed-rtos mbed SDFileSystem
Fork of 4180FinalLab by
Wireless 2 Player Pong game
soundBuilder.cpp@3:591086e44bf9, 2016-04-24 (annotated)
- Committer:
- rishibhargava1
- Date:
- Sun Apr 24 01:23:28 2016 +0000
- Revision:
- 3:591086e44bf9
Directions of the ball velocities are bools
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
rishibhargava1 | 3:591086e44bf9 | 1 | #include "Speaker.h" |
rishibhargava1 | 3:591086e44bf9 | 2 | #include "soundBuilder.h" |
rishibhargava1 | 3:591086e44bf9 | 3 | |
rishibhargava1 | 3:591086e44bf9 | 4 | Note::Note(){ |
rishibhargava1 | 3:591086e44bf9 | 5 | setFreq(0); |
rishibhargava1 | 3:591086e44bf9 | 6 | setLength(0); |
rishibhargava1 | 3:591086e44bf9 | 7 | setVolume(0); |
rishibhargava1 | 3:591086e44bf9 | 8 | } |
rishibhargava1 | 3:591086e44bf9 | 9 | |
rishibhargava1 | 3:591086e44bf9 | 10 | Note::Note(float freq, float dur, float vol){ |
rishibhargava1 | 3:591086e44bf9 | 11 | setFreq(freq); |
rishibhargava1 | 3:591086e44bf9 | 12 | setLength(dur); |
rishibhargava1 | 3:591086e44bf9 | 13 | setVolume(vol); |
rishibhargava1 | 3:591086e44bf9 | 14 | } |
rishibhargava1 | 3:591086e44bf9 | 15 | |
rishibhargava1 | 3:591086e44bf9 | 16 | void Note::setFreq(float nfreq){ |
rishibhargava1 | 3:591086e44bf9 | 17 | freq = nfreq; |
rishibhargava1 | 3:591086e44bf9 | 18 | } |
rishibhargava1 | 3:591086e44bf9 | 19 | |
rishibhargava1 | 3:591086e44bf9 | 20 | void Note::setLength(float dur){ |
rishibhargava1 | 3:591086e44bf9 | 21 | length = dur; |
rishibhargava1 | 3:591086e44bf9 | 22 | } |
rishibhargava1 | 3:591086e44bf9 | 23 | |
rishibhargava1 | 3:591086e44bf9 | 24 | void Note::setVolume(float vol){ |
rishibhargava1 | 3:591086e44bf9 | 25 | volume = vol; |
rishibhargava1 | 3:591086e44bf9 | 26 | } |
rishibhargava1 | 3:591086e44bf9 | 27 | |
rishibhargava1 | 3:591086e44bf9 | 28 | float Note::getFreq(){ |
rishibhargava1 | 3:591086e44bf9 | 29 | return freq; |
rishibhargava1 | 3:591086e44bf9 | 30 | } |
rishibhargava1 | 3:591086e44bf9 | 31 | |
rishibhargava1 | 3:591086e44bf9 | 32 | float Note::getLength(){ |
rishibhargava1 | 3:591086e44bf9 | 33 | return length; |
rishibhargava1 | 3:591086e44bf9 | 34 | } |
rishibhargava1 | 3:591086e44bf9 | 35 | |
rishibhargava1 | 3:591086e44bf9 | 36 | float Note::getVolume(){ |
rishibhargava1 | 3:591086e44bf9 | 37 | return volume; |
rishibhargava1 | 3:591086e44bf9 | 38 | } |
rishibhargava1 | 3:591086e44bf9 | 39 | |
rishibhargava1 | 3:591086e44bf9 | 40 | SoundBuilder::SoundBuilder(float freq[], float dur[], float vol[], int numNotes, Speaker *mainspeaker){ |
rishibhargava1 | 3:591086e44bf9 | 41 | for (int i = 0; i < numNotes; i++){ |
rishibhargava1 | 3:591086e44bf9 | 42 | song[i].setFreq(freq[i]); |
rishibhargava1 | 3:591086e44bf9 | 43 | song[i].setLength(dur[i]); |
rishibhargava1 | 3:591086e44bf9 | 44 | song[i].setVolume(vol[i]); |
rishibhargava1 | 3:591086e44bf9 | 45 | } |
rishibhargava1 | 3:591086e44bf9 | 46 | speaker = &(*mainspeaker); |
rishibhargava1 | 3:591086e44bf9 | 47 | } |
rishibhargava1 | 3:591086e44bf9 | 48 | |
rishibhargava1 | 3:591086e44bf9 | 49 | void SoundBuilder::setNote(float freq, float dur, float vol, int noteNum){ |
rishibhargava1 | 3:591086e44bf9 | 50 | song[noteNum].setFreq(freq); |
rishibhargava1 | 3:591086e44bf9 | 51 | song[noteNum].setLength(dur); |
rishibhargava1 | 3:591086e44bf9 | 52 | song[noteNum].setVolume(vol); |
rishibhargava1 | 3:591086e44bf9 | 53 | } |
rishibhargava1 | 3:591086e44bf9 | 54 | |
rishibhargava1 | 3:591086e44bf9 | 55 | void SoundBuilder::playNotes(int start, int stop){ |
rishibhargava1 | 3:591086e44bf9 | 56 | for (int i = start; i <= stop; i++) |
rishibhargava1 | 3:591086e44bf9 | 57 | speaker->PlayNote(song[i].getFreq(), song[i].getLength(), song[i].getVolume()); |
rishibhargava1 | 3:591086e44bf9 | 58 | } |
rishibhargava1 | 3:591086e44bf9 | 59 | |
rishibhargava1 | 3:591086e44bf9 | 60 | void SoundBuilder::playSong(){ |
rishibhargava1 | 3:591086e44bf9 | 61 | playNotes(0, sizeof(song)/sizeof(*song)-1); |
rishibhargava1 | 3:591086e44bf9 | 62 | } |
rishibhargava1 | 3:591086e44bf9 | 63 | |
rishibhargava1 | 3:591086e44bf9 | 64 | void SoundBuilder::clearSong(){ |
rishibhargava1 | 3:591086e44bf9 | 65 | for (int i = 0; i < sizeof(song)/sizeof(*song); i++){ |
rishibhargava1 | 3:591086e44bf9 | 66 | song[i].setFreq(0); |
rishibhargava1 | 3:591086e44bf9 | 67 | song[i].setLength(0); |
rishibhargava1 | 3:591086e44bf9 | 68 | song[i].setVolume(0); |
rishibhargava1 | 3:591086e44bf9 | 69 | } |
rishibhargava1 | 3:591086e44bf9 | 70 | } |