From 0f2a76b526807bf6ccb0c6c5f2b4ddb684796f61 Mon Sep 17 00:00:00 2001 From: Paul Walker Date: Mon, 21 Oct 2024 10:32:55 -0400 Subject: [PATCH 1/2] Fix an EOC in temposync ommission in EGxVCA In tepmosyc/clock mode the EOC would not fire on the change on end of cycle, due to a nesting error in the code really. Closes #1021 --- src/EGxVCA.h | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/src/EGxVCA.h b/src/EGxVCA.h index bc11f98..ecd1204 100644 --- a/src/EGxVCA.h +++ b/src/EGxVCA.h @@ -574,6 +574,7 @@ struct EGxVCA : modules::XTModule, sst::rackhelpers::module_connector::NeighborC eocCountdown[c] = eocInit; } } + auto pst = procs[c]->stage; if (tempoSynced) { auto av = aTS + modAssist.modvalues[EG_A][c]; @@ -585,30 +586,29 @@ struct EGxVCA : modules::XTModule, sst::rackhelpers::module_connector::NeighborC } else { - auto pst = procs[c]->stage; procs[c]->process(modAssist.values[EG_A][c], modAssist.values[EG_D][c], modAssist.values[EG_S][c], modAssist.values[EG_R][c], as, ds, rs, inputs[GATE_IN].getVoltage(polyGate * c) > 2); - auto nst = procs[c]->stage; + } + auto nst = procs[c]->stage; - if (pst != nst) - { - if (ett == ALL_TRANSITIONS || (nst == ENVT::s_attack && ett == START_ATTACK) || - (nst == ENVT::s_decay && ett == START_DECAY) || - (nst == ENVT::s_sustain && !getMode() && ett == START_SUSTAIN) || - (nst == ENVT::s_sustain && getMode() && ett == START_HOLD) || - (nst == ENVT::s_release && ett == START_RELEASE) || - (nst > ENVT::s_release && ett == EO_CYCLE)) - { - eocCountdown[c] = eocInit; - } - } - else + if (pst != nst) + { + if (ett == ALL_TRANSITIONS || (nst == ENVT::s_attack && ett == START_ATTACK) || + (nst == ENVT::s_decay && ett == START_DECAY) || + (nst == ENVT::s_sustain && !getMode() && ett == START_SUSTAIN) || + (nst == ENVT::s_sustain && getMode() && ett == START_HOLD) || + (nst == ENVT::s_release && ett == START_RELEASE) || + (nst > ENVT::s_release && ett == EO_CYCLE)) { - if (eocCountdown[c]) - eocCountdown[c]--; + eocCountdown[c] = eocInit; } } + else + { + if (eocCountdown[c]) + eocCountdown[c]--; + } } // ToDo - SIMDize From e09bb487aefbbcd9a40532fe142426dea478816d Mon Sep 17 00:00:00 2001 From: Paul Walker Date: Mon, 21 Oct 2024 10:36:07 -0400 Subject: [PATCH 2/2] prep changelog for 2.2.5 --- docs/changelog.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/changelog.md b/docs/changelog.md index 2a7052c..18fab47 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -1,5 +1,10 @@ # Surge XT VCV Modules Changelog +## 2.2.5 + +- Fix a release curve tooltip in EGxVCA +- Fix a problem where EGxVCA with a clock would not fire EOC markers + ## 2.2.4 - Move to the surge 1.3.3 submodule (with a small modification)