From 735082ffbd1e96c6c59618035163b57815f0db80 Mon Sep 17 00:00:00 2001 From: Wohlstand Date: Tue, 1 Sep 2020 11:04:05 +0300 Subject: Reduce the code duplication at OPL3::touchNote() --- src/adlmidi_opl3.cpp | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) (limited to 'src') diff --git a/src/adlmidi_opl3.cpp b/src/adlmidi_opl3.cpp index b6f78b9..522d2fc 100644 --- a/src/adlmidi_opl3.cpp +++ b/src/adlmidi_opl3.cpp @@ -628,7 +628,8 @@ void OPL3::touchNote(size_t c, mode += (i0->feedconn & 1) + (i1->feedconn & 1) * 2; } - + do_modulator = do_ops[mode][0] || m_scaleModulators; + do_carrier = do_ops[mode][1] || m_scaleModulators; // ------ Compute the total level register output data ------ @@ -640,8 +641,6 @@ void OPL3::touchNote(size_t c, m_volumeScale == Synth::VOLUME_APOGEE_FIXED) { // volume = ((64 * (velocity + 0x80)) * volume) >> 15; - do_modulator = do_ops[mode][ 0 ] || m_scaleModulators; - do_carrier = do_ops[mode][1] || m_scaleModulators; if(do_carrier) { @@ -671,8 +670,6 @@ void OPL3::touchNote(size_t c, } else if(m_volumeScale == Synth::VOLUME_DMX && mode <= 1) { - do_modulator = do_ops[mode][ 0 ] || m_scaleModulators; - tlCar = (63 - volume); if(do_modulator) @@ -683,9 +680,6 @@ void OPL3::touchNote(size_t c, } else if(m_volumeScale == Synth::VOLUME_9X) { - do_modulator = do_ops[mode][0] || m_scaleModulators; - do_carrier = do_ops[mode][1] || m_scaleModulators; - if(do_carrier) tlCar += volume + W9X_volume_mapping_table[velocity >> 2]; if(do_modulator) @@ -698,9 +692,6 @@ void OPL3::touchNote(size_t c, } else { - do_modulator = do_ops[ mode ][ 0 ] || m_scaleModulators; - do_carrier = do_ops[ mode ][ 1 ] || m_scaleModulators; - if(do_modulator) tlMod = 63 - volume + (volume * tlMod) / 63; if(do_carrier) -- cgit v1.2.3