diff options
author | Filippos Karapetis | 2011-01-16 11:02:49 +0000 |
---|---|---|
committer | Filippos Karapetis | 2011-01-16 11:02:49 +0000 |
commit | 9339428fc1ac8acb0ccd185994520638dad3ad95 (patch) | |
tree | e019616f7bcbb85ffc9fc14b75170f1decc4b1cc | |
parent | da4201440282afa825f298874ca7482dfac8d024 (diff) | |
download | scummvm-rg350-9339428fc1ac8acb0ccd185994520638dad3ad95.tar.gz scummvm-rg350-9339428fc1ac8acb0ccd185994520638dad3ad95.tar.bz2 scummvm-rg350-9339428fc1ac8acb0ccd185994520638dad3ad95.zip |
MIDI parser: Stop hanging notes when a notes off event is called
This is the same fix as the one in r54429 for the MIDI parser of the SCI engine, based
on patch #3116608. Probably fixes (or is indirectly related to) bugs #2825928 (for
MADE), #2948281 (for SAGA), #2797283 (for tinsel), #2016549 (for SCUMM) and #2138118
(for kyra), as these engines are all using the MidiParser class internally.
svn-id: r55256
-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 465d4dedea..851f91e9b5 100644 --- a/sound/midiparser.cpp +++ b/sound/midiparser.cpp @@ -281,6 +281,7 @@ void MidiParser::allNotesOff() { for (i = 0; i < 16; ++i) { sendToDriver(0xB0 | i, 0x7b, 0); // All notes off + sendToDriver(0xB0 | i, 0x40, 0); // Also send a sustain off event (bug #3116608) } memset(_active_notes, 0, sizeof(_active_notes)); |