p= ProxySpace.push(s.boot)
p.makeTempoClock(1.4)
c= p.clock
~out.ar(2)
~out.quant_(4)
~out= {Pan2.ar(LPF.ar(Saw.ar(Rand(40, 50).round(1).midicps, 0.1)))}
~out.play
~out.rebuild
~out.rebuild
~out.rebuild
~out.release
~out= {|freq= 80, amp= 0.1, cuttoff= 400| Pan2.ar(LPF.ar(Mix(Saw.ar(freq*[1, 1.01, 0.99], amp*[1, 0.9, 0.9])), cuttoff))}
Tdef(\bass).play(c, quant:4)
(Tdef(\bass, {
	var freq;
	freq= Pseq([30, 30, 30, 40, 34, 34, 34, 34].stutter.postln, inf).asStream;
	inf.do{|i|
		~out.set(\freq, freq.next.midicps);
		(1/3).wait;
	}
}))

~out= {|freq= 80, amp= 0.1, spread= 0.1, cuttoff= 400| Pan2.ar(LPF.ar(Mix(Saw.ar(freq*[1, 1+spread, 1-spread], amp*[1, 0.9, 0.9])), cuttoff))}
(Tdef(\bass, {
	var freq, spread, cut;
	spread= Pseq([0.01, 0.02, 0.03].stutter.postln*2, inf).asStream;
	freq= Pseq([30, 30, 30, 40, 34, 34, 34, 34].stutter.postln, inf).asStream;
	cut= Pseq([400, 300, 500].stutter.postln, inf).asStream;
	inf.do{|i|
		~out.set(\freq, freq.next.midicps, \spread, spread.next, \cuttoff, cut.next);
		(1/3).wait;
	}
}))

~out= {|freq= 80, amp= 0.1, spread= 0.1, cuttoff= 400| Pan2.ar(LPF.ar(Mix(Saw.ar(freq*[1, 1+spread, 1-spread], amp*[1, 0.6, 0.6])), cuttoff))}

~out= {|freq= 80, amp= 0.1, spread= 0.1, cuttoff= 400| Pan2.ar(LPF.ar(Mix(Saw.ar(freq*[1, 1+Lag.kr(spread, 0.2), 1-Lag.kr(spread, 0.2)], amp*[1, 0.6, 0.6])), Lag.kr(cuttoff, 0.2)))}

~out= {|freq= 80, amp= 0.1, spread= 0.1, cuttoff= 400| Pan2.ar(LPF.ar(Mix(LFSaw.ar(freq*[1, 1+Lag.kr(spread, 0.2), 0, 1-Lag.kr(spread, 0.2)], amp*[1, 0.6, 0.6])), Lag.kr(cuttoff, 0.2)))}

~bd.ar(2)
~bd.quant_(4)
~bd.play
~bd= {|t_trig| Mix(SinOsc.ar([60, 70, 80], 0, 0.1))*EnvGen.ar(Env.perc, t_trig)}

Tdef(\bd).play(c, quant:4)
(Tdef(\bd, {
	inf.do{|i|
		~bd.set(\t_trig, 1);
		1.wait
	}
}))
~bd= {|t_trig| Mix(SinOsc.ar([60, 70, 80], 0, 1))*EnvGen.ar(Env.perc, t_trig)}

(Tdef(\bd, {
	var rytm;
	rytm= Pseq([1, 1, 1, 1, 1, 1, 1, 0.25, 0.25, 0.5], inf).asStream;
	inf.do{|i|
		~bd.set(\t_trig, 1);
		rytm.next.wait
	}
}))

(Tdef(\bd, {
	var rytm;
	rytm= Pseq([1, 1, 1, 0.5, 0.5, 1, 1, 1, 0.25, 0.25, 0.5], inf).asStream;
	inf.do{|i|
		~bd.set(\t_trig, 1);
		rytm.next.wait
	}
}))

