/////#superCollider///
////// remix del livecoding en IIMAS UNAM una semana antes//
////4-dic-2011 // marchOfIndetermination
////recording: http://www.archive.org/details/MarchOfIndetermination
////
s.boot;
s.makeWindow;
p=ProxySpace.push(s);
p.fadeTime=4;
s.scope;
//
~o.play;
s.record;
//
~nota={Demand.kr(Impulse.kr(~revctrl.kr),0,Dshuf([42,45,59,63,60,67,71,73],inf))};
~nota2={Demand.kr(Impulse.kr(~revctrl.kr/4),0,Dseq([45,49,45,55,47,60,45,63,47,67],inf))};
~nota3={Demand.kr(Dust.kr(0.25),0,Dshuf([42,45,59,63,60,67,71,73,79],inf))};
~env={Demand.kr(Impulse.kr(~cont.kr/2),0,Dseq([0,1],inf))};
~unam={Normalizer.ar(EnvGen.kr(Env.asr(0.095,0.98,0.1),~env.kr)*SinOsc.ar(~nota2.kr),0.6)};
~iimas={Pulse.ar(TChoose.kr(Dust.kr(~cont.kr),[1,2,3,4,5,6,7,8]),0.5,0.1)*LFTri.ar([~nota.kr,~nota.kr+7].midicps,0,0.2)};
~iimaz={Saw.ar(TChoose.kr(Impulse.kr(2),[1,2,4,8]),mul:0.1)*SinOsc.ar([~nota.kr,~nota.kr+7].midicps,0,0.1)};
~rev={Limiter.ar(GVerb.ar(~iimaz.ar,18,~revctrl.kr,0.1,0.2),0.25)};
~revctrl={Demand.kr(Impulse.kr(1),0,Dxrand([0.5,1,1.5,2],inf))};
~cont={Demand.kr(Impulse.kr(1),0,Drand([1,2,4,8,16],inf))};
~tri={FreeVerb.ar(LFTri.ar([[~nota2.kr.midicps*2,~nota3.kr.midicps],~nota3.kr.midicps/2],0.1,0.25),1,1,0.05,0.3)};
~kick={EnvGen.ar(Env.perc(0.01,0.2),Demand.kr(Impulse.kr(4),0,Dseq([1,0,1,1,0,1,0,1,0,0],inf)))*(BrownNoise.ar(0.01)+SinOsc.ar([60,82],LFNoise0.kr(4),0.8)+LFTri.ar([120,240],0.2,0.1))};
~o=~unam+~iimas+~rev+~kick+~tri
~o=~tri!2;
~o=~kick+~tri!2;
~o=~kick+~tri!2+~rev;
~o=~kick+~tri!2+~rev+~iimas+~unam;
~o=~kick+~tri!2+~iimas;
~o=~kick+~iimas;
~o=~iimas;
~o=~iimas+~rev;
~o=~iimas+~rev+~unam;
~o=~iimas+~rev+~unam+~kick;
~o=~iimas+~rev+~unam+~kick+~tri!2;
~o=~kick+~tri!2+~rev;
~o=~tri!2+~rev;
~o=~rev;
~o=0
s.stopRecording;