diff --git a/include/FluidSCWrapper.hpp b/include/FluidSCWrapper.hpp index 9eaa9db..068a05f 100644 --- a/include/FluidSCWrapper.hpp +++ b/include/FluidSCWrapper.hpp @@ -428,16 +428,16 @@ public: index triggerInput = static_cast(mInBuf[static_cast(mNumInputs) - mSpecialIndex - 2][0]); bool trigger = (mPreviousTrigger <= 0) && triggerInput > 0; mPreviousTrigger = triggerInput; + + mWrapper->mControlsIterator.reset(mInBuf + ControlOffset(this)); + Wrapper::setParams(mWrapper, + mWrapper->params(), mWrapper->mControlsIterator); // forward on inputs N + audio inputs as params + mWrapper->params().constrainParameterValues(); auto& sharedState = mWrapper->state(); mWrapper->mDone = sharedState->mJobDone; if(trigger) { - mWrapper->mControlsIterator.reset(mInBuf + ControlOffset(this)); - Wrapper::setParams(mWrapper, - mWrapper->params(), mWrapper->mControlsIterator); // forward on inputs N + audio inputs as params - mWrapper->params().constrainParameterValues(); - SharedState* statePtr = static_cast(mWorld->ft->fRTAlloc(mWorld, sizeof(SharedState))); statePtr = new (statePtr) SharedState(sharedState); mFifoMsg.Set(mWorld, initNRTJob, nullptr, statePtr);