~out= {|freq= 80, amp= 0.1, spread= 0.1, cuttoff= 400| Pan2.ar(Limiter.ar(LPF.ar(Mix(LFSaw.ar(freq*[1, 1+Lag.kr(spread, 0.2), 0, 1-Lag.kr(spread, 0.2)], amp*[1, 0.6, 0.6])), Lag.kr(cuttoff, 0.2))))}

~out= {|freq= 80, amp= 0.1, spread= 0.1, cuttoff= 400| Pan2.ar(LPF.ar(Mix(LFSaw.ar(freq*[1, 1+Lag.kr(spread, 0.2), 0, 1-Lag.kr(spread, 0.2)], amp*[1, 0.6, 0.6]*0.2)), Lag.kr(cuttoff, 0.2)))}

~sn.ar(2)
~sn.quant_(4)
~sn.play
~sn= {|t_trig| Mix(BPF.ar(WhiteNoise.ar(0.1), [500, 1000, 5000]))*EnvGen.ar(Env.perc, t_trig)}

(Tdef(\sn, {
	var rytm;
	rytm= Pseq([1, 1, 1, 0.5, 0.5, 1, 1, 1, 0.25, 0.25, 0.5], inf).asStream;
	inf.do{|i|
		~sn.set(\t_trig, 1);
		rytm.next.wait
	}
}))
Tdef(\sn).play(c, quant:4)
~sn= {|t_trig| Pan2.ar(Mix(BPF.ar(WhiteNoise.ar(0.1), [500, 1000, 5000]))*EnvGen.ar(Env.perc, t_trig))}

(Tdef(\sn, {
	var rytm;
	rytm= Pseq([1, 1, 1, 0.5, 0.5, Prand([1, Pseq(0.125.dup(4))]), 1, 1, 0.25, 0.25, 0.5], inf).asStream;
	inf.do{|i|
		~sn.set(\t_trig, 1);
		rytm.next.wait
	}
}))

(Tdef(\sn, {
	var rytm;
	rytm= Pseq([1, 1, 1, 0.5, 0.5, Prand([1, Pseq(0.125.dup(4))]), 1, Prand([1, Pseq(0.125.dup(4))]), 0.25, 0.25, 0.5], inf).asStream;
	inf.do{|i|
		~sn.set(\t_trig, 1);
		rytm.next.wait
	}
}))

~sn= {|t_trig| Pan2.ar(Mix(BPF.ar(WhiteNoise.ar(0.1), [500, 1000, 5000, 8000]))*EnvGen.ar(Env.perc, t_trig))}

(Tdef(\sn, {
	var rytm;
	rytm= Pseq([Prand([1, Pseq(0.125.dup(4))]), 1, 1, 0.5, 0.5, Pseq(0.125.dup(8)), 1, Prand([1, Pseq(0.125.dup(4))]), 0.25, 0.25, 0.5], inf).asStream;
	inf.do{|i|
		~sn.set(\t_trig, 1);
		rytm.next.wait
	}
}))

~out= {|freq= 80, amp= 0.1, spread= 0.1, cuttoff= 400, asdf= 0.2| Pan2.ar(LPF.ar(Mix(LFSaw.ar(freq*[1, 1+Lag.kr(spread, 0.2), 0, 1-Lag.kr(spread, 0.2)], amp*[1, 0.6, 0.6]*Lag.kr(asdf, 1))), Lag.kr(cuttoff, 0.2)))}

(Tdef(\bass, {
	var freq, spread, cut, asdf;
	spread= Pseq([0.01, 0.02, 0.03].stutter.postln*3, inf).asStream;
	freq= Pseq([30, 30, 30, 40, 34, 34, 34, 34].stutter.postln, inf).asStream;
	cut= Pseq([400, 300, 500].stutter.postln, inf).asStream;
	asdf= Pseq([0.1, 0.2, 0.3, 0.4].stutter(6).postln, inf).asStream;
	inf.do{|i|
		~out.set(\freq, freq.next.midicps, \spread, spread.next, \cuttoff, cut.next, \asdf, asdf.next);
		(1/3).wait;
	}
}))

~bd= {|t_trig| Pan2.ar(Mix(SinOsc.ar([60, 70, 80, 180], 0, 1)))*EnvGen.ar(Env.perc(0, 2), t_trig)}

