Exemple #1
0
	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;
	}
}