From 7e34c7746eed5df8147683f058bd998834b91f03 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Wed, 30 Mar 2022 00:08:04 -0500 Subject: [PATCH] change the porta logic a bit --- src/engine/playback.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/engine/playback.cpp b/src/engine/playback.cpp index ce2e485b6..0e1922b34 100644 --- a/src/engine/playback.cpp +++ b/src/engine/playback.cpp @@ -815,13 +815,12 @@ void DivEngine::processRow(int i, bool afterDelay) { if (chan[i].delayLocked) return; // instrument + bool insChanged=false; if (pat->data[whatRow][2]!=-1) { dispatchCmd(DivCommand(DIV_CMD_INSTRUMENT,i,pat->data[whatRow][2])); if (chan[i].lastIns!=pat->data[whatRow][2]) { chan[i].lastIns=pat->data[whatRow][2]; - if (chan[i].inPorta && song.newInsTriggersInPorta) { - dispatchCmd(DivCommand(DIV_CMD_NOTE_ON,i,DIV_NOTE_NULL)); - } + insChanged=true; } } // note @@ -894,6 +893,7 @@ void DivEngine::processRow(int i, bool afterDelay) { chan[i].retrigSpeed=0; short lastSlide=-1; + bool calledPorta=false; // effects for (int j=0; j