Exemplo n.º 1
0
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;
    }
}
Exemplo n.º 2
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();

}