aboutsummaryrefslogtreecommitdiff
path: root/src/adlmidi_opl3.cpp
diff options
context:
space:
mode:
authorWohlstand <admin@wohlnet.ru>2020-08-24 13:32:11 +0300
committerWohlstand <admin@wohlnet.ru>2020-08-24 13:32:11 +0300
commit761bd05f107b856c8aefeb3e753fa94221f926bc (patch)
tree73f9bfa83f4cb00239b2fc548b6f5bd7d07cd219 /src/adlmidi_opl3.cpp
parent22d2506f5308094e706ec152ec64cfc92ef12876 (diff)
downloadlibADLMIDI-761bd05f107b856c8aefeb3e753fa94221f926bc.tar.gz
libADLMIDI-761bd05f107b856c8aefeb3e753fa94221f926bc.tar.bz2
libADLMIDI-761bd05f107b856c8aefeb3e753fa94221f926bc.zip
Fixed a bug of junk instruments instead of blank
Diffstat (limited to 'src/adlmidi_opl3.cpp')
-rw-r--r--src/adlmidi_opl3.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/adlmidi_opl3.cpp b/src/adlmidi_opl3.cpp
index 3648956..27baa22 100644
--- a/src/adlmidi_opl3.cpp
+++ b/src/adlmidi_opl3.cpp
@@ -320,7 +320,10 @@ void OPL3::setEmbeddedBank(uint32_t bank)
for(size_t instId = 0; instId < 128; instId++)
{
- BanksDump::InstrumentEntry instIn = g_embeddedBanksInstruments[bankData.insts[instId]];
+ midi_bank_idx_t instIndex = bankData.insts[instId];
+ if(instIndex < 0)
+ continue;
+ BanksDump::InstrumentEntry instIn = g_embeddedBanksInstruments[instIndex];
adlinsdata2 &instOut = bankTarget.ins[instId];
adlFromInstrument(instIn, instOut);