aboutsummaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
authorJamieson Christian2003-07-26 19:37:54 +0000
committerJamieson Christian2003-07-26 19:37:54 +0000
commitbe898b414fa6199d17a4954e912fad2e6d5c6fa7 (patch)
treee8a2e13b91e39c216d882d820664efe8821cf1fe /sound
parent8b358b120886783e5837fbbea6077104b9ce5012 (diff)
downloadscummvm-rg350-be898b414fa6199d17a4954e912fad2e6d5c6fa7.tar.gz
scummvm-rg350-be898b414fa6199d17a4954e912fad2e6d5c6fa7.tar.bz2
scummvm-rg350-be898b414fa6199d17a4954e912fad2e6d5c6fa7.zip
For for Bug [775654] DOTT: Hanging notes
Corrected active notes tracking when switching between Type 2 SMF tracks. Although Note Off events from the previous track are properly simulated, those sustaining notes are cleared from the active notes list so that jumps within the new track will not attempt to sustain them again. svn-id: r9194
Diffstat (limited to 'sound')
-rw-r--r--sound/midiparser.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/sound/midiparser.cpp b/sound/midiparser.cpp
index 6caae0508b..f9d360f6e9 100644
--- a/sound/midiparser.cpp
+++ b/sound/midiparser.cpp
@@ -263,6 +263,7 @@ bool MidiParser::setTrack (int track) {
allNotesOff();
resetTracking();
+ memset (_active_notes, 0, sizeof(_active_notes));
_active_track = track;
_position._play_pos = _tracks[track];
parseNextEvent (_next_event);