macroInt: add hasRelease variable

This commit is contained in:
tildearrow 2022-06-05 16:24:12 -05:00
parent 6095255fce
commit af0103d76e
2 changed files with 12 additions and 2 deletions

View File

@ -101,6 +101,7 @@ void DivMacroInt::init(DivInstrument* which) {
macroListLen=0;
subTick=1;
hasRelease=false;
released=false;
if (ins==NULL) return;
@ -236,7 +237,12 @@ void DivMacroInt::init(DivInstrument* which) {
}
for (size_t i=0; i<macroListLen; i++) {
macroList[i]->prepare(*macroSource[i],e);
if (macroSource[i]!=NULL) {
macroList[i]->prepare(*macroSource[i],e);
hasRelease=(macroSource[i]->rel>=0 && macroSource[i]->rel<macroSource[i]->len);
} else {
hasRelease=false;
}
}
}

View File

@ -96,6 +96,9 @@ class DivMacroInt {
ksr() {}
} op[4];
// state
bool hasRelease;
/**
* trigger macro release.
*/
@ -149,7 +152,8 @@ class DivMacroInt {
ex5(),
ex6(),
ex7(),
ex8() {
ex8(),
hasRelease(false) {
memset(macroList,0,128*sizeof(void*));
memset(macroSource,0,128*sizeof(void*));
}