From 8bb875fa7ae4ecf81fceb6043ebd2e026aa499fb Mon Sep 17 00:00:00 2001 From: Wohlstand Date: Wed, 2 Sep 2020 10:29:58 +0300 Subject: Fixed the "Fixed" variant of Apogee volume model --- src/adlmidi_opl3.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/adlmidi_opl3.cpp b/src/adlmidi_opl3.cpp index 43bab86..1e78227 100644 --- a/src/adlmidi_opl3.cpp +++ b/src/adlmidi_opl3.cpp @@ -681,11 +681,12 @@ void OPL3::touchNote(size_t c, { uint_fast32_t mod = tlCar; + tlMod = 63 - tlMod; + tlMod *= velocity + 0x80; + if(m_volumeScale == Synth::VOLUME_APOGEE_FIXED || mode > 1) mod = tlMod; // Fix the AM voices bug - tlMod = 63 - tlMod; - tlMod *= velocity + 0x80; // NOTE: Here is a bug of Apogee Sound System that makes modulator // to not work properly on AM instruments. The fix of this bug, you // need to replace the tlCar with tmMod in this formula. -- cgit v1.2.3