s.boot

p=ProxySpace.push(s)

~out

~out.play

~trans= 0

~uno={SinOsc.ar(Demand.kr(Impulse.kr(1),0,Dseq(([-2,0,3,1]+~trans.kr).pyramid.midiratio*500,100000)),0,Demand.kr(Impulse.kr(0.5),0,Dseq([0,1,2]*0.1,100000)))}

~unoymedio={SinOsc.ar(Demand.kr(Impulse.kr(1),0,Drand(([-2,0,3,1]+~trans.kr).pyramid.midiratio*500,100000)),0,Demand.kr(Impulse.kr(0.5),0,Dseq([0,1,2]*0.1,100000)))}

~dos={SinOsc.ar(Demand.kr(Impulse.kr(Demand.kr(Impulse.kr(0.5),0,Drand([1,2,4,8],100000))),0,Dseq(([0,3,1,-2]+~trans.kr).scramble.midiratio*500*Demand.kr(Impulse.kr(4),0,Drand([1,2,4],100000)),100000)),0,Demand.kr(Impulse.kr(0.5),0,Dseq([0,1,0,2]*0.1,100000)))}

~tres={SinOsc.ar(Demand.kr(Impulse.kr(Demand.kr(Impulse.kr(0.5),0,Drand([1,2,4,8],100000))),0,Dseq(([0,3,1,-2]+~trans.kr).scramble.midiratio*500*Demand.kr(Impulse.kr(4),0,Drand([1,2,4],100000)),100000)),0,Demand.kr(Impulse.kr(0.5),0,Dseq([0,1,0,2]*0.1,100000)))}

~cuatro={Decay2.ar(Impulse.ar(Demand.kr(Impulse.kr(0.5),0,Dseq([4,8,16],100000))),0.01,0.1,SinOsc.ar(1000))*Demand.kr(Impulse.kr(0.5),0,Dseq([0,1]*0.5,100000))}

~cinco={Decay2.ar(Impulse.ar(Demand.kr(Impulse.kr(0.5),0,Dseq([4,8,16],100000))),0.01,0.1,SinOsc.ar(1500))*Demand.kr(Impulse.kr(0.5),0,Dseq([0,1]*0.5,100000))}

~seis={Decay2.ar(Impulse.ar(Demand.kr(Impulse.kr(0.5),0,Dseq([8,12,16,20],100000))),0.01,0.1,SinOsc.ar(Lag.kr(Demand.kr(Impulse.kr(4),0,Drand(((0..6)*2).midiratio*1500,100000)),0.1)))*Demand.kr(Impulse.kr(0.5),0,Dseq([0,1]*0.5,100000))}

~siete={Decay2.ar(Impulse.ar(Demand.kr(Impulse.kr(0.5),0,Dseq([8,16,32],100000))),0.01,0.1,SinOsc.ar(Lag.kr(Demand.kr(Impulse.kr(4),0,Drand(((0..6)*2).midiratio*1500,100000)),0.1)))*Demand.kr(Impulse.kr(0.5),0,Dseq([0,1]*0.5,100000))}

~manito={Decay2.ar(Impulse.ar(10),0.01,0.05,Mix(RLPF.ar(Saw.ar(Array.rand(10,101,1140)),MouseY.kr(15000,60),0.1)))};

~manito2={Decay2.ar(Impulse.ar(12),0.01,0.05,Mix(RLPF.ar(Saw.ar(Array.rand(10,104,1230)),MouseY.kr(15000,60),0.1)))}

~out=~uno

~out=~uno+~unoymedio

~out=~uno+~dos

~out=~uno+~dos+~tres

~out=~uno+~dos+~tres+~unoymedio

~out=~uno+~dos+~tres+~unoymedio+~cuatro

~out=~uno+~dos+~tres+~unoymedio+~cuatro+~manito

~out=~cuatro+~manito

~out=~manito+~manito2

~out=~uno+~cuatro

~out=~uno+~cuatro+~cinco+~unoymedio

~out=~cuatro+~cinco+~seis+~siete

~out=~seis+~siete

~out=0

(
~trans= 0;
Tdef(\mix, {var cuenta=0, array=[~uno,~dos,~tres,~unoymedio,~cuatro,~cinco,~seis,~siete];
		  inf.do{
		  		~out=array[8.rand]+array[8.rand]+array[8.rand]+array[8.rand]+array[8.rand];
		  		~trans= rrand(-20,20);
		  		1.5.wait;
		  		}
		  })
)

Tdef(\mix).play
Tdef(\mix).stop
~out=0
~out=~manito+~manito2