From 3768c903e1f1185eaabf6d4f79ccbcba77eb8a71 Mon Sep 17 00:00:00 2001 From: Wohlstand Date: Tue, 8 Sep 2020 15:10:41 +0300 Subject: All silent instruments must be marked as silent! Fixes #233 --- src/adlmidi.cpp | 3 +++ src/adlmidi_opl3.cpp | 3 +++ 2 files changed, 6 insertions(+) (limited to 'src') 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]; -- cgit v1.2.3