///////////////////////////////////////////////////
// History, as it was on Sun Jul 15 23:54:27 2007.
///////////////////////////////////////////////////

// - 0:0:0 -  
p= ProxySpace.push(s.boot)

// - 0:0:7.35 -  
p.makeTempoClock(2.2)

// - 0:0:12.03 -  
c= p.clock

// - 0:1:3.32 -  
~out= {|t_trig= 0, pan= 0| Pan2.ar(SinOsc.ar(LFNoise0.kr, 0, EnvGen.ar(Env.perc, t_trig)), pan)}

// - 0:1:6.28 -  
~out.play

// - 0:1:12.36 -  
~out.set(\t_trig, 1)

// - 0:1:14.93 -  
~out.set(\t_trig, 1)

// - 0:1:15.79 -  
~out.set(\t_trig, 1)

// - 0:1:26.12 -  
~out= {|t_trig= 0, pan= 0| Pan2.ar(SinOsc.ar(LFNoise0.kr*100, 0, EnvGen.ar(Env.perc, t_trig)), pan)}

// - 0:1:27.51 -  
~out.set(\t_trig, 1)

// - 0:1:43.73 -  
~out= {|t_trig= 0, pan= 0| Pan2.ar(SinOsc.ar(LFNoise0.kr*100+50, 0, EnvGen.ar(Env.perc(0.01, 0.1), t_trig)), pan)}

// - 0:1:46.45 -  
~out.set(\t_trig, 1)

// - 0:2:14.54 -  
Tdef(\explode).play(c, quant:4)

// - 0:2:31.61 -  
(
Tdef(\explode, {
	inf.do{|i|
		~out.set(\t_trig, 1);
		4.wait;
	}
})
);

// - 0:3:10.03 -  
(
Tdef(\explode, {
	inf.do{|i|
		3.do{
			~out.set(\t_trig, 1);
			4.wait;
		};
		8.do{
			~out.set(\t_trig, 1);
			0.125.wait;
		}
	}
})
);

// - 0:3:40.87 -  
~out= {|t_trig= 0, pan= 0, freq= 100| Pan2.ar(SinOsc.ar(LFNoise0.kr*100+freq, 0, EnvGen.ar(Env.perc(0.01, 0.1), t_trig)), pan)}

// - 0:3:55.62 -  
~out= {|t_trig= 0, pan= 0, freq= 100| Pan2.ar(SinOsc.ar(BPF.ar(LFNoise0.kr*100+freq), 0, EnvGen.ar(Env.perc(0.01, 0.1), t_trig)), pan)}

// - 0:4:3.22 -  
~out= {|t_trig= 0, pan= 0, freq= 100| Pan2.ar(SinOsc.ar(BPF.ar(LFNoise0.ar*100+freq), 0, EnvGen.ar(Env.perc(0.01, 0.1), t_trig)), pan)}

// - 0:4:13.67 -  
~out= {|t_trig= 0, pan= 0, freq= 100| Pan2.ar(SinOsc.ar(BPF.ar(LFNoise0.ar*100+freq, freq), 0, EnvGen.ar(Env.perc(0.01, 0.1), t_trig)), pan)}

// - 0:4:21.84 -  
~out= {|t_trig= 0, pan= 0, freq= 100| Pan2.ar(SinOsc.ar(BPF.ar(LFNoise0.ar*100+freq, freq, 2), 0, EnvGen.ar(Env.perc(0.01, 0.1), t_trig)), pan)}

// - 0:4:37.44 -  
~out= {|t_trig= 0, pan= 0, freq= 100| Pan2.ar(SinOsc.ar(BPF.ar(LFNoise0.ar*100+freq, freq, SinOsc.kr(0.1, 0, 1, 2)), 0, EnvGen.ar(Env.perc(0.01, 0.1), t_trig)), pan)}

// - 0:4:56.16 -  
~out= {|t_trig= 0, pan= 0, freq= 100| Pan2.ar(SinOsc.ar(BPF.ar(LFNoise0.ar*100+freq, freq, SinOsc.kr(0.1, 0, 1, 2)), 0, EnvGen.ar(Env.perc(0.01, 0.1), t_trig))*SinOsc.ar, pan)}

// - 0:5:41.02 -  
(
Tdef(\explode, {
	inf.do{|i|
		3.do{
			~out.set(\t_trig, 1, \freq, 100);
			2.wait;
			~out.set(\t_trig, 1, \freq, 200);
			2.wait;
		};
		8.do{|j|
			~out.set(\t_trig, 1, \freq, 100+(j*5));
			0.125.wait;
		}
	}
})
);

// - 0:6:13.81 -  
(
Tdef(\explode, {
	inf.do{|i|
		3.do{
			~out.set(\t_trig, 1, \freq, 100, \pan, 0.2);
			2.wait;
			~out.set(\t_trig, 1, \freq, 200, \pan, -0.2);
			2.wait;
		};
		8.do{|j|
			~out.set(\t_trig, 1, \freq, 100+(j*10));
			0.125.wait;
		}
	}
})
);

// - 0:6:28.84 -  
Tdef(\disrupt).play(c, quant:4)

// - 0:7:0.24 -  
(
Tdef(\disrupt, {
	inf.do{|i|
		~out.set(\t_trig, 1, \freq, 10, \pan, 0);
		3.5.wait;
	}
})
);

