diff options
author | Vitaly Novichkov <admin@wohlnet.ru> | 2019-07-07 02:38:33 +0300 |
---|---|---|
committer | Vitaly Novichkov <admin@wohlnet.ru> | 2019-07-07 02:38:33 +0300 |
commit | a1e6586b78d9595c88a3266a7638ef7ff0963943 (patch) | |
tree | 3a456f3c9c3e33425f4c44189b40ce3c3f05ff12 | |
parent | 603dc987b719dc13c74b36db8661540b729c5a12 (diff) | |
download | libADLMIDI-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.cpp | 4 | ||||
-rw-r--r-- | src/adlmidi_load.cpp | 1 | ||||
-rw-r--r-- | src/adlmidi_midiplay.cpp | 7 |
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 ? |