diff options
-rw-r--r-- | src/adlmidi_midiplay.cpp | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/src/adlmidi_midiplay.cpp b/src/adlmidi_midiplay.cpp index 22b1cc1..8d17eeb 100644 --- a/src/adlmidi_midiplay.cpp +++ b/src/adlmidi_midiplay.cpp @@ -1356,13 +1356,18 @@ int64_t MIDIplay::calculateChipChannelGoodness(size_t c, const MIDIchannel::Note allocType = ADLMIDI_ChanAlloc_SameInst; break; - case Synth::VOLUME_HMI: - case Synth::VOLUME_HMI_OLD: - allocType = ADLMIDI_ChanAlloc_AnyReleased; // HMI doesn't care about the same instrument - break; - default: - allocType = ADLMIDI_ChanAlloc_OffDelay; + switch(synth.m_volumeScale) + { + case Synth::VOLUME_HMI: + case Synth::VOLUME_HMI_OLD: + allocType = ADLMIDI_ChanAlloc_AnyReleased; // HMI doesn't care about the same instrument + break; + + default: + allocType = ADLMIDI_ChanAlloc_OffDelay; + break; + } break; } } |