~dist.ar(2)
~dist= {|freq= 400| Pan2.ar(Mix(BPF.ar(LFSaw.ar(freq*[1, 2, 3, 4]), freq*2*[1, 2, 3, 4])), LFNoise2.kr(4, 0.7))}
~dist.quant_(4)
~dist.play
~dist.stop
~dist.play
~dist.stop
~dist= {|freq= 400, amp= 0.3| Pan2.ar(Mix(BPF.ar(LFSaw.ar(freq*[1, 2, 3, 4], 0, amp), freq*2*[1, 2, 3, 4])), LFNoise2.kr(4, 0.7))}

~dist.play
~dist.stop
Tdef(\dist).play(c, quant:4)
(Tdef(\dist, {
	inf.do{|i|
		if(i%8==0, {
			~dist.set(\amp, 0);
		});
		if(i%12==4, {
			~dist.set(\amp, 0.3);
		});
		0.5.wait;
	}
}))
~dist.play

(Tdef(\dist2, {
	0.25.wait;
	inf.do{|i|
		if(i%5==0, {
			~dist.set(\freq, [400, 700].choose);
		});
		0.5.wait;
	}
}))
Tdef(\dist2).play(c, quant:4)

~dist= {|freq= 400, amp= 0.3| Pan2.ar(Mix(BPF.ar(LFSaw.ar(freq*[1, 2, 3, 4], 0, amp), freq*SinOsc.kr(0.3, 0, 1, 3)*[1, 2, 3, 4])), LFNoise2.kr(4, 0.7))}
~distcomb= {CombN.ar(~dist.ar, c.tempo.reciprocal/4, c.tempo.reciprocal/4, 1, 0.2)}
~distcomb.quant_(4)
~distcomb.fadeTime_(4)
~distcomb.play
~distcomb= {CombN.ar(~dist.ar, c.tempo.reciprocal/4, c.tempo.reciprocal/4, 2, 0.3)}
~distcomb= {LPF.ar(CombN.ar(~dist.ar, c.tempo.reciprocal/4, c.tempo.reciprocal/4, 2, 0.4), SinOsc.kr(0.4, 0, 300, 900))}

(Tdef(\dist2, {
	var freq;
	freq= Pseq([400, 700, 800].stutter(4).scramble, inf).asStream;
	0.25.wait;
	inf.do{|i|
		if(i%5==0, {
			~dist.set(\freq, freq.next);
		});
		0.5.wait;
	}
}))

(Tdef(\dist, {
	inf.do{|i|
		if(i%8==0, {
			~dist.set(\amp, 0);
		});
		if(i%12==4, {
			~dist.set(\amp, 0.3);
		});
		if(i%20==0, {
			~dist.set(\amp, 0.4);
		});
		if(i%20==1, {
			~dist.set(\amp, 0);
		});
		0.5.wait;
	}
}))

~dist= {|freq= 400, amp= 0.3| Pan2.ar(Mix(BPF.ar(LFSaw.ar(freq*[1, 2, 3, 4, 5, 6], 0, amp), freq*SinOsc.kr(0.3, 0, 1, 3)*[1, 2, 3, 4, 5, 6])), LFNoise2.kr(4, 0.7))}

(Tdef(\sn, {
	var rytm;
	rytm= Pseq([Pseq(0.125.dup(8)), 1, Pseq(0.125.dup(8)), 0.5, 0.5, Pseq(0.125.dup(8)), 1, Prand([1, Pseq(0.125.dup(4))]), 0.25, 0.25, 0.5], inf).asStream;
	inf.do{|i|
		~sn.set(\t_trig, 1);
		rytm.next.wait
	}
}))

~sn= {|t_trig| Pan2.ar(Mix(BPF.ar(WhiteNoise.ar(0.2), [500, 1000, 5000, 8000, 9000]))*EnvGen.ar(Env.perc(0.01, 0.5), t_trig))}

