aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorFilippos Karapetis2010-01-14 16:39:47 +0000
committerFilippos Karapetis2010-01-14 16:39:47 +0000
commit218d04afa127a110bec8056b74d96d77ec9c2680 (patch)
tree9d97dc0692fa91f88fc1be04e8310b82babfd9a1 /engines
parent373700f00a391bcb38a4f54400330defac19be79 (diff)
downloadscummvm-rg350-218d04afa127a110bec8056b74d96d77ec9c2680.tar.gz
scummvm-rg350-218d04afa127a110bec8056b74d96d77ec9c2680.tar.bz2
scummvm-rg350-218d04afa127a110bec8056b74d96d77ec9c2680.zip
Hold pedal is now reset as well when a sound is unloaded
svn-id: r47298
Diffstat (limited to 'engines')
-rw-r--r--engines/sci/sound/midiparser_sci.cpp7
1 files changed, 3 insertions, 4 deletions
diff --git a/engines/sci/sound/midiparser_sci.cpp b/engines/sci/sound/midiparser_sci.cpp
index 421680cab6..00b954c43f 100644
--- a/engines/sci/sound/midiparser_sci.cpp
+++ b/engines/sci/sound/midiparser_sci.cpp
@@ -94,16 +94,15 @@ void MidiParser_SCI::unloadMusic() {
_mixedData = NULL;
}
- // Center the pitch wheels in preparation for the next piece of music
+ // Center the pitch wheels and hold pedal in preparation for the next piece of music
// TODO: We should monitor what channels are used by each song, and only
// reset these channels, not all of them!
if (_driver) {
for (int i = 0; i < 16; ++i) {
- _driver->send(0xE0 | i, 0, 0x40);
+ _driver->send(0xE0 | i, 0, 0x40); // Reset pitch wheel
+ _driver->send(0xB0 | i, 0x40, 0); // Reset hold pedal
}
}
-
- // TODO: Reset hold pedal
}
void MidiParser_SCI::parseNextEvent(EventInfo &info) {