diff options
Diffstat (limited to 'scumm/imuse.cpp')
-rw-r--r-- | scumm/imuse.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/scumm/imuse.cpp b/scumm/imuse.cpp index f4492acd45..2f12865ff1 100644 --- a/scumm/imuse.cpp +++ b/scumm/imuse.cpp @@ -1531,8 +1531,14 @@ void Part::noteOn(byte note, byte velocity) { mc = _player->getMidiDriver()->getPercussionChannel(); if (!mc) return; - mc->volume(_vol_eff); -// mc->programChange(_bank); + static byte prev_vol_eff = 128; + if (_vol_eff != prev_vol_eff){ + mc->volume(_vol_eff); + prev_vol_eff = _vol_eff; + } + if ((note < 35) && (!_player->_se->isNativeMT32())) + note = Instrument::_gmRhythmMap[note]; + mc->noteOn(note, velocity); } } |