~bd= {|t_trig| Pan2.ar(Mix(SinOsc.ar([60, 70, 80, 180, 240], 0, [1, 1, 1, 0.8, 0.6])))*EnvGen.ar(Env.perc(0, 0.5), t_trig)}

~out= {|freq= 80, amp= 0.1, spread= 0.1, cuttoff= 400, asdf= 0.2| Pan2.ar(LPF.ar(Mix(LFSaw.ar(freq*[1.5, 1+Lag.kr(spread, 0.2), 0, 1-Lag.kr(spread, 0.2)], amp*[1, 0.6, 0.6]*Lag.kr(asdf, 1))), Lag.kr(cuttoff, 0.2)))}

~out= {|freq= 80, amp= 0.1, spread= 0.1, cuttoff= 400, asdf= 0.2| Pan2.ar(LPF.ar(Mix(LFSaw.ar(freq*[1.5, 2+Lag.kr(spread, 0.2), 0, 1-Lag.kr(spread, 0.2)], amp*[1, 0.6, 0.6]*Lag.kr(asdf, 1))), Lag.kr(cuttoff, 0.2)))}

(Tdef(\bass, {
	var freq, spread, cut, asdf;
	spread= Pseq([0.01, 0.02, 0.03].stutter.postln, inf).asStream;
	freq= Pseq([30, 30, 30, 40, 34, 34, 34, 34].stutter.postln, inf).asStream;
	cut= Pseq([400, 300, 500].stutter.scramble.postln, inf).asStream;
	asdf= Pseq([0.1, 0.2, 0.3, 0.4].stutter(6).postln, inf).asStream;
	inf.do{|i|
		~out.set(\freq, freq.next.midicps, \spread, spread.next, \cuttoff, cut.next, \asdf, asdf.next);
		(1/3).wait;
	}
}))

(Tdef(\bass, {
	var freq, spread, cut, asdf;
	spread= Pseq([0.01, 0.02, 0.03].stutter.postln, inf).asStream;
	freq= Pseq([30, 30, 30, 40, 34, 34, 34, 34].stutter.scramble.postln, inf).asStream;
	cut= Pseq([400, 300, 500].stutter.scramble.postln, inf).asStream;
	asdf= Pseq([0.1, 0.2, 0.3, 0.4].stutter(6).postln, inf).asStream;
	inf.do{|i|
		~out.set(\freq, freq.next.midicps, \spread, spread.next, \cuttoff, cut.next, \asdf, asdf.next);
		(1/3).wait;
	}
}))

~distcomb= {LPF.ar(CombN.ar(~dist.ar, c.tempo.reciprocal/4, c.tempo.reciprocal/4, 3, 0.4), SinOsc.kr(1.4, 0, 300, 900))}

~out= {|freq= 80, amp= 0.1, spread= 0.1, cuttoff= 400, asdf= 0.2| Pan2.ar(LPF.ar(Mix(LFSaw.ar(freq*[3, 2+Lag.kr(spread, 0.2), 0, 1-Lag.kr(spread, 0.2)], amp*[1, 0.6, 0.6]*Lag.kr(asdf, 1))), Lag.kr(cuttoff, 0.2)))}

~out= {|freq= 80, amp= 0.1, spread= 0.1, cuttoff= 400, asdf= 0.2| Pan2.ar(LPF.ar(Mix(LFSaw.ar(freq*[3, 2.5+Lag.kr(spread, 0.2), 0, 1-Lag.kr(spread, 0.2)], amp*[1, 0.6, 0.6]*Lag.kr(asdf, 1))), Lag.kr(cuttoff, 0.2)))}

~out= {|freq= 80, amp= 0.1, spread= 0.1, cuttoff= 400, asdf= 0.2, qwerty= 3| Pan2.ar(LPF.ar(Mix(LFSaw.ar(freq*[qwerty, 2.5+Lag.kr(spread, 0.2), 0, 1-Lag.kr(spread, 0.2)], amp*[1, 0.6, 0.6]*Lag.kr(asdf, 1))), Lag.kr(cuttoff, 0.2)))}

