From f5f1a2948601da360fa927573ba243319afb4a15 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Thu, 24 Aug 2023 15:28:04 -0500 Subject: [PATCH] macroInt fixes issue #1412 --- src/engine/macroInt.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/engine/macroInt.cpp b/src/engine/macroInt.cpp index e06f61b57..769a43a47 100644 --- a/src/engine/macroInt.cpp +++ b/src/engine/macroInt.cpp @@ -56,6 +56,7 @@ void DivMacroStruct::doMacro(DivInstrumentMacro& source, bool released, bool tic has=false; return; } + if (released && type==1) delay=0; if (delay>0) { delay--; if (!linger) had=false; @@ -404,13 +405,16 @@ void DivMacroInt::init(DivInstrument* which) { if ((macroSource[i]->open&6)==4) { hasRelease=false; } else if ((macroSource[i]->open&6)==2) { - hasRelease=true; + if (macroSource[i]->val[8]>0) { + hasRelease=true; + } } else { hasRelease=(macroSource[i]->rellen); } } else { hasRelease=false; } + if (hasRelease) break; } }