aboutsummaryrefslogtreecommitdiff
path: root/src/adlmidi.cpp
diff options
context:
space:
mode:
authorWohlstand <admin@wohlnet.ru>2017-11-07 02:40:13 +0300
committerWohlstand <admin@wohlnet.ru>2017-11-07 02:40:13 +0300
commit5ebf40cd10d59c5e11ea744cc7b6075ee4c1bc90 (patch)
tree3a6dfc768c44046afd28f2133a6e964dfad656db /src/adlmidi.cpp
parent22350acc1f699f70cbdac6b5facadd0d6ccc8a7f (diff)
downloadlibADLMIDI-5ebf40cd10d59c5e11ea744cc7b6075ee4c1bc90.tar.gz
libADLMIDI-5ebf40cd10d59c5e11ea744cc7b6075ee4c1bc90.tar.bz2
libADLMIDI-5ebf40cd10d59c5e11ea744cc7b6075ee4c1bc90.zip
Custom WOPL now supports multiple banks
Feel free to create something like GS or XG bank :wink:
Diffstat (limited to 'src/adlmidi.cpp')
-rw-r--r--src/adlmidi.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/adlmidi.cpp b/src/adlmidi.cpp
index dc9c980..8ee5996 100644
--- a/src/adlmidi.cpp
+++ b/src/adlmidi.cpp
@@ -93,10 +93,7 @@ ADLMIDI_EXPORT int adl_setBank(ADL_MIDIPlayer *device, int bank)
bankno = 0;
MIDIplay *play = reinterpret_cast<MIDIplay *>(device->adl_midiPlayer);
- play->m_setup.AdlBank = static_cast<uint32_t>(bankno);
- play->opl.AdlBank = play->m_setup.AdlBank;
-
- if(play->m_setup.AdlBank >= NumBanks)
+ if(static_cast<uint32_t>(bankno) >= NumBanks)
{
std::stringstream s;
s << "bank number may only be 0.." << (NumBanks - 1) << ".\n";
@@ -104,6 +101,9 @@ ADLMIDI_EXPORT int adl_setBank(ADL_MIDIPlayer *device, int bank)
return -1;
}
+ play->m_setup.AdlBank = static_cast<uint32_t>(bankno);
+ play->opl.setEmbeddedBank(play->m_setup.AdlBank);
+
return adlRefreshNumCards(device);
#endif
}