aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/adlmidi.cpp3
-rw-r--r--src/adlmidi_opl3.cpp3
2 files changed, 6 insertions, 0 deletions
diff --git a/src/adlmidi.cpp b/src/adlmidi.cpp
index 43ef05a..0e91353 100644
--- a/src/adlmidi.cpp
+++ b/src/adlmidi.cpp
@@ -413,7 +413,10 @@ ADLMIDI_EXPORT int adl_loadEmbeddedBank(struct ADL_MIDIPlayer *device, ADL_Bank
{
midi_bank_idx_t instIdx = bankData.insts[i];
if(instIdx < 0)
+ {
+ it->second.ins[i].flags = adlinsdata::Flag_NoSound;
continue;
+ }
BanksDump::InstrumentEntry instIn = g_embeddedBanksInstruments[instIdx];
adlFromInstrument(instIn, it->second.ins[i]);
}
diff --git a/src/adlmidi_opl3.cpp b/src/adlmidi_opl3.cpp
index 96fa707..b4d116b 100644
--- a/src/adlmidi_opl3.cpp
+++ b/src/adlmidi_opl3.cpp
@@ -353,7 +353,10 @@ void OPL3::setEmbeddedBank(uint32_t bank)
{
midi_bank_idx_t instIndex = bankData.insts[instId];
if(instIndex < 0)
+ {
+ bankTarget.ins[instId].flags = adlinsdata::Flag_NoSound;
continue;
+ }
BanksDump::InstrumentEntry instIn = g_embeddedBanksInstruments[instIndex];
adlinsdata2 &instOut = bankTarget.ins[instId];