aboutsummaryrefslogtreecommitdiff
path: root/backends/midi/mt32/synth.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'backends/midi/mt32/synth.cpp')
-rw-r--r--backends/midi/mt32/synth.cpp11
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;
}
}
}