From c3acbadaf4000538efca1351b3b72b1287071b28 Mon Sep 17 00:00:00 2001 From: Filippos Karapetis Date: Sun, 20 Nov 2011 20:56:43 +0200 Subject: [PATCH] SCI: Reset parameters for all channels used by a song when it starts --- engines/sci/sound/midiparser_sci.cpp | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/engines/sci/sound/midiparser_sci.cpp b/engines/sci/sound/midiparser_sci.cpp index ad7ba7ca365..422948f9750 100644 --- a/engines/sci/sound/midiparser_sci.cpp +++ b/engines/sci/sound/midiparser_sci.cpp @@ -355,17 +355,14 @@ void MidiParser_SCI::sendInitCommands() { } } - // Send a velocity off signal to all channels - for (int i = 0; i < 15; ++i) { - if (_channelUsed[i]) - sendToDriver(0xB0 | i, 0x4E, 0); // Reset velocity - } - - // Center the pitch wheels and hold pedal in preparation for the next piece of music + // Reset all the parameters of the channels used by this song for (int i = 0; i < 16; ++i) { if (_channelUsed[i]) { - sendToDriver(0xE0 | i, 0, 0x40); // Reset pitch wheel - sendToDriver(0xB0 | i, 0x40, 0); // Reset hold pedal + sendToDriver(0xB0 | i, 0x07, 127); // Reset volume to maximum + sendToDriver(0xB0 | i, 0x0A, 64); // Reset panning to center + sendToDriver(0xB0 | i, 0x40, 0); // Reset hold pedal to none + sendToDriver(0xB0 | i, 0x4E, 0); // Reset velocity to none + sendToDriver(0xE0 | i, 0, 64); // Reset pitch wheel to center } } }