diff options
Diffstat (limited to 'backends/midi/mt32/synth.cpp')
-rw-r--r-- | backends/midi/mt32/synth.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/backends/midi/mt32/synth.cpp b/backends/midi/mt32/synth.cpp index 4c697b893f..9e11fb2bbf 100644 --- a/backends/midi/mt32/synth.cpp +++ b/backends/midi/mt32/synth.cpp @@ -117,7 +117,7 @@ Synth::Synth() { isOpen = false; reverbModel = NULL; partialManager = NULL; - memset(waveforms, 0, sizeof(waveforms)); + memset(noteLookups, 0, sizeof(noteLookups)); memset(parts, 0, sizeof(parts)); } @@ -690,11 +690,12 @@ void Synth::close(void) { if (!isOpen) return; - for (int t = 0; t < 4; t++) { + for (int t = 0; t < 3; t++) { for (int m = 0; m < NUM_NOTES; m++) { - if (waveforms[t][m]!=NULL) { - delete[] waveforms[t][m]; - waveforms[t][m] = NULL; + if (noteLookups[m].waveforms[t] != NULL) { + delete[] noteLookups[m].waveforms[t]; + noteLookups[m].waveforms[t] = NULL; + noteLookups[m].waveformSize[t] = 0; } } } |