diff options
Diffstat (limited to 'engines/sci/sound/music.cpp')
| -rw-r--r-- | engines/sci/sound/music.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/engines/sci/sound/music.cpp b/engines/sci/sound/music.cpp index 55013f4db6..95e3c66221 100644 --- a/engines/sci/sound/music.cpp +++ b/engines/sci/sound/music.cpp @@ -317,6 +317,12 @@ void SciMusic::soundInitSnd(MusicEntry *pSnd) { // Find out what channels to filter for SCI0 channelFilterMask = pSnd->soundRes->getChannelFilterMask(_pMidiDrv->getPlayId(_soundVersion)); + + // Enable rhythm channel when requested + channelFilterMask &= ~(1 << MIDI_RHYTHM_CHANNEL); + if (_pMidiDrv->hasRhythmChannel()) + channelFilterMask |= (1 << MIDI_RHYTHM_CHANNEL); + pSnd->pMidiParser->loadMusic(track, pSnd, channelFilterMask, _soundVersion); // Fast forward to the last position and perform associated events when loading |
