aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/sci/sound/midiparser_sci.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/engines/sci/sound/midiparser_sci.cpp b/engines/sci/sound/midiparser_sci.cpp
index 4766118f52..cb43f6c3a1 100644
--- a/engines/sci/sound/midiparser_sci.cpp
+++ b/engines/sci/sound/midiparser_sci.cpp
@@ -672,9 +672,11 @@ void MidiParser_SCI::setVolume(byte volume) {
case SCI_VERSION_1_EARLY:
case SCI_VERSION_1_LATE:
- // sending volume change to all used channels
+ // sending volume change to all currently mapped channels
+ // FIXME?: maybe we should better store new volume if music isn't playing currently and adjust volume
+ // when playing
for (int i = 0; i < 15; i++)
- if (_channelUsed[i])
+ if (_channelRemap[i] != -1)
sendToDriver(0xB0 + i, 7, _volume);
break;