(Tdef(\bass, {
	var freq, spread, cut, asdf, qwerty;
	spread= Pseq([0.01, 0.02, 0.03].stutter.postln, inf).asStream;
	freq= Pseq([30, 30, 30, 40, 34, 34, 34, 34].stutter.scramble.postln, inf).asStream;
	cut= Pseq([400, 300, 500].stutter.scramble.postln, inf).asStream;
	asdf= Pseq([0.1, 0.2, 0.3, 0.4].stutter(6).postln, inf).asStream;
	qwerty= Pseq([3, 1, 1.5, 2, 3, 3].scramble.postln, inf).asStream;
	inf.do{|i|
		~out.set(\freq, freq.next.midicps, \spread, spread.next, \cuttoff, cut.next, \asdf, asdf.next, \qwerty, qwerty.next);
		(1/3).wait;
	}
}))

(Tdef(\sn, {
	var rytm;
	rytm= Pseq([Pseq(0.125.dup(8)), Prand([1, Pn(1/3, 3)]), Pseq(0.125.dup(8)), 0.5, 0.5, Pseq(0.125.dup(8)), Prand([1, Pn(1/3, 3)]), Prand([1, Pseq(0.125.dup(4))]), 0.25, 0.25, 0.5], inf).asStream;
	inf.do{|i|
		~sn.set(\t_trig, 1);
		rytm.next.wait
	}
}))

(Tdef(\dist, {
	inf.do{|i|
		if(i%8==0, {
			~dist.set(\amp, 0);
		});
		if(i%12==4, {
			~dist.set(\amp, 0.3);
		});
		if(i%20==0, {
			~dist.set(\amp, 0.3);
		});
		if(i%20==1, {
			~dist.set(\amp, 0);
		});
		if(i%4==0, {
			~dist.set(\amp, [0.2, 0].choose);
			~dist.set(\freq, 400.rrand(900).round(100));
		});
		if(i%4==2, {
			~dist.set(\amp, [0.2, 0].choose);
		});
		0.5.wait;
	}
}))

~dist= {|freq= 400, amp= 0.3| Pan2.ar(Mix(BPF.ar(LFSaw.ar(Lag.kr(freq, 0.4)*[1, 2, 3, 4, 5, 6], 0, amp), freq*SinOsc.kr(0.3, 0, 1, 3)*[1, 2, 3, 4, 5, 6])), LFNoise2.kr(4, 0.7))}

~distcomb= {BPF.ar(CombN.ar(~dist.ar, c.tempo.reciprocal/3, c.tempo.reciprocal/3, 5, 0.5), SinOsc.kr(1.4, 0, 400, 900))}

(Tdef(\bass, {
	var freq, spread, cut, asdf, qwerty;
	spread= Pseq([0.01, 0.02, 0.03].stutter.postln, inf).asStream;
	freq= Pseq([30, 30, 30, 40, 34, 34, 34, 34].stutter.scramble.postln, inf).asStream;
	cut= Pseq([400, 300, 500].stutter.scramble.postln, inf).asStream;
	asdf= Pseq([0.1, 0.2, 0.3, 0.4].stutter(6).postln, inf).asStream;
	qwerty= Pseq([3, 1, 1.5, 2, 3, 3].scramble.postln, inf).asStream;
	inf.do{|i|
		~out.set(\freq, freq.next.midicps, \spread, spread.next, \cuttoff, cut.next, \asdf, asdf.next, \qwerty, qwerty.next);
		(1/3).wait;
	}
}))

(Tdef(\sn, {
	var rytm;
	rytm= Pseq([Pseq(0.125.dup(8)), Pn(1/3, 3), Pseq(0.125.dup(8)), 0.5, 0.5, Pseq(0.125.dup(8)), Pn(1/3, 3), Pseq(0.125.dup(4)), 0.25, 0.25, 0.5], inf).asStream;
	inf.do{|i|
		~sn.set(\t_trig, 1);
		rytm.next.wait
	}
}))

(Tdef(\bd, {
	var rytm;
	rytm= Pseq([0.5, 0.5, 0.5, 0.5, 1, 0.25, 0.25, 0.5], inf).asStream;
	inf.do{|i|
		~bd.set(\t_trig, 1);
		rytm.next.wait
	}
}))

