diff options
author | Vitaly Novichkov <admin@wohlnet.ru> | 2018-09-30 04:57:56 +0300 |
---|---|---|
committer | Vitaly Novichkov <admin@wohlnet.ru> | 2018-09-30 04:57:56 +0300 |
commit | c971992278519b29768be349dd3962bbd93dbb22 (patch) | |
tree | ee1ece6c4c28a7784c02cc2d9a8aaecc4808fd29 /src/adlmidi_opl3.cpp | |
parent | 4cf3a53ed36e56985753a9d0ec5ba564d6043460 (diff) | |
download | libADLMIDI-c971992278519b29768be349dd3962bbd93dbb22.tar.gz libADLMIDI-c971992278519b29768be349dd3962bbd93dbb22.tar.bz2 libADLMIDI-c971992278519b29768be349dd3962bbd93dbb22.zip |
Lock settings for CMF and IMF playing to don't destroy them
For now, all settings are in safe, except of custom bank that getting be dropped away by CMF file that does passing of own custom instruments.
Diffstat (limited to 'src/adlmidi_opl3.cpp')
-rw-r--r-- | src/adlmidi_opl3.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/adlmidi_opl3.cpp b/src/adlmidi_opl3.cpp index e486dd6..f3672d3 100644 --- a/src/adlmidi_opl3.cpp +++ b/src/adlmidi_opl3.cpp @@ -181,6 +181,13 @@ OPL3::OPL3() : #endif } +bool OPL3::setupLocked() +{ + return (m_musicMode == MODE_CMF || + m_musicMode == MODE_IMF || + m_musicMode == MODE_RSXX); +} + void OPL3::setEmbeddedBank(uint32_t bank) { #ifndef DISABLE_EMBEDDED_BANKS @@ -487,6 +494,7 @@ void OPL3::setPan(size_t c, uint8_t value) int panning = 0; if(value < 64 + 32) panning |= OPL_PANNING_LEFT; if(value >= 64 - 32) panning |= OPL_PANNING_RIGHT; + writePan(chip, g_channelsMap[cc], 64); writeRegI(chip, 0xC0 + g_channelsMap[cc], m_insCache[c].feedconn | panning); #ifndef ADLMIDI_HW_OPL } |