aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/adlmidi.cpp4
-rw-r--r--src/adlmidi_load.cpp1
-rw-r--r--src/adlmidi_midiplay.cpp7
3 files changed, 9 insertions, 3 deletions
diff --git a/src/adlmidi.cpp b/src/adlmidi.cpp
index 81a3b1c..dee99d2 100644
--- a/src/adlmidi.cpp
+++ b/src/adlmidi.cpp
@@ -201,7 +201,7 @@ ADLMIDI_EXPORT int adl_getBanksCount()
ADLMIDI_EXPORT const char *const *adl_getBankNames()
{
#ifndef DISABLE_EMBEDDED_BANKS
- return banknames;
+ return g_embeddedBankNames;
#else
return NULL;
#endif
@@ -363,7 +363,7 @@ ADLMIDI_EXPORT int adl_loadEmbeddedBank(struct ADL_MIDIPlayer *device, ADL_Bank
"adl_openBankData() functions instead of adl_loadEmbeddedBank().");
return -1;
#else
- if(num < 0 || num >= maxAdlBanks())
+ if(num < 0 || num >= static_cast<int>(g_embeddedBanksCount))
return -1;
Synth::BankMap::iterator it = Synth::BankMap::iterator::from_ptrs(bank->pointer);
diff --git a/src/adlmidi_load.cpp b/src/adlmidi_load.cpp
index 53f2d0c..57ca035 100644
--- a/src/adlmidi_load.cpp
+++ b/src/adlmidi_load.cpp
@@ -238,6 +238,7 @@ bool MIDIplay::LoadMIDI_post()
{
//std::fprintf(stderr, "Done reading IMF file\n");
synth.m_numFourOps = 0; //Don't use 4-operator channels for IMF playing!
+ synth.m_rhythmMode = false;//Don't enforce rhythm-mode when it's unneeded
synth.m_musicMode = Synth::MODE_IMF;
synth.m_numChips = 1;
diff --git a/src/adlmidi_midiplay.cpp b/src/adlmidi_midiplay.cpp
index b8a8cf7..039b1a9 100644
--- a/src/adlmidi_midiplay.cpp
+++ b/src/adlmidi_midiplay.cpp
@@ -169,7 +169,12 @@ void MIDIplay::applySetup()
#ifndef DISABLE_EMBEDDED_BANKS
if(synth.m_embeddedBank != Synth::CustomBankTag)
- synth.m_insBankSetup = adlbanksetup[m_setup.bankId];
+ {
+ const BanksDump::BankEntry &b = g_embeddedBanks[m_setup.bankId];
+ synth.m_insBankSetup.volumeModel = (b.bankSetup & 0x00FF);
+ synth.m_insBankSetup.deepTremolo = (b.bankSetup >> 8 & 0x0001) != 0;
+ synth.m_insBankSetup.deepVibrato = (b.bankSetup >> 8 & 0x0002) != 0;
+ }
#endif
synth.m_deepTremoloMode = m_setup.deepTremoloMode < 0 ?