From c971992278519b29768be349dd3962bbd93dbb22 Mon Sep 17 00:00:00 2001 From: Vitaly Novichkov Date: Sun, 30 Sep 2018 04:57:56 +0300 Subject: 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. --- src/adlmidi_opl3.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/adlmidi_opl3.cpp') 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 } -- cgit v1.2.3