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