aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVitaly Novichkov <admin@wohlnet.ru>2019-07-07 02:38:33 +0300
committerVitaly Novichkov <admin@wohlnet.ru>2019-07-07 02:38:33 +0300
commita1e6586b78d9595c88a3266a7638ef7ff0963943 (patch)
tree3a456f3c9c3e33425f4c44189b40ce3c3f05ff12
parent603dc987b719dc13c74b36db8661540b729c5a12 (diff)
downloadlibADLMIDI-a1e6586b78d9595c88a3266a7638ef7ff0963943.tar.gz
libADLMIDI-a1e6586b78d9595c88a3266a7638ef7ff0963943.tar.bz2
libADLMIDI-a1e6586b78d9595c88a3266a7638ef7ff0963943.zip
Few fixes
- Don't use rhythm mode with IMF even loaded MIDI bank asks for it - Reduce usage of old database related things
-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 ?