// - 0:7:56.25 -  
(
Tdef(\disrupt, {
	inf.do{|i|
		if(i%4==0, {
			2.do{
				~out.set(\t_trig, 1, \freq, 20, \pan, 0);
				0.5.wait;
			}
		}, {
			~out.set(\t_trig, 1, \freq, 10, \pan, 0);
			3.5.wait;
		});
	}
})
);

// - 0:8:20.14 -  
~out= {|t_trig= 0, pan= 0, freq= 100| Pan2.ar(SinOsc.ar(BPF.ar(LFNoise0.ar*100+freq, freq, SinOsc.kr(0.1, 0, 1, 2)), 0, EnvGen.ar(Env.perc(0.01, 0.1), t_trig))*Saw.ar, pan)}

// - 0:8:32.64 -  
~out= {|t_trig= 0, pan= 0, freq= 100| Pan2.ar(LPF.ar(SinOsc.ar(BPF.ar(LFNoise0.ar*100+freq, freq, SinOsc.kr(0.1, 0, 1, 2)), 0, EnvGen.ar(Env.perc(0.01, 0.1), t_trig))*Saw.ar), pan)}

// - 0:8:43.73 -  
~out= {|t_trig= 0, pan= 0, freq= 100| Pan2.ar(SinOsc.ar(BPF.ar(LFNoise0.ar*100+freq, freq, SinOsc.kr(0.1, 0, 1, 2)), 0, EnvGen.ar(Env.perc(0.01, 0.1), t_trig)), pan)}

// - 0:9:25.04 -  
~out= {|t_trig= 0, pan= 0, freq= 100| Pan2.ar(SinOsc.ar(BPF.ar(LFNoise0.ar*EnvGen.ar(Env.perc(0.01, 0.1), t_trig, 100)+freq, freq, SinOsc.kr(0.1, 0, 1, 2)), 0, EnvGen.ar(Env.perc(0.01, 0.1), t_trig)), pan)}

