void onAudio(AudioIOData& io){ while(io()){ if(tmr()) src.reset(); float s = src(); // Read the end of the delay line to get the echo float echo = delay(); // Low-pass filter and attenuate the echo echo = lpf(echo) * 0.8; // Write sum of current sample and echo to delay line delay(s + echo); // Finally output sum of dry and wet signals s += echo; io.out(0) = io.out(1) = s; } }
void audioCB(AudioIOData& io){ position pos; pos.x=-10; pos.y=0; pos.z=0; while(io()){ float r; r=rand()%7; // cout<<bpmInput<<endl; // cout<<tmr2.freq()<<endl; float s = 0; float tone = 0; float bass = 0; if (tmr()){ src3.reset(); envLPF.reset(); } if(tmr3()){ env.reset(); env2.reset(); //src3.reset(); tmr3.freq(rnd::uni(beat,beat*2)); src2.reset(); } if(tmr2()){ // src.reset(); tmr2.freq(rnd::uni(beat,beat*3)); src3.reset(); src2.reset(); } if (tmr4()){ // src.reset(); pos.x+=1; tmr4.freq(rnd::uni(beat,beat*2)); src3.reset(); envLPF.reset(); } if (tmr5()){ // src.reset(); pos.x+=1; tmr5.freq(rnd::uni(beat/2,beat*2)); src4.reset(); envLPF.reset(); } if (tmr6()){ // src.reset(); pos.x+=1; src5.reset(); envLPF.reset(); } if (tmr7()){ // src.reset(); pos.x+=1; src6.reset(); envLPF.reset(); } if (tmrRand()) { envswell.reset(); envpan.set(434200,-3); // beat*=(float)r; } if(sweep()){ envwhite.reset(); } float wet1, wet2; s=src()*env()*.3; hpfreq*=envLPF(); tone = src2()*.2; bass = src3()*.3; s+=src4()*.2+src5()*.2+src6()*.2; tone+=bass; s+=tone; reverb(s,wet1, wet2); //double xplane = pos.x/10; //define my sound variables with pan float batleft=swnoise()*envwhite()*envswell()*.15*envpan(); float batright= swnoise()*envwhite()*(envswell())*.15*(1-envpan()); float preout=LPF(s); float out = preout+LPF(wet1*.2); io.out(0) = out+batleft; io.out(1) = out+batright; } }