aboutsummaryrefslogtreecommitdiff
path: root/src/adlmidi_load.cpp
diff options
context:
space:
mode:
authorWohlstand <admin@wohlnet.ru>2017-11-05 21:01:37 +0300
committerWohlstand <admin@wohlnet.ru>2017-11-05 21:01:37 +0300
commit3bcaac365e914b82f80839e047ebedd6b81fc634 (patch)
tree61105b57fac1fed72f5562ee47f7829bb0af1fb0 /src/adlmidi_load.cpp
parent44b9892c91476fe4e64b67f3868322b097003335 (diff)
downloadlibADLMIDI-3bcaac365e914b82f80839e047ebedd6b81fc634.tar.gz
libADLMIDI-3bcaac365e914b82f80839e047ebedd6b81fc634.tar.bz2
libADLMIDI-3bcaac365e914b82f80839e047ebedd6b81fc634.zip
Tri-state for deep-tremolo/vibrato/sm/adlib-percussion modes
By default every flag will have "auto" type which means mode will be set in dependence on a bank.
Diffstat (limited to 'src/adlmidi_load.cpp')
-rw-r--r--src/adlmidi_load.cpp15
1 files changed, 4 insertions, 11 deletions
diff --git a/src/adlmidi_load.cpp b/src/adlmidi_load.cpp
index 387ca12..6f68a11 100644
--- a/src/adlmidi_load.cpp
+++ b/src/adlmidi_load.cpp
@@ -361,19 +361,12 @@ bool MIDIplay::LoadMIDI(MIDIplay::fileReader &fr)
}
/**** Set all properties BEFORE starting of actial file reading! ****/
-
m_setup.stored_samples = 0;
m_setup.backup_samples_size = 0;
-
- /*
- * TODO: Implement tri-state: "AUTO (use bank default setup), force On, force Off"
- * for thuse four flags:
- */
- opl.HighTremoloMode = m_setup.HighTremoloMode;
- opl.HighVibratoMode = m_setup.HighVibratoMode;
- opl.AdlPercussionMode = m_setup.AdlPercussionMode;
- opl.ScaleModulators = m_setup.ScaleModulators;
-
+ opl.HighTremoloMode = m_setup.HighTremoloMode == -1 ? adlbanksetup[m_setup.AdlBank].deepTremolo : (bool)m_setup.HighTremoloMode;
+ opl.HighVibratoMode = m_setup.HighVibratoMode == -1 ? adlbanksetup[m_setup.AdlBank].deepVibrato : (bool)m_setup.HighVibratoMode;
+ opl.AdlPercussionMode = m_setup.AdlPercussionMode == -1 ? adlbanksetup[m_setup.AdlBank].adLibPercussions : (bool)m_setup.AdlPercussionMode;
+ opl.ScaleModulators = m_setup.ScaleModulators == -1 ? adlbanksetup[m_setup.AdlBank].scaleModulators : (bool)m_setup.ScaleModulators;
opl.LogarithmicVolumes = m_setup.LogarithmicVolumes;
//opl.CartoonersVolumes = false;
opl.m_musicMode = OPL3::MODE_MIDI;