From 8675cdf8029310090161fce383bf764b92704e17 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Thu, 28 Apr 2022 05:38:28 -0500 Subject: [PATCH] OPL 4-op note preview possible fix --- src/engine/engine.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/engine/engine.cpp b/src/engine/engine.cpp index 5abd2d53..b5b60b90 100644 --- a/src/engine/engine.cpp +++ b/src/engine/engine.cpp @@ -2175,7 +2175,7 @@ void DivEngine::autoNoteOn(int ch, int ins, int note, int vol) { // 2. find a free channel do { - if (isViable[finalChan] && chan[finalChan].midiNote==-1 && getChannelType(finalChan)==finalChanType) { + if (isViable[finalChan] && chan[finalChan].midiNote==-1 && (insInst->type==DIV_INS_OPL || getChannelType(finalChan)==finalChanType)) { chan[finalChan].midiNote=note; chan[finalChan].midiAge=midiAgeCounter++; pendingNotes.push(DivNoteEvent(finalChan,ins,note,vol,true)); @@ -2189,7 +2189,7 @@ void DivEngine::autoNoteOn(int ch, int ins, int note, int vol) { // 3. find the oldest channel int candidate=finalChan; do { - if (isViable[finalChan] && getChannelType(finalChan)==finalChanType && chan[finalChan].midiAgetype==DIV_INS_OPL || getChannelType(finalChan)==finalChanType) && chan[finalChan].midiAge=chans) {