(Tdef(\bd, {
	var rytm;
	rytm= Pseq([0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.25, 0.25, 0.5], inf).asStream;
	inf.do{|i|
		~bd.set(\t_trig, 1);
		rytm.next.wait
	}
}))

~out= {|freq= 80, amp= 0.1, spread= 0.1, cuttoff= 400, asdf= 0.2, qwerty= 3| Pan2.ar(LPF.ar(Mix(LFSaw.ar(freq*[qwerty, 2.5+Lag.kr(spread, 0.2), 0, 2-Lag.kr(spread, 0.2)], amp*[0.8, 0.7, 0.7]*Lag.kr(asdf, 1))), Lag.kr(cuttoff, 0.2)))}

~out.fadeTime_(10)
~out= {|freq= 80, amp= 0.1, spread= 0.1, cuttoff= 400, asdf= 0.2, qwerty= 3| Pan2.ar(BPF.ar(Mix(LFSaw.ar(freq*[qwerty, 2.5+Lag.kr(spread, 0.2), 0, 2-Lag.kr(spread, 0.2)], amp*[0.8, 0.7, 0.7]*Lag.kr(asdf, 1))), Lag.kr(cuttoff, 0.2)))}

~out= {|freq= 80, amp= 0.1, spread= 0.1, cuttoff= 400, asdf= 0.2, qwerty= 3| Pan2.ar(BPF.ar(Mix(LFSaw.ar(freq*[qwerty, 2.5+Lag.kr(spread, 0.2), 0, 2-Lag.kr(spread, 0.2)], amp*[0.6, 0.4, 0.5]*Lag.kr(asdf, 1))), Lag.kr(cuttoff, 0.2)*0.5))}

Tdef(\sn).stop
(Tdef(\sn, {
	var rytm;
	rytm= Pseq([0.5, 0.5, 0.25, 0.25, 0.5]++0.125.dup(16), inf).asStream;
	inf.do{|i|
		~sn.set(\t_trig, 1);
		rytm.next.wait
	}
}))
Tdef(\sn).play(c, quant:4)

(Tdef(\bass, {
	var freq, spread, cut, asdf, qwerty;
	spread= Pseq([0.01, 0.02, 0.03].stutter.postln, inf).asStream;
	freq= Pseq([30, 30, 30, 40, 34, 34, 34, 34].stutter.scramble.postln+4, inf).asStream;
	cut= Pseq([400, 300, 500].stutter.scramble.postln, inf).asStream;
	asdf= Pseq([0.1, 0.2, 0.3, 0.4].stutter(6).postln, inf).asStream;
	qwerty= Pseq([3, 1, 1.5, 2, 3, 3].scramble.postln, inf).asStream;
	inf.do{|i|
		~out.set(\freq, freq.next.midicps, \spread, spread.next, \cuttoff, cut.next, \asdf, asdf.next, \qwerty, qwerty.next);
		(1/3).wait;
	}
}))

(Tdef(\bass, {
	var freq, spread, cut, asdf, qwerty;
	spread= Pseq([0.01, 0.02, 0.03].stutter.postln, inf).asStream;
	freq= PstepNadd(Pseq([30, 30, 30, 40, 34, 34, 34, 34].stutter.scramble.postln), Pseq([Pn(0, 8), Pn(4, 8)]), inf).asStream;
	cut= Pseq([400, 300, 500].stutter.scramble.postln, inf).asStream;
	asdf= Pseq([0.1, 0.2, 0.3, 0.4].stutter(6).postln, inf).asStream;
	qwerty= Pseq([3, 1, 1.5, 2, 3, 3].scramble.postln, inf).asStream;
	inf.do{|i|
		~out.set(\freq, freq.next.midicps, \spread, spread.next, \cuttoff, cut.next, \asdf, asdf.next, \qwerty, qwerty.next);
		(1/3).wait;
	}
}))

//iik!  cmd+. panic.  bad to use PstepNadd here.  must read up on how to add patterns