aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/sound/music.cpp
diff options
context:
space:
mode:
authorMartin Kiewitz2010-06-19 19:06:58 +0000
committerMartin Kiewitz2010-06-19 19:06:58 +0000
commited50ecd62d21e728480710e64aea79c5d132ac77 (patch)
tree31c65989e2e034f4491eae1472716fe905b9300a /engines/sci/sound/music.cpp
parent996bd693e0ad45d5d5d599b6d5e320c1f52afe8a (diff)
downloadscummvm-rg350-ed50ecd62d21e728480710e64aea79c5d132ac77.tar.gz
scummvm-rg350-ed50ecd62d21e728480710e64aea79c5d132ac77.tar.bz2
scummvm-rg350-ed50ecd62d21e728480710e64aea79c5d132ac77.zip
SCI: make channel remapping stop using channel 0 for mt32 - fixes playback accordingly (like lsl1 at the start)
svn-id: r50056
Diffstat (limited to 'engines/sci/sound/music.cpp')
-rw-r--r--engines/sci/sound/music.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/engines/sci/sound/music.cpp b/engines/sci/sound/music.cpp
index 96257b1f9d..6e12ac7409 100644
--- a/engines/sci/sound/music.cpp
+++ b/engines/sci/sound/music.cpp
@@ -103,6 +103,9 @@ void SciMusic::init() {
}
_bMultiMidi = ConfMan.getBool("multi_midi");
+
+ // Find out what the first possible channel is (used, when doing channel remapping)
+ _driverFirstChannel = _pMidiDrv->getFirstChannel();
}
void SciMusic::clearPlayList() {
@@ -241,7 +244,7 @@ int16 SciMusic::tryToOwnChannel(MusicEntry *caller, int16 bestChannel) {
return bestChannel;
}
// otherwise look for unused channel
- for (int channelNr = 0; channelNr < 15; channelNr++) {
+ for (int channelNr = _driverFirstChannel; channelNr < 15; channelNr++) {
if (!_usedChannel[channelNr]) {
_usedChannel[channelNr] = caller;
return channelNr;