Esempio n. 1
0
    void process(AUAudioFrameCount frameCount, AUAudioFrameCount bufferOffset) override {

        for (int frameIndex = 0; frameIndex < frameCount; ++frameIndex) {

            int frameOffset = int(frameIndex + bufferOffset);

            wah = wahRamper.getAndStep();
            *autowah->wah = (float)wah;
            mix = mixRamper.getAndStep();
            *autowah->mix = (float)mix;
            amplitude = amplitudeRamper.getAndStep();
            *autowah->level = (float)amplitude;

            for (int channel = 0; channel < channels; ++channel) {
                float *in  = (float *)inBufferListPtr->mBuffers[channel].mData  + frameOffset;
                float *out = (float *)outBufferListPtr->mBuffers[channel].mData + frameOffset;
                
                if (started) {
                    sp_autowah_compute(sp, autowah, in, out);
                } else {
                    *out = *in;
                }
            }
        }
    }
Esempio n. 2
0
void process(sp_data *sp, void *udata) {
    UserData *ud = udata;
    SPFLOAT disk = 0, autowah = 0;
    sp_diskin_compute(sp, ud->disk, NULL, &disk);
    sp_autowah_compute(sp, ud->autowah, &disk, &autowah);
    sp->out[0] = autowah;
}