macroInt fixes

issue #1412
This commit is contained in:
tildearrow 2023-08-24 15:28:04 -05:00
parent a31b847f32
commit f5f1a29486

View file

@ -56,6 +56,7 @@ void DivMacroStruct::doMacro(DivInstrumentMacro& source, bool released, bool tic
has=false; has=false;
return; return;
} }
if (released && type==1) delay=0;
if (delay>0) { if (delay>0) {
delay--; delay--;
if (!linger) had=false; if (!linger) had=false;
@ -404,13 +405,16 @@ void DivMacroInt::init(DivInstrument* which) {
if ((macroSource[i]->open&6)==4) { if ((macroSource[i]->open&6)==4) {
hasRelease=false; hasRelease=false;
} else if ((macroSource[i]->open&6)==2) { } else if ((macroSource[i]->open&6)==2) {
hasRelease=true; if (macroSource[i]->val[8]>0) {
hasRelease=true;
}
} else { } else {
hasRelease=(macroSource[i]->rel<macroSource[i]->len); hasRelease=(macroSource[i]->rel<macroSource[i]->len);
} }
} else { } else {
hasRelease=false; hasRelease=false;
} }
if (hasRelease) break;
} }
} }