diff options
-rw-r--r-- | sound/softsynth/mt32/freeverb.cpp | 2 | ||||
-rw-r--r-- | sound/softsynth/mt32/part.cpp | 1 | ||||
-rw-r--r-- | sound/softsynth/mt32/synth.cpp | 3 |
3 files changed, 4 insertions, 2 deletions
diff --git a/sound/softsynth/mt32/freeverb.cpp b/sound/softsynth/mt32/freeverb.cpp index 2a372fe19f..4ee6e20117 100644 --- a/sound/softsynth/mt32/freeverb.cpp +++ b/sound/softsynth/mt32/freeverb.cpp @@ -125,12 +125,12 @@ revmodel::revmodel() { allpassR[2].setfeedback(0.5f); allpassL[3].setfeedback(0.5f); allpassR[3].setfeedback(0.5f); + setmode(initialmode); setwet(initialwet); setroomsize(initialroom); setdry(initialdry); setdamp(initialdamp); setwidth(initialwidth); - setmode(initialmode); // Buffer will be full of rubbish - so we MUST mute them mute(); diff --git a/sound/softsynth/mt32/part.cpp b/sound/softsynth/mt32/part.cpp index b3d71bccca..eb087f7ea0 100644 --- a/sound/softsynth/mt32/part.cpp +++ b/sound/softsynth/mt32/part.cpp @@ -283,6 +283,7 @@ void Part::cacheTimbre(PatchCache cache[4], const TimbreParam *timbre) { backupCacheToPartials(cache); int partialCount = 0; for (int t = 0; t < 4; t++) { + cache[t].PCMPartial = false; if (((timbre->common.pmute >> t) & 0x1) == 1) { cache[t].playPartial = true; partialCount++; diff --git a/sound/softsynth/mt32/synth.cpp b/sound/softsynth/mt32/synth.cpp index 8cf2233654..55ca11ced7 100644 --- a/sound/softsynth/mt32/synth.cpp +++ b/sound/softsynth/mt32/synth.cpp @@ -337,7 +337,8 @@ bool Synth::initRhythmTimbre(int timbreNum, const Bit8u *mem, unsigned int memLe memcpy(&timbre->common, mem, 14); unsigned int memPos = 14; char drumname[11]; - Common::strlcpy(drumname, timbre->common.name, 11); + memset(drumname, 0, 11); + memcpy(drumname, timbre->common.name, 10); for (int t = 0; t < 4; t++) { if (((timbre->common.pmute >> t) & 0x1) == 0x1) { if (memPos + 58 >= memLen) { |