void Timbre::prepareForNextBlock() { this->lfo[0]->nextValueInMatrix(); this->lfo[1]->nextValueInMatrix(); this->lfo[2]->nextValueInMatrix(); this->lfo[3]->nextValueInMatrix(); this->lfo[4]->nextValueInMatrix(); this->lfo[5]->nextValueInMatrix(); this->lfo[6]->nextValueInMatrix(); this->matrix.computeAllFutureDestintationAndSwitch(); updateAllModulationIndexes(); updateAllMixOscsAndPans(); float *sp = this->sampleBlock; while (sp < this->sbMax) { *sp++ = 0; *sp++ = 0; *sp++ = 0; *sp++ = 0; *sp++ = 0; *sp++ = 0; *sp++ = 0; *sp++ = 0; } }
void Timbre::prepareForNextBlock() { // Apeggiator clock : internal if (params.engineArp1.clock == CLOCK_INTERNAL) { arpegiatorStep+=1.0f; if (unlikely((arpegiatorStep) > ticksEveryNCalls)) { arpegiatorStep -= ticksEveyNCallsInteger; Tick(); } } this->lfoOsc[0].nextValueInMatrix(); this->lfoOsc[1].nextValueInMatrix(); this->lfoOsc[2].nextValueInMatrix(); this->lfoEnv[0].nextValueInMatrix(); this->lfoEnv2[0].nextValueInMatrix(); this->lfoStepSeq[0].nextValueInMatrix(); this->lfoStepSeq[1].nextValueInMatrix(); this->matrix.computeAllFutureDestintationAndSwitch(); updateAllModulationIndexes(); updateAllMixOscsAndPans(); }