From 504d54e8ab65dc68d71ac1a77ad4a393fb69e3e9 Mon Sep 17 00:00:00 2001 From: Jerome Fisher Date: Sun, 14 Nov 2004 08:04:56 +0000 Subject: - Huge cleanup of LUT stuff. - No longer stores a sawtooth waveform twice, once with each sample negated. - More graceful handling of truncated waveformcache files. - Fixed tuning of patterns for non-32KHz sample rates (needs checking). - Note: Waveform cache format changed, will automatically be rebuilt. svn-id: r15804 --- backends/midi/mt32/synth.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'backends/midi/mt32/synth.cpp') 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; } } } -- cgit v1.2.3