p= ProxySpace.push(s.boot)
p.makeTempoClock(2)
c= p.clock

~lfo= {LFNoise2.kr(4).abs}
~out.ar(2)
~out.play
~sines= {|freq= 400| Pan2.ar(Mix(SinOsc.ar(freq*#[1, 2, 3], 0, ~lfo.kr*0.1)))}
~out= ~sines

~sines= {|freq= 400| Pan2.ar(Mix(SinOsc.ar(freq*[~lfo.kr, 1-~lfo.kr+1, 2-~lfo.kr+2], 0, ~lfo.kr*0.1)))}

~lfo= {LFNoise2.kr(4).abs.round(0.125)}

~sines= {|freq= 400| Pan2.ar(Mix(SinOsc.ar(freq*[~lfo.kr, 1-~lfo.kr+1, 2-~lfo.kr+2], 0, ~lfo.kr*#[0.2, 0.1, 0.05])))}
Tdef(\sines).quant_(4).play(c)
Tdef(\sines, {inf.do{|i| ~sines.set(\freq, ((i%6*(i%4+1*100))+100).postln); 2.wait}})
Tdef(\sines, {inf.do{|i| ~sines.set(\freq, ((i%6*(i%4+1*25))+100).postln); 1.wait}})
~sines= {|freq= 400| Pan2.ar(Mix(SinOsc.ar(Lag.kr(freq, ~lfo.kr)*[~lfo.kr, 1-~lfo.kr+1, 2-~lfo.kr+2], 0, ~lfo.kr*#[0.2, 0.1, 0.05])))}
~lfo= {LFNoise1.kr(4).abs.round(0.25)}
~lfo= {SinOsc.kr(4, LFPulse.kr(0.2, 0, 0.5, pi*2)).abs.round(0.25)}
~lfo= {SinOsc.kr(4, LFSaw.kr(0.5, 0, pi)).abs.round(0.25)}
~sines.fadeTime_(5)
~sines= {|freq= 400| Pan2.ar(BPF.ar(Mix(LFSaw.ar(freq*[~lfo.kr, 1-~lfo.kr+1, 2-~lfo.kr+2], 0, ~lfo.kr*#[0.2, 0.1, 0.05]))))}
~sines= {|freq= 400| Pan2.ar(BPF.ar(Mix(LFSaw.ar(freq*[~lfo.kr, 1-~lfo.kr+1, 2-~lfo.kr+2, 3-~lfo.kr+3], 0, ~lfo.kr*#[0.2, 0.1, 0.07, 0.05])), 1900))}
~sines= {|freq= 400| Pan2.ar(BPF.ar(Mix(LFSaw.ar(freq*[~lfo.kr, 1-~lfo.kr+1, 2-~lfo.kr+2, 3-~lfo.kr+3], 0, ~lfo.kr*#[0.2, 0.1, 0.07, 0.05])), ~lfo.kr*200+1000))}
Tdef(\disrupt).quant_(4).play(c)
Tdef(\disrupt, {inf.do{|i| ~sines.set(\freq, 1000); 2.2.wait}})
Tdef(\disrupt2).quant_(4).play(c)
Tdef(\disrupt2, {inf.do{|i| ~sines.set(\freq, 2000); 4.42.wait}})

~bass= {|freq= 50| Pan2.ar(LPF.ar(Mix(LFSaw.ar(freq*[~lfo.kr, 1-~lfo.kr+1, 2-~lfo.kr+2, 3-~lfo.kr+3], 0, ~lfo.kr*#[0.2, 0.1, 0.07, 0.05])), ~lfo.kr*100+500))}
~out= ~sines+~bass
~bass.fadeTime_(5)
~bass= {|freq= 50| Pan2.ar(LPF.ar(Mix(LFSaw.ar(freq*[~lfo.kr, 1-~lfo.kr+1, 2-~lfo.kr+2, 3-~lfo.kr+3], 0, Latch.kr(~lfo.kr, Impulse.kr(2))*#[0.2, 0.1, 0.07, 0.05])), ~lfo.kr*100+500))}

~lfo= {SinOsc.kr(~tempo.kr*4, LFSaw.kr(0.5, 0, pi)).abs.round(0.25)}
~bass= {|freq= 50| Pan2.ar(LPF.ar(Mix(LFSaw.ar(freq*[~lfo.kr, 1-~lfo.kr+1, 2-~lfo.kr+2, 3-~lfo.kr+3], 0, Latch.kr(~lfo.kr, Impulse.kr(~tempo.kr*2))*#[0.2, 0.1, 0.07, 0.05])), ~lfo.kr*100+500))}
~bass= {|freq= 50| Pan2.ar(LPF.ar(Mix(LFSaw.ar(freq*[~lfo.kr, 1-~lfo.kr+1, 2-~lfo.kr+2, 3-~lfo.kr+3], 0, Latch.kr(~lfo.kr, Impulse.kr(~lfo.kr*4))*#[0.2, 0.1, 0.07, 0.05])), ~lfo.kr*100+500))}

~lfo= {SinOsc.kr(~tempo.kr*2, LFSaw.kr(LFNoise0.kr(~tempo.kr/10).abs, 0, pi)).abs.round(0.25)}

Tdef(\bass).quant_(4).play(c)
Tdef(\bass, {inf.do{|i| ~bass.set(\freq, 50+(i.div(3)%2*25)); 8.wait}})

~drum= {|freq= 50, amp= 0.1| Pan2.ar(EnvGen.kr(Env.perc, ~lfo.kr>0.8)*LPF.ar(Mix(SinOsc.ar(freq*[~lfo.kr, 1-~lfo.kr+1, 2-~lfo.kr+2, 3-~lfo.kr+3], 0, amp)), ~lfo.kr*100+500))}

~out= ~sines+~bass+~drum
//hehe not a drum really but still nice
~drum.fadeTime_(5)
~drum.set(\freq, 75)
~drum.set(\freq, 50)
Tdef(\drum).quant_(4).play(c)
Tdef(\drum, {inf.do{|i| ~drum.set(\freq, 50+(i.div(4)%3*25)); 4.wait}})

(~drum2= {|freq= 50, amp= 0.1|
	var e;
	e= EnvGen.kr(Env.perc(0.01, 0.1), ~lfo.kr>0.99);
	Pan2.ar(e*LPF.ar(Mix(SinOsc.ar(freq*[1, 1.5], 0, amp)), ~lfo.kr*100+500))
})
~drum2.fadeTime_(5)
~out= ~sines+~bass+~drum+~drum2
~drum2.set(\amp, 0.5)
~drum2.set(\amp, 0.7)
Tdef(\drum2).quant_(4).play(c)
Tdef(\drum2, {inf.do{|i| ~drum2.set(\amp, [0.7, 0.4].choose); 1.wait}})

(~drum2= {|freq= 50, amp= 0.1, level= 0.99|
	var e;
	e= EnvGen.kr(Env.perc(0.01, 0.1), ~lfo.kr>level);
	Pan2.ar(e*LPF.ar(Mix(SinOsc.ar(freq*[1, 1.5], 0, amp)), ~lfo.kr*100+500))
})
Tdef(\drum2, {inf.do{|i| ~drum2.set(\amp, 0.5.rrand(0.7), \level, (i%10/9*0.1).postln); 1.wait}})

(~drum2= {|freq= 50, amp= 0.1, level= 0.99|
	var e;
	e= EnvGen.kr(Env.perc(0.01, 0.1), A2K.kr(~bass.ar>level));
	Pan2.ar(e*LPF.ar(Mix(SinOsc.ar(freq*[1, 1.5], 0, amp)), ~lfo.kr*100+500))
})

Tdef(\drum2, {inf.do{|i| ~drum2.set(\amp, 0.5.rrand(0.7), \level, 0.2); 1.wait}})

(~drum2= {|freq= 50, amp= 0.1, level= 0.99|
	var e;
	e= EnvGen.ar(Env.perc(0.01, 0.1), ~bass.ar>level);
	Pan2.ar(e*LPF.ar(Mix(SinOsc.ar(freq*[1, 1.5]+(50*e), 0, amp)), 400), ~lfo.kr-0.5)
})
Tdef(\drum2, {inf.do{|i| ~drum2.set(\amp, 0.2.rrand(0.4), \level, 0.25); 1.wait}})
(~drum2= {|freq= 50, amp= 0.1, level= 0.99|
	var e;
	e= EnvGen.ar(Env.perc(0.01, 0.1), ~drum.ar>level);
	Pan2.ar(e*LPF.ar(Mix(SinOsc.ar((50*e)+freq*[1, 1.5], 0, amp)), 400), ~lfo.kr-0.5)
})
Tdef(\drum2, {inf.do{|i| ~drum2.set(\amp, 0.2.rrand(0.4), \level, 0.15); 1.wait}})

~lfo= {SinOsc.kr(~tempo.kr*3, LFSaw.kr(LFNoise0.kr(~tempo.kr/10).abs, 0, pi)).abs.round(0.125)}
~lfo= {SinOsc.kr(~tempo.kr*3, LFSaw.kr(LFNoise0.kr(~tempo.kr/10).abs, 0, pi)).abs.round(0.4)}
~lfo= {SinOsc.kr(~tempo.kr*3, LFSaw.kr(LFNoise0.kr(~tempo.kr/10).abs, 0, pi)).abs.round(0.5)}
~lfo= {SinOsc.kr(~tempo.kr*3, LFSaw.kr(LFNoise0.kr(~tempo.kr/10).abs, 0, pi)).abs.round(0.4)}
~lfo= {SinOsc.kr(~tempo.kr*3, LFSaw.kr(LFNoise0.kr(~tempo.kr/10).abs, 0, pi)).abs.round(0.25)}
~lfo.fadeTime_(10)
~lfo= {SinOsc.kr(~tempo.kr*3, LFSaw.kr(LFNoise0.kr(~tempo.kr/10).abs, 0, pi)).abs.round(0.4)}
~lfo= {SinOsc.kr(~tempo.kr*3, LFSaw.kr(LFNoise0.kr(~tempo.kr/10).abs, 0, pi)).abs.round(0.5)}

~sines= {|freq= 400| Pan2.ar(BPF.ar(Mix(LFSaw.ar(freq*[~lfo.kr, 1-~lfo.kr+1, 4-~lfo.kr+4, 8-~lfo.kr+8], 0, ~lfo.kr*#[0.2, 0.1, 0.07, 0.05])), ~lfo.kr*200+1000))}

Tdef(\disrupt, {inf.do{|i| ~sines.set(\freq, 1000); 3.2.wait}})
Tdef(\disrupt2, {inf.do{|i| ~sines.set(\freq, 2000); 5.42.wait}})

~drum= {|freq= 50, amp= 0.1| Pan2.ar(EnvGen.kr(Env.perc(0.01, 0.5), ~lfo.kr>0.9)*RLPF.ar(Mix(SinOsc.ar(freq*[~lfo.kr, 1-~lfo.kr+1, 2-~lfo.kr+2, 3-~lfo.kr+3], 0, amp)), ~lfo.kr*100+700))}

~bass= {|freq= 50| Pan2.ar(LPF.ar(Mix(LFSaw.ar(freq*[~lfo.kr, 1-~lfo.kr+1, 2-~lfo.kr+2, 3-~lfo.kr+3], 0, Latch.kr(~lfo.kr, Impulse.kr(~lfo.kr*8))*#[0.4, 0.1, 0.07, 0.05])), ~lfo.kr*100+700))}

~sines= {|freq= 400| Pan2.ar(BPF.ar(Mix(LFSaw.ar(Lag.kr(freq, ~lfo.kr)*[~lfo.kr, 1-~lfo.kr+1, 4-~lfo.kr+4, 8-~lfo.kr+8], 0, ~lfo.kr*#[0.2, 0.1, 0.07, 0.05])), ~lfo.kr*200+700))}

~lfo= {SinOsc.kr(~tempo.kr*3, LFTri.kr(LFNoise0.kr(~tempo.kr/10).abs, 0, pi)).abs.round(0.5)}
~lfo.fadeTime_(3)
~lfo= {SinOsc.kr(~tempo.kr*3, LFTri.kr(LFNoise0.kr(~tempo.kr/10).abs, 0, pi)).abs.round(1/3)}
~lfo= {SinOsc.kr(~tempo.kr*3, LFTri.kr(LFNoise0.kr(~tempo.kr/5).abs, 0, pi)).abs.round(1/3)}

//same as sines but with bass controlling amp
~sines2= {|freq= 400| Pan2.ar(BPF.ar(Mix(LFSaw.ar(Lag.kr(freq, ~lfo.kr)*[~lfo.kr, 1-~lfo.kr+1, 4-~lfo.kr+4, 8-~lfo.kr+8], 0, ~bass.kr*#[0.2, 0.1, 0.07, 0.05])), ~lfo.kr*200+700))}
~sines2.fadeTime_(5)
~out= ~sines+~bass+~drum+~drum2+~sines2

~sines2= {|freq= 400| Pan2.ar(BPF.ar(Mix(LFSaw.ar(Lag.kr(freq, ~lfo.kr)*[~lfo.kr, 1-~lfo.kr+1, 4-~lfo.kr+4, 8-~lfo.kr+8], 0, DelayN.kr(~bass.kr, 0.5, 0.5))), ~lfo.kr*200+700))}

~sines2= {|freq= 400| Pan2.ar(RHPF.ar(Mix(LFPulse.ar(Lag.kr(freq, ~lfo.kr)*[~lfo.kr, 1-~lfo.kr+1, 4-~lfo.kr+4, 8-~lfo.kr+8], 0, 0.4, DelayN.kr(~bass.kr, 0.3, 0.3)*0.5)), ~lfo.kr*100+700, 0.5))}

Tdef(\disrupt, {inf.do{|i| ~sines.set(\freq, 1000); 4.2.wait}})
Tdef(\disrupt2, {inf.do{|i| ~sines.set(\freq, 2000); 5.42.wait}})

~sines2= {|freq= 400| Pan2.ar(RHPF.ar(Mix(LFPulse.ar(Lag.kr(freq, ~lfo.kr)*[~lfo.kr, 1-~lfo.kr+1, 4-~lfo.kr+4, 8-~lfo.kr+8], 0, 0.4, DelayN.kr(~bass.kr, 0.3, 0.3)*0.3)), ~lfo.kr*100+400, 0.2))}

~lfo= {SinOsc.kr(~tempo.kr*3, LFTri.kr(LFNoise0.kr(~tempo.kr/7).abs, 0, pi)).abs.round(0.25)}
~lfo.quant_(1)
~lfo= {SinOsc.kr(~tempo.kr*4, LFTri.kr(LFNoise0.kr(~tempo.kr/7).abs, 0, pi)).abs.round(0.25)}
~lfo= {SinOsc.kr(~tempo.kr*5, LFTri.kr(LFNoise0.kr(~tempo.kr/7).abs, 0, pi)).abs.round(0.125)}
~lfo= {SinOsc.kr(~tempo.kr*5, LFTri.kr(LFNoise0.kr(~tempo.kr/7).abs, 0, pi/2)).abs.round(0.125)}
~lfo= {SinOsc.kr(~tempo.kr*4, LFSaw.kr(LFNoise0.kr(~tempo.kr/7).abs, 0, pi)).abs.round(0.25)}

Tdef(\drum2, {inf.do{|i| ~drum2.set(\amp, 0.2.rrand(0.3), \level, 0.2); 1.wait}})
Tdef(\drum, {inf.do{|i| ~drum.set(\freq, 50+(i.div(4)%3*50)); 2.wait}})

Tdef(\sines, {inf.do{|i| ~sines.set(\freq, ((i%6*(i%4+1*50))+200).postln); 1.wait}})

~sines= {|freq= 400| Pan2.ar(BPF.ar(Mix(LFSaw.ar(Lag.kr(freq, ~lfo.kr)*[~lfo.kr, 1-~lfo.kr+1, 4-(~lfo.kr*2)+4, 8-(~lfo.kr*4)+8], 0, ~lfo.kr*#[0.3, 0.1, 0.07, 0.05])), ~lfo.kr*200+700))}

~lfo= {SinOsc.kr(~tempo.kr*4, LFSaw.kr(LFNoise0.kr(~tempo.kr/7).abs, 0, pi)).abs.round(0.01)}

//destroy
~lfo= {SinOsc.kr(~tempo.kr*4, LFSaw.kr(LFNoise0.kr(~tempo.kr/7).abs, 0, pi)).abs.tanh}
~lfo= {SinOsc.kr(~tempo.kr*4, LFSaw.kr(LFNoise0.kr(~tempo.kr/7).abs, 0, pi)).abs.sqrt*2}
~lfo= {SinOsc.kr(~tempo.kr*4, LFSaw.kr(LFNoise0.kr(~tempo.kr/7).abs, 0, pi)).abs.sqrt*3}
~lfo= {SinOsc.kr(~tempo.kr*10, LFSaw.kr(SinOsc.kr(~tempo.kr/4).abs, 0, pi)).abs.round(0.1).sqrt*3}
~lfo= {SinOsc.kr(~tempo.kr*10, LFSaw.kr(SinOsc.kr(~tempo.kr/4).abs, 0, pi)).abs.round(0.1).sqrt*4}
~lfo= {SinOsc.kr(~tempo.kr*10, LFSaw.kr(SinOsc.kr(~tempo.kr/4).abs, 0, pi)).abs.round(0.5).sqrt*5}
~lfo= {(SinOsc.kr(~tempo.kr*10, LFSaw.kr(SinOsc.kr(~tempo.kr/4).abs, 0, pi)).abs.sqrt*5).round(0.75)}
~lfo= {(SinOsc.kr(~tempo.kr*10, LFSaw.kr(SinOsc.kr(~tempo.kr/4).abs, 0, pi)).abs.sqrt*6).round(1)}
~lfo= {(SinOsc.kr(~tempo.kr*10, LFSaw.kr(SinOsc.kr(~tempo.kr/4).abs, 0, pi)).abs.sqrt*6).round(6)}
~lfo= {(SinOsc.kr(~tempo.kr*10, LFSaw.kr(SinOsc.kr(~tempo.kr/4).abs, 0, pi)).abs.sqrt*10).round(10)}

Tdef(\disrupt, {inf.do{|i| ~sines.set(\freq, 1000); 0.2.wait}})
Tdef(\disrupt2, {inf.do{|i| ~sines.set(\freq, 2000); 0.42.wait}})

Tdef(\sines).stop
~sines.release(20)
Tdef(\drum2).stop
Tdef(\drum).stop
~drum2.release(10)
~drum.release(10)
Tdef(\disrupt).stop
Tdef(\disrupt2).stop
~lfo.release(30)

~out.stop
p.clear
p.pop