diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/adlmidi.cpp | 3 | ||||
-rw-r--r-- | src/adlmidi_opl3.cpp | 3 |
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]; |