mute bug solved. Noe plays while being modified
This commit is contained in:
105
main.cpp
105
main.cpp
@@ -80,6 +80,13 @@ const char* get_zero_padded(const uint8_t num) {
|
||||
return zero_padded;
|
||||
}
|
||||
|
||||
void playNote(Note ¬e) {
|
||||
channel[0].setup(note.Get());
|
||||
channel[1].setup(0);
|
||||
channel[2].setup(0);
|
||||
channel[3].setup(0);
|
||||
SDL_PauseAudioDevice(sdlAudioDevice, 0);
|
||||
}
|
||||
int main(int argc, char* argv[]) {
|
||||
for (int i=0; i<4; ++i) channel[i].setNoteLength(SOUND_NUM_SAMPLES);
|
||||
song.SetCurrentNote(0, 0, (34<<10) + (2<<8) + (7<<4) + 5);
|
||||
@@ -202,11 +209,12 @@ int main(int argc, char* argv[]) {
|
||||
if (key == SDL_SCANCODE_RETURN) copied_note = note.Get();
|
||||
if (key == SDL_SCANCODE_SPACE) {
|
||||
note.Set(copied_note);
|
||||
channel[0].setup(note.Get());
|
||||
playNote(note);
|
||||
/*channel[0].setup(note.Get());
|
||||
channel[1].setup(0);
|
||||
channel[2].setup(0);
|
||||
channel[3].setup(0);
|
||||
SDL_PauseAudioDevice(sdlAudioDevice, 0);
|
||||
SDL_PauseAudioDevice(sdlAudioDevice, 0);*/
|
||||
}
|
||||
if (key == SDL_SCANCODE_F4) {
|
||||
for (int i=0;i<4;++i) {
|
||||
@@ -240,78 +248,77 @@ int main(int argc, char* argv[]) {
|
||||
case SDL_SCANCODE_H: note.SetFirstNote(8, base_octave, current_instrument, current_volume, current_effect); break;
|
||||
case SDL_SCANCODE_N: note.SetFirstNote(9, base_octave, current_instrument, current_volume, current_effect); break;
|
||||
case SDL_SCANCODE_J: note.SetFirstNote(10, base_octave, current_instrument, current_volume, current_effect); break;
|
||||
case SDL_SCANCODE_M:
|
||||
note.SetFirstNote(11, base_octave, current_instrument, current_volume, current_effect); break;
|
||||
case SDL_SCANCODE_A:
|
||||
note.SetSilence(); break;
|
||||
case SDL_SCANCODE_M: note.SetFirstNote(11, base_octave, current_instrument, current_volume, current_effect); break;
|
||||
case SDL_SCANCODE_A: note.SetSilence(); break;
|
||||
default: m = false; break;
|
||||
};
|
||||
if (m) {
|
||||
channel[0].setup(note.Get());
|
||||
playNote(note);
|
||||
/*channel[0].setup(note.Get());
|
||||
channel[1].setup(0);
|
||||
channel[2].setup(0);
|
||||
channel[3].setup(0);
|
||||
SDL_PauseAudioDevice(sdlAudioDevice, 0);
|
||||
SDL_PauseAudioDevice(sdlAudioDevice, 0);*/
|
||||
}
|
||||
}
|
||||
if (selected_part==1) {
|
||||
switch(key) {
|
||||
case SDL_SCANCODE_2: note.SetOctave(2); break;
|
||||
case SDL_SCANCODE_3: note.SetOctave(3); break;
|
||||
case SDL_SCANCODE_4: note.SetOctave(4); break;
|
||||
case SDL_SCANCODE_5: note.SetOctave(5); break;
|
||||
case SDL_SCANCODE_6: note.SetOctave(6); break;
|
||||
case SDL_SCANCODE_2: note.SetOctave(2); playNote(note); break;
|
||||
case SDL_SCANCODE_3: note.SetOctave(3); playNote(note); break;
|
||||
case SDL_SCANCODE_4: note.SetOctave(4); playNote(note); break;
|
||||
case SDL_SCANCODE_5: note.SetOctave(5); playNote(note); break;
|
||||
case SDL_SCANCODE_6: note.SetOctave(6); playNote(note); break;
|
||||
default: break;
|
||||
};
|
||||
}
|
||||
if (selected_part==2) {
|
||||
switch(key) {
|
||||
case SDL_SCANCODE_0: note.SetInstrument(0); break;
|
||||
case SDL_SCANCODE_1: note.SetInstrument(1); break;
|
||||
case SDL_SCANCODE_2: note.SetInstrument(2); break;
|
||||
case SDL_SCANCODE_3: note.SetInstrument(3); break;
|
||||
case SDL_SCANCODE_0: note.SetInstrument(0); playNote(note); break;
|
||||
case SDL_SCANCODE_1: note.SetInstrument(1); playNote(note); break;
|
||||
case SDL_SCANCODE_2: note.SetInstrument(2); playNote(note); break;
|
||||
case SDL_SCANCODE_3: note.SetInstrument(3); playNote(note); break;
|
||||
default: break;
|
||||
};
|
||||
}
|
||||
if (selected_part==3) {
|
||||
switch(key) {
|
||||
case SDL_SCANCODE_0: note.SetVolume(0); break;
|
||||
case SDL_SCANCODE_1: note.SetVolume(1); break;
|
||||
case SDL_SCANCODE_2: note.SetVolume(2); break;
|
||||
case SDL_SCANCODE_3: note.SetVolume(3); break;
|
||||
case SDL_SCANCODE_4: note.SetVolume(4); break;
|
||||
case SDL_SCANCODE_5: note.SetVolume(5); break;
|
||||
case SDL_SCANCODE_6: note.SetVolume(6); break;
|
||||
case SDL_SCANCODE_7: note.SetVolume(7); break;
|
||||
case SDL_SCANCODE_8: note.SetVolume(8); break;
|
||||
case SDL_SCANCODE_9: note.SetVolume(9); break;
|
||||
case SDL_SCANCODE_A: note.SetVolume(10); break;
|
||||
case SDL_SCANCODE_B: note.SetVolume(11); break;
|
||||
case SDL_SCANCODE_C: note.SetVolume(12); break;
|
||||
case SDL_SCANCODE_D: note.SetVolume(13); break;
|
||||
case SDL_SCANCODE_E: note.SetVolume(14); break;
|
||||
case SDL_SCANCODE_F: note.SetVolume(15); break;
|
||||
case SDL_SCANCODE_0: note.SetVolume(0); playNote(note); break;
|
||||
case SDL_SCANCODE_1: note.SetVolume(1); playNote(note); break;
|
||||
case SDL_SCANCODE_2: note.SetVolume(2); playNote(note); break;
|
||||
case SDL_SCANCODE_3: note.SetVolume(3); playNote(note); break;
|
||||
case SDL_SCANCODE_4: note.SetVolume(4); playNote(note); break;
|
||||
case SDL_SCANCODE_5: note.SetVolume(5); playNote(note); break;
|
||||
case SDL_SCANCODE_6: note.SetVolume(6); playNote(note); break;
|
||||
case SDL_SCANCODE_7: note.SetVolume(7); playNote(note); break;
|
||||
case SDL_SCANCODE_8: note.SetVolume(8); playNote(note); break;
|
||||
case SDL_SCANCODE_9: note.SetVolume(9); playNote(note); break;
|
||||
case SDL_SCANCODE_A: note.SetVolume(10); playNote(note); break;
|
||||
case SDL_SCANCODE_B: note.SetVolume(11); playNote(note); break;
|
||||
case SDL_SCANCODE_C: note.SetVolume(12); playNote(note); break;
|
||||
case SDL_SCANCODE_D: note.SetVolume(13);playNote(note); break;
|
||||
case SDL_SCANCODE_E: note.SetVolume(14); playNote(note); break;
|
||||
case SDL_SCANCODE_F: note.SetVolume(15); playNote(note); break;
|
||||
default: break;
|
||||
};
|
||||
}
|
||||
if (selected_part==4) {
|
||||
switch(key) {
|
||||
case SDL_SCANCODE_0: note.SetEffect(0); break;
|
||||
case SDL_SCANCODE_1: note.SetEffect(1); break;
|
||||
case SDL_SCANCODE_2: note.SetEffect(2); break;
|
||||
case SDL_SCANCODE_3: note.SetEffect(3); break;
|
||||
case SDL_SCANCODE_4: note.SetEffect(4); break;
|
||||
case SDL_SCANCODE_5: note.SetEffect(5); break;
|
||||
case SDL_SCANCODE_6: note.SetEffect(6); break;
|
||||
case SDL_SCANCODE_7: note.SetEffect(7); break;
|
||||
case SDL_SCANCODE_8: note.SetEffect(8); break;
|
||||
case SDL_SCANCODE_9: note.SetEffect(9); break;
|
||||
case SDL_SCANCODE_A: note.SetEffect(10); break;
|
||||
case SDL_SCANCODE_B: note.SetEffect(11); break;
|
||||
case SDL_SCANCODE_C: note.SetEffect(12); break;
|
||||
case SDL_SCANCODE_D: note.SetEffect(13); break;
|
||||
case SDL_SCANCODE_E: note.SetEffect(14); break;
|
||||
case SDL_SCANCODE_F: note.SetEffect(15); break;
|
||||
case SDL_SCANCODE_0: note.SetEffect(0); playNote(note); break;
|
||||
case SDL_SCANCODE_1: note.SetEffect(1); playNote(note); break;
|
||||
case SDL_SCANCODE_2: note.SetEffect(2); playNote(note); break;
|
||||
case SDL_SCANCODE_3: note.SetEffect(3); playNote(note); break;
|
||||
case SDL_SCANCODE_4: note.SetEffect(4); playNote(note); break;
|
||||
case SDL_SCANCODE_5: note.SetEffect(5); playNote(note); break;
|
||||
case SDL_SCANCODE_6: note.SetEffect(6); playNote(note); break;
|
||||
case SDL_SCANCODE_7: note.SetEffect(7); playNote(note); break;
|
||||
case SDL_SCANCODE_8: note.SetEffect(8); playNote(note); break;
|
||||
case SDL_SCANCODE_9: note.SetEffect(9); playNote(note); break;
|
||||
case SDL_SCANCODE_A: note.SetEffect(10); playNote(note); break;
|
||||
case SDL_SCANCODE_B: note.SetEffect(11); playNote(note); break;
|
||||
case SDL_SCANCODE_C: note.SetEffect(12); playNote(note); break;
|
||||
case SDL_SCANCODE_D: note.SetEffect(13); playNote(note); break;
|
||||
case SDL_SCANCODE_E: note.SetEffect(14); playNote(note); break;
|
||||
case SDL_SCANCODE_F: note.SetEffect(15); playNote(note); break;
|
||||
default: break;
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user