// - 0:10:3.46 -  
~bah= {|freq= 200| LPF.ar(LFSaw.ar(freq*#[1, 1.01]))}

// - 0:10:8.28 -  
~bah.play

// - 0:10:13.76 -  
~bah= {|freq= 200| LPF.ar(LFSaw.ar(freq*#[1, 1.01], 0, 0.2))}

// - 0:10:16.97 -  
~bah= {|freq= 200| LPF.ar(LFSaw.ar(freq*#[1, 1.01], 0, 0.12))}

// - 0:10:44.1 -  
~bah= {|freq= 200| LPF.ar(LFSaw.ar(freq*SinOsc.kr(0.1, 0, 1, #[1, 1.01]), 0, 0.12))}

// - 0:11:7.78 -  
~bah= {|freq= 200| LPF.ar(LFSaw.ar(freq*SinOsc.kr(0.1, 0, 1, #[0.01, 0.011]), 0, 0.12))}

// - 0:11:26.83 -  
~bah= {|freq= 200| LPF.ar(LFSaw.ar(freq*SinOsc.kr(0.1, 0, 0.05, #[1, 1.01]), 0, 0.12))}

// - 0:11:46.58 -  
~bah= {|freq= 200| LPF.ar(LFSaw.ar(freq*SinOsc.kr(0.1, 0, 0.05, #[1, 1.01]), 0, LFNoise2.kr(0.1, 0.05, 0.12)))}

// - 0:12:38.81 -  
~bah= {|freq= 200| {|i| LPF.ar(LFSaw.ar(freq*(i+1)*SinOsc.kr(0.1, 0, 0.05, #[1, 1.01]), 0, LFNoise2.kr(0.1, 0.05, 0.12)))}.dup(4).mean}

// - 0:12:45.91 -  
~bah= {|freq= 200| {|i| LPF.ar(LFSaw.ar(freq*(i+1.01)*SinOsc.kr(0.1, 0, 0.05, #[1, 1.01]), 0, LFNoise2.kr(0.1, 0.05, 0.12)))}.dup(4).mean}

// - 0:13:8.48 -  
~bah= {|freq= 200| {|i| LPF.ar(LFSaw.ar(freq*(i+1.01)*SinOsc.kr(0.1, 0, Rand(0.001, 0.01), #[1, 1.01]), 0, LFNoise2.kr(0.1, 0.05, 0.12)))}.dup(4).mean}

// - 0:13:41.97 -  
~bah= {|freq= 200, t_trig| LPF.ar({|i| LFSaw.ar(freq*(i+1.01)*SinOsc.kr(0.1, 0, Rand(0.001, 0.01), #[1, 1.01]), 0, LFNoise2.kr(0.1, 0.05, 0.12))}.dup(4).mean, 500)}

// - 0:14:15.21 -  
~bah= {|freq= 200, t_trig| LPF.ar({|i| LFSaw.ar(freq*(i+1.01)*SinOsc.kr(0.1, 0, Rand(0.001, 0.01), #[1, 1.01]), 0, LFNoise2.kr(0.1, 0.05, 0.12))}.dup(4).mean, EnvGen.ar(Env.perc, t_trig, 500, 500))}

// - 0:14:24.15 -  
~bah.set(\t_trig, 1)

// - 0:14:46.86 -  
~bah= {|freq= 200, t_trig| LPF.ar({|i| LFSaw.ar(freq*(i+1.01)*SinOsc.kr(EnvGen.ar(Env.perc, t_trig, 0.2, 0.1), 0, Rand(0.001, 0.01), #[1, 1.01]), 0, LFNoise2.kr(0.1, 0.05, 0.12))}.dup(4).mean, EnvGen.ar(Env.perc, t_trig, 500, 500))}

// - 0:14:49.91 -  
~bah= {|freq= 200, t_trig| LPF.ar({|i| LFSaw.ar(freq*(i+1.01)*SinOsc.kr(EnvGen.ar(Env.perc, t_trig, 1, 0.1), 0, Rand(0.001, 0.01), #[1, 1.01]), 0, LFNoise2.kr(0.1, 0.05, 0.12))}.dup(4).mean, EnvGen.ar(Env.perc, t_trig, 500, 500))}

// - 0:14:52.31 -  
~bah= {|freq= 200, t_trig| LPF.ar({|i| LFSaw.ar(freq*(i+1.01)*SinOsc.kr(EnvGen.ar(Env.perc, t_trig, 10, 0.1), 0, Rand(0.001, 0.01), #[1, 1.01]), 0, LFNoise2.kr(0.1, 0.05, 0.12))}.dup(4).mean, EnvGen.ar(Env.perc, t_trig, 500, 500))}

// - 0:14:54.85 -  
~bah= {|freq= 200, t_trig| LPF.ar({|i| LFSaw.ar(freq*(i+1.01)*SinOsc.kr(EnvGen.ar(Env.perc, t_trig, 100, 0.1), 0, Rand(0.001, 0.01), #[1, 1.01]), 0, LFNoise2.kr(0.1, 0.05, 0.12))}.dup(4).mean, EnvGen.ar(Env.perc, t_trig, 500, 500))}

// - 0:15:6.81 -  
~bah= {|freq= 200, t_trig| LPF.ar({|i| LFSaw.ar(freq*(i+1.01)*SinOsc.kr(EnvGen.ar(Env.perc(0.01, 0.1), t_trig, 10, 0.1), 0, Rand(0.001, 0.01), #[1, 1.01]), 0, LFNoise2.kr(0.1, 0.05, 0.12))}.dup(4).mean, EnvGen.ar(Env.perc, t_trig, 500, 500))}

// - 0:15:37.68 -  
~bah= {|freq= 200, t_trig| LPF.ar({|i| LFSaw.ar(freq*(i+1.01)*SinOsc.kr(0.1, EnvGen.ar(Env.perc(0.01, 0.3), t_trig, 2pi), Rand(0.001, 0.01), #[1, 1.01]), 0, LFNoise2.kr(0.1, 0.05, 0.12))}.dup(4).mean, EnvGen.ar(Env.perc, t_trig, 500, 500))}

// - 0:15:44.65 -  
~bah= {|freq= 200, t_trig| LPF.ar({|i| LFSaw.ar(freq*(i+1.01)*SinOsc.kr(0.1, EnvGen.ar(Env.perc(0.01, 0.1), t_trig, 2pi), Rand(0.001, 0.01), #[1, 1.01]), 0, LFNoise2.kr(0.1, 0.05, 0.12))}.dup(4).mean, EnvGen.ar(Env.perc, t_trig, 500, 500))}

// - 0:15:48.5 -  
~bah= {|freq= 200, t_trig| LPF.ar({|i| LFSaw.ar(freq*(i+1.01)*SinOsc.kr(0.1, EnvGen.ar(Env.perc(0.01, 0.1), t_trig, 2pi), Rand(0.001, 0.01), #[1, 1.01]), 0, LFNoise2.kr(0.1, 0.05, 0.12))}.dup(4).mean, EnvGen.ar(Env.perc, t_trig, 500, 500))}

// - 0:15:59.86 -  
~bah= {|freq= 200, t_trig| LPF.ar({|i| LFSaw.ar(freq*(i+1.01)*SinOsc.kr(1, EnvGen.ar(Env.perc(0.01, 0.1), t_trig, 2pi), Rand(0.001, 0.01), #[1, 1.01]), 0, LFNoise2.kr(0.1, 0.05, 0.12))}.dup(4).mean, EnvGen.ar(Env.perc, t_trig, 500, 500))}

// - 0:16:12.55 -  
~bah= {|freq= 200, t_trig| LPF.ar({|i| LFSaw.ar(freq*(i+1.01)*SinOsc.kr(1, EnvGen.ar(Env.perc(0.01, 0.01), t_trig, pi), Rand(0.001, 0.01), #[1, 1.01]), 0, LFNoise2.kr(0.1, 0.05, 0.12))}.dup(4).mean, EnvGen.ar(Env.perc, t_trig, 500, 500))}

// - 0:16:38.12 -  
~bah= {|freq= 200, t_trig| LPF.ar({|i| LFSaw.ar(freq*(i+1.01)*SinOsc.kr(Rand(0.5, 1.5), EnvGen.ar(Env.perc(0.01, 0.01), t_trig, pi), Rand(0.001, 0.01), #[1, 1.01]), 0, LFNoise2.kr(0.1, 0.05, 0.12))}.dup(4).mean, EnvGen.ar(Env.perc, t_trig, 500, 500))}

// - 0:16:47.99 -  
~bah.set(\t_trig, 1)

// - 0:17:2.98 -  
~bah.set(\t_trig, 1, \freq, 100)

// - 0:17:8.62 -  
~bah.set(\t_trig, 1, \freq, 50)

// - 0:17:21.33 -  
Tdef(\bah).play(c, quant:4)

// - 0:17:54.83 -  
(
Tdef(\bah, {
	inf.do{|i|
		~bah.set(\t_trig, 1, \freq, [50, 50, 60].foldAt(i));
		4.wait;
	}
})
);

// - 0:18:21.94 -  
Tdef(\bahdist).play(c, quant:4)

// - 0:18:40.67 -  
(
Tdef(\bahdist, {
	inf.do{|i|
		~bah.set(\t_trig, 1, \freq, [100, 200].foldAt(i));
		7.5.wait;
	}
})
);

// - 0:19:10.66 -  
~bah= {|freq= 200, t_trig| LPF.ar({|i| LFSaw.ar(Lag.kr(freq, Rand(0, 0.2))*(i+1.01)*SinOsc.kr(Rand(0.5, 1.5), EnvGen.ar(Env.perc(0.01, 0.01), t_trig, pi), Rand(0.001, 0.01), #[1, 1.01]), 0, LFNoise2.kr(0.1, 0.05, 0.12))}.dup(4).mean, EnvGen.ar(Env.perc, t_trig, 500, 500))}

// - 0:19:26.39 -  
~hh.ar(2)

// - 0:19:30.09 -  
~hh.play

// - 0:20:32.63 -  
~hh= {|t_trig= 0, freq= 8000, pan= 0| Pan2.ar(BPF.ar(PinkNoise.ar(EnvGen.ar(Env.perc(0.01, 0.04), t_trig), freq)), pan)}

// - 0:20:38.33 -  
~hh= {|t_trig= 0, freq= 8000, pan= 0| Pan2.ar(BPF.ar(PinkNoise.ar(EnvGen.ar(Env.perc(0.01, 0.04), t_trig)), freq), pan)}

// - 0:20:43.56 -  
~hh.set(\t_trig, 1)

// - 0:20:47.12 -  
~hh.set(\t_trig, 1)

// - 0:20:54.26 -  
Tdef(\hh).play(c, quant:4)

// - 0:21:12.77 -  
(
Tdef(\hh, {
	inf.do{|i|
		~hh.set(\t_trig, 1, \freq, [8000, 5000, 4000].wrapAt(i));
		1.5.wait;
	}
})
);

// - 0:21:24.11 -  
Tdef(\hhdist).play(c, quant:4)

// - 0:22:4.41 -  
(
Tdef(\hhdist, {
	inf.do{|i|
		3.do{|j|
			~hh.set(\t_trig, 1, \freq, 12000);
			0.25.wait;
		};
		2.75.wait;
	}
})
);

// - 0:22:21.42 -  
~bas.ar(2)

// - 0:22:23.25 -  
~bas.play

// - 0:23:2.46 -  
~bas= {|freq= 50, t_trig= 0| SinOsc.ar(freq*[1, 1.01], 0, 0.1)}

// - 0:23:8.78 -  
~bas.set(\t_trig, 1)

// - 0:23:32.81 -  
~bas= {|freq= 50, t_trig= 0| SinOsc.ar(freq*[1, 1.01], 0, EnvGen.ar(Env.perc(0, 2), t_trig, 0.5))}

// - 0:23:35.17 -  
~bas.set(\t_trig, 1)

// - 0:23:36.76 -  
~bas.set(\t_trig, 1)

// - 0:23:43.3 -  
~bas= {|freq= 50, t_trig= 0| SinOsc.ar(freq*[1, 1.01], 0, EnvGen.ar(Env.perc(0, 4), t_trig, 0.5))}

// - 0:23:50.73 -  
Tdef(\bas).play(c, quant:4)

// - 0:24:9.48 -  
(
Tdef(\bas, {
	inf.do{|i|
		3.do{|j|
			~bas.set(\t_trig, 1);
			1.wait;
		};
		1.wait;
	}
})
);

// - 0:24:20.61 -  
(
Tdef(\bas, {
	inf.do{|i|
		3.do{|j|
			~bas.set(\t_trig, 1);
			4.wait;
		};
		4.wait;
	}
})
);

// - 0:24:57.52 -  
~bas= {|freq= 50, t_trig= 0| SinOsc.ar(freq*[1, 1.01], EnvGen.ar(Env.perc(0.01, 0.01), t_trig, 2pi), EnvGen.ar(Env.perc(0, 3.5), t_trig, 0.4))}

// - 0:25:56.14 -  
(
Tdef(\bas, {
	inf.do{|i|
		3.do{|j|
			~bas.set(\t_trig, 1);
			4.wait;
		};
		if(i%4==0, {
			2.wait;
			~bas.set(\t_trig, 1);
			1.wait;
			~bas.set(\t_trig, 1);
			1.wait;
		}, {
			4.wait;
		});
	}
})
);

// - 0:27:46.5 -  
(
Tdef(\hhdist, {
	inf.do{|i|
		var r;
		3.do{|j|
			~hh.set(\t_trig, 1, \freq, 12000);
			0.25.wait;
		};
		if(i%8==2, {
			r= 2.rrand(10);
			r.do{|j|
				~hh.set(\t_trig, 1, \freq, 12000.rand);
				(2.75/r).wait;
			};	
		}, {
			2.75.wait;
		});
	}
})
);

// - 0:28:55.94 -  
(
Tdef(\bahdist, {
	inf.do{|i|
		~bah.set(\t_trig, 1, \freq, [100, 200].foldAt(i));
		[7.5, 3.5, 1.5].wrapAt(i.div(4)).wait;
	}
})
);

// - 0:29:23.44 -  
(
Tdef(\hhdist, {
	inf.do{|i|
		var r;
		3.do{|j|
			~hh.set(\t_trig, 1, \freq, 12000);
			0.25.wait;
		};
		if(i%8==2, {
			r= 2.rrand(10);
			r.do{|j|
				~hh.set(\t_trig, 1, \freq, 1200.rrand(5200).round(200));
				(2.75/r).wait;
			};	
		}, {
			2.75.wait;
		});
	}
})
);

// - 0:30:0.08 -  
(
Tdef(\bah, {
	inf.do{|i|
		~bah.set(\t_trig, 1, \freq, [50, 50, 60, 50, 50, 60, 70].foldAt(i));
		4.wait;
	}
})
);

// - 0:30:23.77 -  
~comb.ar(2)

// - 0:30:28.99 -  
~comb.play

// - 0:30:37.83 -  
~comb.fadeTime_(5)

// - 0:31:52.78 -  
~comb= {|amp= 0.5| CombN.ar(~bah.ar, c.reciprocal/3, c.reciprocal/3)*amp}

// - 0:32:12.48 -  
c.tempo

// - 0:32:13.96 -  
~comb= {|amp= 0.5| CombN.ar(~bah.ar, c.tempo.reciprocal/3, c.tempo.reciprocal/3)*amp}

// - 0:32:45.51 -  
~comb= {|amp= 0.5| CombN.ar(~bah.ar, c.tempo.reciprocal/3, c.tempo.reciprocal/3, amp*3)*amp}

// - 0:33:2.2 -  
Tdef(\combctrl).play(c, quant:4)

// - 0:34:7.19 -  
(
Tdef(\combctrl, {
	inf.do{|i|
		~comb.set(\amp, [0, 1, 0.5].wrapAt(i));
		8.wait;
	}
})
);

// - 0:34:19.6 -  
(
Tdef(\combctrl, {
	inf.do{|i|
		~comb.set(\amp, [0.25, 1, 0.5].wrapAt(i));
		8.wait;
	}
})
);

// - 0:34:36.86 -  
(
Tdef(\bahdist, {
	inf.do{|i|
		~bah.set(\t_trig, 1, \freq, [100, 200, 300, 140].foldAt(i));
		[7.5, 3.5, 1.5].wrapAt(i.div(4)).wait;
	}
})
);

// - 0:34:43.03 -  
(
Tdef(\bahdist, {
	inf.do{|i|
		~bah.set(\t_trig, 1, \freq, [100, 200, 300, 140].foldAt(i));
		[7.5, 3.5, 0.5].wrapAt(i.div(4)).wait;
	}
})
);

// - 0:35:25.17 -  
~bah= {|freq= 200, t_trig| LPF.ar({|i| LFSaw.ar(Lag.kr(freq, Rand(0, 0.2))*(i+1.01)*SinOsc.kr(Rand(0.5, 1.5), EnvGen.ar(Env.perc(0.001, 0.02), t_trig, pi), Rand(0.001, 0.01), #[1, 1.01]), 0, LFNoise2.kr(0.1, 0.05, 0.12))}.dup(4).mean, EnvGen.ar(Env.perc, t_trig, 500, 500))}

// - 0:36:4.97 -  
~bah= {|freq= 200, t_trig| LPF.ar({|i| LFSaw.ar(Lag.kr(freq, Rand(0, 0.5))*(i+1.01)*SinOsc.kr(Rand(0.5, 1.5), EnvGen.ar(Env.perc(0.001, 0.02), t_trig, pi), Rand(0.001, 0.02), #[1, 1.01]), 0, LFNoise2.kr(0.1, 0.05, 0.12))}.dup(4).mean, EnvGen.ar(Env.perc, t_trig, 500, 600))}

// - 0:37:18.57 -  
~bah= {|freq= 200, t_trig| LPF.ar({|i| Clip.ar(LFSaw.ar(Lag.kr(freq, Rand(0, 0.5))*(i+1.01)*SinOsc.kr(Rand(0.5, 1.5), EnvGen.ar(Env.perc(0.001, 0.02), t_trig, pi), Rand(0.001, 0.02), #[1, 1.01]), 0, LFNoise2.kr(0.1, 0.05, 0.12)), -1, 1)}.dup(4).mean, EnvGen.ar(Env.perc, t_trig, 500, 600))}

// - 0:37:36.05 -  
~bah= {|freq= 200, t_trig= 0, dist= 1.5| LPF.ar({|i| Clip.ar(LFSaw.ar(Lag.kr(freq, Rand(0, 0.5))*(i+1.01)*SinOsc.kr(Rand(0.5, 1.5), EnvGen.ar(Env.perc(0.001, 0.02), t_trig, pi), Rand(0.001, 0.02), #[1, 1.01]), 0, LFNoise2.kr(0.1, 0.05, 0.12))*dist, -1, 1)}.dup(4).mean, EnvGen.ar(Env.perc, t_trig, 500, 600))}

// - 0:37:48.25 -  
~bah.set(\dist, 2)

// - 0:38:21.58 -  
~bah= {|freq= 200, t_trig= 0, dist= 1.5| LPF.ar({|i| Clip.ar(LFSaw.ar(Lag.kr(freq, Rand(0, 0.5))*(i+1.01)*SinOsc.kr(Rand(0.5, 1.5), EnvGen.ar(Env.perc(0.001, 0.02), t_trig, pi), Rand(0.001, 0.02), #[1, 1.01]), 0, LFNoise2.kr(0.1, 0.05))*dist, -1, 1)*0.2}.dup(4).mean, EnvGen.ar(Env.perc, t_trig, 500, 600))}

// - 0:38:30.5 -  
~bah= {|freq= 200, t_trig= 0, dist= 1.5| LPF.ar({|i| Clip.ar(LFSaw.ar(Lag.kr(freq, Rand(0, 0.5))*(i+1.01)*SinOsc.kr(Rand(0.5, 1.5), EnvGen.ar(Env.perc(0.001, 0.02), t_trig, pi), Rand(0.001, 0.02), #[1, 1.01]), 0, LFNoise2.kr(0.1, 0.05, 1))*dist, -1, 1)*0.2}.dup(4).mean, EnvGen.ar(Env.perc, t_trig, 500, 600))}

// - 0:38:42.01 -  
~bah.set(\dist, 3)

// - 0:38:46.98 -  
~bah.set(\dist, 4)

// - 0:38:52.61 -  
~bah.set(\dist, 10)

// - 0:39:1.39 -  
~bah= {|freq= 200, t_trig= 0, dist= 1.5| LPF.ar({|i| Clip.ar(LFSaw.ar(Lag.kr(freq, Rand(0, 0.5))*(i+1.01)*SinOsc.kr(Rand(0.5, 1.5), EnvGen.ar(Env.perc(0.001, 0.02), t_trig, pi), Rand(0.001, 0.02), #[1, 1.01]), 0, LFNoise2.kr(0.1, 0.05, 1))*dist, -1, 1)*0.2}.dup(4).mean, EnvGen.ar(Env.perc, t_trig, 500, 800))}

// - 0:39:12.8 -  
~bah= {|freq= 200, t_trig= 0, dist= 1.5| LPF.ar({|i| Clip.ar(LFSaw.ar(Lag.kr(freq, Rand(0, 0.5))*(i+1.01)*SinOsc.kr(Rand(0.5, 1.5), EnvGen.ar(Env.perc(0.001, 0.02), t_trig, pi), Rand(0.001, 0.02), #[1, 1.01]), 0, LFNoise2.kr(0.1, 0.05, 1))*dist, -1, 1)*0.2}.dup(4).mean, EnvGen.ar(Env.perc, t_trig, 200, 800))}

// - 0:39:17.89 -  
~bah= {|freq= 200, t_trig= 0, dist= 1.5| LPF.ar({|i| Clip.ar(LFSaw.ar(Lag.kr(freq, Rand(0, 0.5))*(i+1.01)*SinOsc.kr(Rand(0.5, 1.5), EnvGen.ar(Env.perc(0.001, 0.02), t_trig, pi), Rand(0.001, 0.02), #[1, 1.01]), 0, LFNoise2.kr(0.1, 0.05, 1))*dist, -1, 1)*0.2}.dup(4).mean, EnvGen.ar(Env.perc, t_trig, 200, 1000))}

// - 0:39:32.25 -  
(
Tdef(\combctrl, {
	inf.do{|i|
		~comb.set(\amp, [0.25, 0.75, 0.5].wrapAt(i));
		8.wait;
	}
})
);

// - 0:40:27.23 -  
(
Tdef(\hhdist, {
	inf.do{|i|
		var r;
		3.do{|j|
			~hh.set(\t_trig, 1, \freq, 12000);
			0.25.wait;
		};
		if(i%8==2, {
			r= 20;
			r.do{|j|
				~hh.set(\t_trig, 1, \freq, j*100+2000);
				(2.75/r).wait;
			};	
		}, {
			2.75.wait;
		});
	}
})
);

// - 0:40:54.86 -  
(
Tdef(\bas, {
	inf.do{|i|
		3.do{|j|
			~bas.set(\t_trig, 1);
			2.wait;
		};
		if(i%4==0, {
			2.wait;
			~bas.set(\t_trig, 1);
			1.wait;
			~bas.set(\t_trig, 1);
			1.wait;
		}, {
			4.wait;
		});
	}
})
);

// - 0:41:12.56 -  
~bas= {|freq= 50, t_trig= 0| SinOsc.ar(freq*[1, 1.01], EnvGen.ar(Env.perc(0.01, 0.01), t_trig, pi), EnvGen.ar(Env.perc(0, 3.5), t_trig, 0.4))}

// - 0:41:25.96 -  
~bas= {|freq= 50, t_trig= 0| SinOsc.ar(freq*[1, 1.01], EnvGen.ar(Env.perc(0.01, 0.02), t_trig, pi), EnvGen.ar(Env.perc(0, 3.5), t_trig, 0.4))}

// - 0:42:5.41 -  
~bah= {|freq= 200, t_trig= 0, dist= 1.5| LPF.ar({|i| Clip.ar(LFSaw.ar(Lag.kr(freq, Rand(0, 0.5))*(i+1.01)*SinOsc.kr(Rand(0.5, 1.5), EnvGen.ar(Env.perc(0.001, 0.02), t_trig, pi), Rand(0.001, 0.02), #[1, 1.01, 2, 2.02]), 0, LFNoise2.kr(0.1, 0.05, 1))*dist, -1, 1)*0.2}.dup(4).mean, EnvGen.ar(Env.perc, t_trig, 200, 1000))}

// - 0:42:18.34 -  
~bah= {|freq= 200, t_trig= 0, dist= 1.5| LPF.ar({|i| Clip.ar(LFSaw.ar(Lag.kr(freq, Rand(0, 0.5))*(i+1.01)*SinOsc.kr(Rand(0.5, 1.5), EnvGen.ar(Env.perc(0.001, 0.02), t_trig, pi), Rand(0.001, 0.02), #[1, 2, 1.01, 2.02]), 0, LFNoise2.kr(0.1, 0.05, 1))*dist, -1, 1)*0.2}.dup(4).mean, EnvGen.ar(Env.perc, t_trig, 200, 1000))}

// - 0:42:36.11 -  
~bah= {|freq= 200, t_trig= 0, dist= 1.5| LPF.ar({|i| Clip.ar(LFSaw.ar(Lag.kr(freq, Rand(0, 0.5))*(i+1.01)*SinOsc.kr(Rand(0.5, 1.5), EnvGen.ar(Env.perc(0.001, 0.02), t_trig, pi), Rand(0.001, 0.02), #[1, 2.02, 1.01, 2]), 0, LFNoise2.kr(0.1, 0.08, 1))*dist, -1, 1)*0.2}.dup(4).mean, EnvGen.ar(Env.perc, t_trig, 200, 1000))}

// - 0:43:10.95 -  
~bah= {|freq= 200, t_trig= 0, dist= 1.5| LPF.ar({|i| Clip.ar(LFSaw.ar(Lag.kr(freq, Rand(0, 0.5))*(i+1.01)*SinOsc.kr(Rand(0.5, 1.5), EnvGen.ar(Env.perc(0.001, 0.02), t_trig, pi), Rand(0.001, 0.02), #[1, 2.02, 1.01, 2]), 0, LFNoise2.kr(0.1, 0.08, EnvGen.ar(Env.perc(0.01, 4), t_trig)))*dist, -1, 1)*0.2}.dup(4).mean, EnvGen.ar(Env.perc, t_trig, 200, 1000))}

// - 0:43:52.71 -  
~comb= {|amp= 0.5| CombN.ar((~bah.ar*3).softdist, c.tempo.reciprocal/3, c.tempo.reciprocal/3, amp*3)*amp}

// - 0:44:3.29 -  
~comb= {|amp= 0.5| CombN.ar((~bah.ar*3).softclip, c.tempo.reciprocal/3, c.tempo.reciprocal/3, amp*3)*amp}

// - 0:44:20.03 -  
~comb= {|amp= 0.5| CombN.ar((~bah.ar*3).softclip, c.tempo.reciprocal/3, c.tempo.reciprocal/3, amp)*amp}

// - 0:44:26.67 -  
~comb= {|amp= 0.5| CombN.ar((~bah.ar*3).softclip*0.3, c.tempo.reciprocal/3, c.tempo.reciprocal/3, amp)*amp}

// - 0:44:32.4 -  
~comb= {|amp= 0.5| CombN.ar((~bah.ar*7).softclip*0.3, c.tempo.reciprocal/3, c.tempo.reciprocal/3, amp)*amp}

// - 0:44:41.28 -  
~comb= {|amp= 0.5| CombN.ar((~bah.ar*10).softclip*0.2, c.tempo.reciprocal/3, c.tempo.reciprocal/3, amp)*amp}

// - 0:44:51.83 -  
~comb= {|amp= 0.5| CombN.ar((~bah.ar*10).softclip*0.2, c.tempo.reciprocal/2, c.tempo.reciprocal/2, amp)*amp}

// - 0:45:1.55 -  
~comb= {|amp= 0.5| CombN.ar((~bah.ar*10).softclip*0.2, c.tempo.reciprocal, c.tempo.reciprocal, amp)*amp}

// - 0:45:28.8 -  
~comb= {|amp= 0.5| CombN.ar((~bah.ar*10).softclip*0.2, c.tempo.reciprocal, c.tempo.reciprocal, amp*2)*amp}

// - 0:45:37.34 -  
~comb= {|amp= 0.5| CombN.ar((~bah.ar*10).softclip*0.2, c.tempo.reciprocal, c.tempo.reciprocal, amp*3)*amp}

// - 0:45:52.4 -  
~bah.set(\dist, 15)

// - 0:46:23.09 -  
(
Tdef(\explode, {
	inf.do{|i|
		3.do{
			~out.set(\t_trig, 1, \freq, 100, \pan, 0.2);
			1.wait;
			~out.set(\t_trig, 1, \freq, 200, \pan, -0.2);
			1.wait;
		};
		8.do{|j|
			~out.set(\t_trig, 1, \freq, 100+(j*10));
			0.125.wait;
		}
	}
})
);

// - 0:46:56.19 -  
~out= {|t_trig= 0, pan= 0, freq= 100| Pan2.ar(SinOsc.ar(BPF.ar(LFNoise0.ar*EnvGen.ar(Env.perc(0.01, 0.1), t_trig, 100)+freq, freq, SinOsc.kr(0.1, 0, 1, 2)), 0, EnvGen.ar(Env.perc(0.01, 0.5), t_trig)), pan)}

// - 0:47:6.75 -  
~out= {|t_trig= 0, pan= 0, freq= 100| Pan2.ar(SinOsc.ar(BPF.ar(LFNoise0.ar*EnvGen.ar(Env.perc(0.01, 0.1), t_trig, 1000)+freq, freq, SinOsc.kr(0.1, 0, 1, 2)), 0, EnvGen.ar(Env.perc(0.01, 0.5), t_trig)), pan)}

// - 0:47:30.81 -  
~out= {|t_trig= 0, pan= 0, freq= 100| Pan2.ar(SinOsc.ar(BPF.ar(LFNoise0.ar*EnvGen.ar(Env.perc(0.01, 0.1), t_trig, 1000)+freq, freq, SinOsc.kr(0.1, 0, 1, 2)), 0, EnvGen.ar(Env.perc(0.01, 0.5), t_trig, 0.7)), pan)}

// - 0:47:52.1 -  
~out= {|t_trig= 0, pan= 0, freq= 100| Pan2.ar(SinOsc.ar(BPF.ar(LFNoise0.ar*EnvGen.ar(Env.perc(0.01, 0.1), t_trig, 1000)+freq, freq, SinOsc.kr(0.1, 0, 1, 2)), 0, EnvGen.ar(Env.perc(0.01, 0.5), t_trig, 0.7)), LFNoise2.kr(0.2))}

// - 0:48:1.16 -  
~combout.ar(2)

// - 0:48:3.82 -  
~combout.play

// - 0:48:48.57 -  
~combout= {CombN.ar(BPF.ar(~combout.ar, 200, 0.3), 1/c.tempo, 1/c.tempo, 2, 0.3)}

// - 0:49:0.8 -  
~combout.fadeTime_(5)

// - 0:49:8.77 -  
~combout= {CombN.ar(BPF.ar(~combout.ar, 200, 0.3), 1/c.tempo, 1/c.tempo, 2, 0.8)}

// - 0:49:29.87 -  
//hehe feedback

// - 0:49:36.27 -  
//now then

// - 0:49:37.03 -  
~combout= {CombN.ar(BPF.ar(~ut.ar, 200, 0.3), 1/c.tempo, 1/c.tempo, 2, 0.8)}

// - 0:49:48.35 -  
~combout= {CombN.ar(BPF.ar(~ut.ar, 200, 0.3), 1/c.tempo, 1/c.tempo, 3, 1)}

// - 0:50:3.58 -  
~combout= {CombN.ar(BPF.ar(~ut.ar, 200, 1), 1/c.tempo, 1/c.tempo, 3, 1)}

// - 0:50:13.17 -  
~combout= {CombN.ar(BPF.ar(~ut.ar, 200, 2), 1/c.tempo, 1/c.tempo, 3, 1)}

// - 0:50:33.05 -  
~combout= {CombN.ar(LPF.ar(~ut.ar, 200), 1/c.tempo, 1/c.tempo, 3, 1)}

// - 0:51:0.82 -  
//sigh, must learn to type... not ~ut.ar

// - 0:51:8.94 -  
~combout= {CombN.ar(BPF.ar(~out.ar, 200, 0.3), 1/c.tempo, 1/c.tempo, 2, 0.8)}

// - 0:51:14.25 -  
~combout= {CombN.ar(BPF.ar(~out.ar, 200, 0.3), 1/c.tempo, 1/c.tempo, 3, 1)}

// - 0:51:21.62 -  
~combout= {CombN.ar(BPF.ar(~out.ar, 200, 1), 1/c.tempo, 1/c.tempo, 3, 1)}

// - 0:51:28.48 -  
~combout= {CombN.ar(BPF.ar(~out.ar, 200, 2), 1/c.tempo, 1/c.tempo, 3, 1)}

// - 0:51:36.46 -  
~combout= {CombN.ar(LPF.ar(~out.ar, 200), 1/c.tempo, 1/c.tempo, 3, 1)}

// - 0:51:46.93 -  
~combout= {CombN.ar(HPF.ar(~out.ar, 200), 1/c.tempo, 1/c.tempo, 4, 1)}

// - 0:52:9.94 -  
~combout= {CombN.ar(HPF.ar(~out.ar, 200), 1/c.tempo*1.5, 1/c.tempo*1.5, 4, 1)}

// - 0:52:27.33 -  
~combout= {CombN.ar(RHPF.ar(~out.ar, 200), 1/c.tempo*1.5, 1/c.tempo*1.5, 4, 1)}

// - 0:52:43.25 -  
~combout= {CombN.ar(RHPF.ar(~out.ar, 600), 1/c.tempo*1.5, 1/c.tempo*1.5, 4, 1)}

// - 0:52:50.21 -  
~combout= {CombN.ar(RHPF.ar(~out.ar, 600, 0.4), 1/c.tempo*1.5, 1/c.tempo*1.5, 4, 1)}

// - 0:52:58.24 -  
~combout= {CombN.ar(RHPF.ar(~out.ar, 200, 0.4), 1/c.tempo*1.5, 1/c.tempo*1.5, 4, 1)}

// - 0:53:19.64 -  
~combout= {Limiter.ar(CombN.ar(RLPF.ar(~out.ar*0.6, 200, 0.4), 1/c.tempo*1.5, 1/c.tempo*1.5, 4, 1))}

// - 0:53:32.3 -  
~hh.release

// - 0:53:52.73 -  
~bah.pause

// - 0:54:0.06 -  
~bah.resume

// - 0:54:0.99 -  
~bah.pause

// - 0:54:3.76 -  
~bah.resume

// - 0:54:6.85 -  
~bah.pause

// - 0:54:12.91 -  
~bah.pause

// - 0:54:13.56 -  
~bah.resume

// - 0:54:15.5 -  
~bah.pause

// - 0:54:20.5 -  
~bah.release

// - 0:54:23.37 -  
~bas.release

// - 0:54:29.91 -  
~out.pause

// - 0:54:35.85 -  
~out.release

// - 0:54:48.12 -  
p.clear

// - 0:54:49.44 -  
p.pop