aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/sound
diff options
context:
space:
mode:
authorFilippos Karapetis2010-11-23 16:03:30 +0000
committerFilippos Karapetis2010-11-23 16:03:30 +0000
commitd438b739cf7c3a71627eae58bcf19d8fb5ad9828 (patch)
treec3167acc89d8a4aceaf2623510a6be8b755aaf55 /engines/sci/sound
parent23bd8a1c26cb949eefe21e1b3a0047b73075dae7 (diff)
downloadscummvm-rg350-d438b739cf7c3a71627eae58bcf19d8fb5ad9828.tar.gz
scummvm-rg350-d438b739cf7c3a71627eae58bcf19d8fb5ad9828.tar.bz2
scummvm-rg350-d438b739cf7c3a71627eae58bcf19d8fb5ad9828.zip
SCI: Also send a sustain off on a notes off event (patch from bug #3116608)
svn-id: r54429
Diffstat (limited to 'engines/sci/sound')
-rw-r--r--engines/sci/sound/midiparser_sci.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/engines/sci/sound/midiparser_sci.cpp b/engines/sci/sound/midiparser_sci.cpp
index d53f919f8f..abd3894d9a 100644
--- a/engines/sci/sound/midiparser_sci.cpp
+++ b/engines/sci/sound/midiparser_sci.cpp
@@ -653,8 +653,10 @@ void MidiParser_SCI::allNotesOff() {
// support this...).
for (i = 0; i < 16; ++i) {
- if (_channelRemap[i] != -1)
+ if (_channelRemap[i] != -1) {
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));