From 63dfa67e16887c550b29ee5a1e97c895a9878441 Mon Sep 17 00:00:00 2001 From: Vitaly Novichkov Date: Wed, 26 Sep 2018 02:58:19 +0300 Subject: Pay attention to releasing notes #181 --- src/adlmidi_load.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/adlmidi_load.cpp') diff --git a/src/adlmidi_load.cpp b/src/adlmidi_load.cpp index 915b587..e86f23e 100644 --- a/src/adlmidi_load.cpp +++ b/src/adlmidi_load.cpp @@ -203,7 +203,7 @@ bool MIDIplay::LoadMIDI_post() adlins.adl[0] = adl; adlins.adl[1] = adl; adlins.ms_sound_kon = 1000; - adlins.ms_sound_koff = 0; + adlins.ms_sound_koff = 500; adlins.tone = 0; adlins.flags = 0; adlins.voice2_fine_tune = 0.0; -- cgit v1.2.3 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_load.cpp | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'src/adlmidi_load.cpp') diff --git a/src/adlmidi_load.cpp b/src/adlmidi_load.cpp index e86f23e..07ad875 100644 --- a/src/adlmidi_load.cpp +++ b/src/adlmidi_load.cpp @@ -1,4 +1,4 @@ -/* +/* * libADLMIDI is a free MIDI to WAV conversion library with OPL3 emulation * * Original ADLMIDI code: Copyright (c) 2010-2014 Joel Yliluoma @@ -214,20 +214,36 @@ bool MIDIplay::LoadMIDI_post() m_synth.m_rhythmMode = true; m_synth.m_musicMode = OPL3::MODE_CMF; m_synth.m_volumeScale = OPL3::VOLUME_NATIVE; + + m_synth.m_numChips = 1; + m_synth.m_numFourOps = 0; } else if(format == MidiSequencer::Format_RSXX) { //opl.CartoonersVolumes = true; m_synth.m_musicMode = OPL3::MODE_RSXX; m_synth.m_volumeScale = OPL3::VOLUME_NATIVE; + + m_synth.m_numChips = 1; + m_synth.m_numFourOps = 0; } else if(format == MidiSequencer::Format_IMF) { //std::fprintf(stderr, "Done reading IMF file\n"); m_synth.m_numFourOps = 0; //Don't use 4-operator channels for IMF playing! m_synth.m_musicMode = OPL3::MODE_IMF; + + m_synth.m_numChips = 1; + m_synth.m_numFourOps = 0; + } + else + { + m_synth.m_numChips = m_setup.numChips; + if(m_setup.numFourOps < 0) + adlCalculateFourOpChannels(this, true); } + m_setup.tick_skip_samples_delay = 0; m_synth.reset(m_setup.emulator, m_setup.PCM_RATE, this); // Reset OPL3 chip //opl.Reset(); // ...twice (just in case someone misprogrammed OPL3 previously) m_chipChannels.clear(); -- cgit v1.2.3