diff options
author | Jamieson Christian | 2003-07-26 19:37:54 +0000 |
---|---|---|
committer | Jamieson Christian | 2003-07-26 19:37:54 +0000 |
commit | be898b414fa6199d17a4954e912fad2e6d5c6fa7 (patch) | |
tree | e8a2e13b91e39c216d882d820664efe8821cf1fe | |
parent | 8b358b120886783e5837fbbea6077104b9ce5012 (diff) | |
download | scummvm-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
-rw-r--r-- | sound/midiparser.cpp | 1 |
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); |