aboutsummaryrefslogtreecommitdiff
path: root/scumm/imuse.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'scumm/imuse.cpp')
-rw-r--r--scumm/imuse.cpp10
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);
}
}