void onProcess(AudioIOData& io){ mAmpEnv.totalLength(mDur, 1); while(io()){ float s1 = mOsc() * mAmpEnv() * mAmp; float s2; mPan(s1, s1,s2); io.out(0) += s1; io.out(1) += s2; } if(mAmpEnv.done()) free(); }
void onProcess(AudioIOData& io){ mAmpEnv.totalLength(mDur, 1); mTrmEnv.totalLength(mDur); while(io()){ mTrm.freq(mTrmEnv()); //float trmAmp = mAmp - mTrm()*mTrmDepth; // Replaced with line below float trmAmp = (mTrm()*0.5+0.5)*mTrmDepth + (1-mTrmDepth); // Corrected float s1 = mOsc() * mAmpEnv() * trmAmp * mAmp; float s2; mPan(s1, s1,s2); io.out(0) += s1; io.out(1) += s2; } if(mAmpEnv.done()) free(); }
void onProcess(AudioIOData& io){ mAmpEnv.totalLength(mDur, 1); mVibEnv.lengths()[0] = mDur * (1-mVibRise); mVibEnv.lengths()[1] = mDur * mVibRise; while(io()){ mVib.freq(mVibEnv()); mOsc.freq(mOscFrq + mVib()*mVibDepth*mOscFrq); float s1 = mOsc() * mAmpEnv() * mAmp; float s2; mPan(s1, s1,s2); io.out(0) += s1; io.out(1) += s2; } if(mAmpEnv.done()) free(); }
void onProcess(AudioIOData& io) { mEnvStri.totalLength(mDur, 1); mEnvLow.totalLength(mDur, 1); mEnvUp.totalLength(mDur, 1); while(io()) { float s1 = (mOsc1() + mOsc2() + mOsc3()) * mEnvStri() * mAmpStri; s1 += (mOsc4() + mOsc5()) * mEnvLow() * mAmpLow; s1 += (mOsc6() + mOsc7() + mOsc8() + mOsc9()) * mEnvUp() * mAmpUp; s1 *= mAmp; float s2; mPan(s1, s1,s2); io.out(0) += s1; io.out(1) += s2; } if(mEnvStri.done()) free(); }
void onProcess(AudioIOData& io){ mAmpEnv.totalLength(mDur, 1); mCFEnv.totalLength(mDur); mBWEnv.totalLength(mDur); while(io()){ // mix oscillator with noise float s1 = mOsc()*(1-mNoiseMix) + mNoise()*mNoiseMix; // apply resonant filter mRes.set(mCFEnv(), mBWEnv()); s1 = mRes(s1); // appy amplitude envelope s1 *= mAmpEnv() * mAmp; float s2; mPan(s1, s1,s2); io.out(0) += s1; io.out(1) += s2; } if(mAmpEnv.done()) free(); }