void process(AUAudioFrameCount frameCount, AUAudioFrameCount bufferOffset) override { float *outL = (float *)outBufferListPtr->mBuffers[0].mData + bufferOffset; float *outR = (float *)outBufferListPtr->mBuffers[1].mData + bufferOffset; standardBankGetAndSteps(); AKBankDSPKernel::NoteState *noteState = playingNotes; while (noteState) { noteState->run(frameCount, outL, outR); noteState = noteState->next; } currentRunningIndex += frameCount / 2; for (AUAudioFrameCount i = 0; i < frameCount; ++i) { outL[i] *= .5f; outR[i] *= .5f; } }
void process(AUAudioFrameCount frameCount, AUAudioFrameCount bufferOffset) override { float* outL = (float*)outBufferListPtr->mBuffers[0].mData + bufferOffset; float* outR = (float*)outBufferListPtr->mBuffers[1].mData + bufferOffset; carrierMultiplier = double(carrierMultiplierRamper.getAndStep()); modulatingMultiplier = double(modulatingMultiplierRamper.getAndStep()); modulationIndex = double(modulationIndexRamper.getAndStep()); standardBankGetAndSteps() NoteState* noteState = playingNotes; while (noteState) { noteState->run(frameCount, outL, outR); noteState = noteState->next; } currentRunningIndex += frameCount / 2; for (AUAudioFrameCount i = 0; i < frameCount; ++i) { outL[i] *= .5f; outR[i] *= .5f; } }