init new branch - 8-channel-live
							parent
							
								
									c491e0e147
								
							
						
					
					
						commit
						42d23d6b07
					
				|  | @ -17,7 +17,7 @@ add	- This value will be added to the output.     *********************/ | |||
| // TODO: | ||||
| // expand on more arguments? | ||||
| 
 | ||||
| 	arg out = 0, amp = 0.9, gate = 1, lpfa=1, hpfa=1, fadeTime=1; | ||||
| 	arg out = 0, amp = 0.9, gate = 1, lpfa=1, hpfa=1, fadeTime=1, rq=0.8; | ||||
| 	var sig, par, lpf, hpf, env; | ||||
| 
 | ||||
| 	par = LFNoise1.kr(0.09).range(1.9,2.02); | ||||
|  | @ -27,13 +27,13 @@ add	- This value will be added to the output.     *********************/ | |||
| 	lpf = RLPF.ar( | ||||
| 		in: sig, | ||||
| 		freq: Lag3.kr(LFNoise0.kr(0.08).exprange(50,10000),10), | ||||
| 		rq:0.8, | ||||
| 		rq: rq, | ||||
| 		mul: lpfa); | ||||
| 
 | ||||
| 	hpf = RHPF.ar( | ||||
| 		in:   sig, | ||||
| 		freq: Lag3.kr(LFNoise0.kr(0.065).exprange(50,10000),10), | ||||
| 		rq:   0.8, | ||||
| 		rq:   rq, | ||||
| 		mul: hpfa); | ||||
| 	hpf = DelayN.ar(in:hpf, delaytime:0.11); | ||||
| 
 | ||||
|  |  | |||
							
								
								
									
										289
									
								
								rhizosphere.scd
								
								
								
								
							
							
						
						
									
										289
									
								
								rhizosphere.scd
								
								
								
								
							|  | @ -29,20 +29,20 @@ Server.default.waitForBoot { | |||
| 	}); | ||||
| }); | ||||
| 
 | ||||
| <<<<<<< HEAD | ||||
| 
 | ||||
| s.meter; | ||||
| s.plotTree; | ||||
| ======= | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| s.meter; s.plotTree; | ||||
| >>>>>>> 6aab46529682cae5a6bb3e59e378d8fcf94a3e50 | ||||
| 
 | ||||
| s.sync; | ||||
| 
 | ||||
| 
 | ||||
| // octoPan busses ////////////// | ||||
| ( | ||||
| "\n\n\n=============================================================".postln; | ||||
| "\n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>".postln; | ||||
| "--- R H I Z O S P H E R E -----".postln; | ||||
| ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n".postln; | ||||
| 
 | ||||
| 
 | ||||
| // free busses and panners when re-trying things? | ||||
| ~octoBus1.free; ~octoBus2.free; ~octoBus3.free; ~octoBus4.free; | ||||
| ~panBus1x.free; ~panBus1y.free; ~panBus1r.free; | ||||
|  | @ -90,24 +90,8 @@ s.meter; s.plotTree; | |||
| // 8chan reverb bus | ||||
| ~revBus = Bus.audio(s,8); | ||||
| ">>> loaded all busses".postln; | ||||
| ); | ||||
| 
 | ||||
| 
 | ||||
| r = Recorder(s); | ||||
| r.recHeaderFormat = "wav"; | ||||
| r.record(numChannels:8); | ||||
| r.stopRecording; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| ( /////////////////////////////////////////////////////////////////////////////// | ||||
| var timeLine; | ||||
| "\n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>".postln; | ||||
| "--- R H I Z O S P H E R E -----".postln; | ||||
| ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n".postln; | ||||
| 
 | ||||
| "--- loading octoPanners ...".postln; | ||||
| ~octoPanner1 = Synth("octoPanner", [\inBus, ~octoBus1, \outBus, ~revBus], addAction: \addToTail); | ||||
| ~octoPanner1.map(\x, ~panBus1x); | ||||
|  | @ -129,21 +113,25 @@ var timeLine; | |||
| ~octoPanner4.map(\y, ~panBus4y); | ||||
| ~octoPanner4.map(\radius, ~panBus4r); | ||||
| 
 | ||||
| 
 | ||||
| // 4 x stereo reverbs are fixed to outputs ([0,1][2,3][4,5][6,7]) not panners! | ||||
| ~reverb = Synth("reverBusser", [\inBus, ~revBus, \outBus, 0], addAction: \addToTail); | ||||
| 
 | ||||
| 
 | ||||
| // some default oscilations of pan and reverb | ||||
| ">>> cleaning up panner_x and panner_y control synths...".postln; | ||||
| ~panner1y.free; ~panner2y.free; ~panner3y.free; ~panner4y.free; | ||||
| ~panner1x.free; ~panner2x.free; ~panner3x.free; ~panner4x.free;  | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| // REVERBS | ||||
| ">>> cleaning up reverb busses and wet oscilators...".postln; | ||||
| ~reverb1wetBus.free; // ~wetOsc.free; // clean up | ||||
| ~reverb2wetBus.free; // ~wetOsc.free; // clean up | ||||
| ~reverb3wetBus.free; // ~wetOsc.free; // clean up | ||||
| ~reverb4wetBus.free; // ~wetOsc.free; // clean up | ||||
| ~wetOsc1.free; ~wetOsc2.free; ~wetOsc3.free; ~wetOsc4.free; | ||||
| 
 | ||||
| ">>> setting up reverb control buses and param oscilators...".postln; | ||||
| ~reverb1wetBus = Bus.control(s, 1); // create control bus | ||||
| ~reverb.map(\verb1wet, ~reverb1wetBus); // map an argument to control bus | ||||
| ~reverb2wetBus = Bus.control(s, 1); // create control bus | ||||
|  | @ -153,7 +141,6 @@ var timeLine; | |||
| ~reverb4wetBus = Bus.control(s, 1); // create control bus | ||||
| ~reverb.map(\verb4wet, ~reverb4wetBus); // map an argument to control bus | ||||
| 
 | ||||
| ~wetOsc1.free; ~wetOsc2.free; ~wetOsc3.free; ~wetOsc4.free; | ||||
| ~wetOsc1 = SynthDef(\randomVerb1, {Out.kr(~reverb1wetBus, LFNoise2.kr(1).range(0, 0.8)) }).play; | ||||
| ~wetOsc2 = SynthDef(\randomVerb2, {Out.kr(~reverb2wetBus, LFNoise2.kr(1).range(0, 0.8)) }).play; | ||||
| ~wetOsc3 = SynthDef(\randomVerb3, {Out.kr(~reverb3wetBus, LFNoise2.kr(1).range(0, 0.8)) }).play; | ||||
|  | @ -163,24 +150,166 @@ var timeLine; | |||
| // ~reverb.set(\verb1wet, 0); | ||||
| // ~reverb.set(\verb1wet, 1); | ||||
| // ~reverb.set(\verb2wet, 1); | ||||
| //); | ||||
| 
 | ||||
| ">>> finished loading all busses and control synths for panning etc ...".postln; | ||||
| "".postln; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| );  | ||||
| 
 | ||||
| //( | ||||
| //var timeLine; | ||||
| 
 | ||||
| timeLine = Routine { | ||||
| 	"--- starting main routine ...".postln; | ||||
| 
 | ||||
| 	 | ||||
| 	/// SOIL ////////////////////////////////// | ||||
| 	// forestSoil granulation | ||||
| 	"\n--- PART 1 ---".postln; | ||||
| 	"--- starting forestSoil granulation ...".postln; | ||||
| 	 | ||||
| 	~soil1 = Synth(\granSoil, [\out, ~octoBus1, \sndbuf, ~forestSoilBuf, \dur, 0.0001 ,\fadeTime, 20, \amp, 0.8]); | ||||
| 	~soil1durBus = Bus.control(s,1); | ||||
| 	~soil1durBus.value = 0.0001; | ||||
| 	~soil1.map(\dur, ~soil1durBus); | ||||
| ////////////////////////////////////////////////////////////////////////////////// | ||||
| // P E R F O R M A N C E ///////////////////////////////////////////////////////// | ||||
| ////////////////////////////////////////////////////////////////////////////////// | ||||
| 
 | ||||
| // PANNERS | ||||
| 
 | ||||
| // x=0:y=[ 0.00 / 0.28 / 0.57 / 0.85 ] | ||||
| // x=1:y=[ 1.00 / 0.71 / 0.43 / 0.14 ]  | ||||
| 
 | ||||
| ( // free all control synths for panning | ||||
| ~panner1y.free; | ||||
| ~panner2y.free; | ||||
| ~panner3y.free; | ||||
| ~panner4y.free; | ||||
| 
 | ||||
| ~panner1x.free; | ||||
| ~panner2x.free; | ||||
| ~panner3x.free; | ||||
| ~panner4x.free; | ||||
| ) | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| ~panBus1x.value = 0; | ||||
| ~panBus1y.value = 0; | ||||
| ~panBus1r.value = 1; | ||||
| 
 | ||||
| ~panBus2x.value = 0; | ||||
| ~panBus2y.value = 0.28; | ||||
| ~panBus2r.value = 1; | ||||
| 
 | ||||
| ~panBus3x.value = 1; | ||||
| ~panBus3y.value = 0.28; | ||||
| ~panBus3r.value = 1; | ||||
| 
 | ||||
| ~panner3y = SynthDef(\oscPanY3, { Out.kr(~panBus3y, SinOsc.kr(2).range(1,0.14))}).play; | ||||
| ~panner3y.free; | ||||
| 
 | ||||
| ~panBus4x.value = 1; | ||||
| ~panBus4y.value = 0.28; | ||||
| ~panBus4r.value = 1; | ||||
| 
 | ||||
| ~panner3y = SynthDef(\oscPanY4, { Out.kr(~panBus4y, SinOsc.kr(2).range(1,0.14))}).play; | ||||
| ~panner3y.free; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| // SYNTHS | ||||
| 
 | ||||
| 
 | ||||
| // noise Cracle | ||||
| ~noiseCr1 = Synth(\noiseCrackle, [\out, ~octoBus1, \fadeTime, 30, \lpfa, 1, \hpfa, 0 ]); | ||||
| ~noiseCr1.set(\rq, 0.98); | ||||
| ~noiseCr1.set(\lpfa, 1); | ||||
| ~noiseCr1.set(\hpfa, 0); | ||||
| ~noiseCr1.set(\gate, 0, \fadeTime, 1); | ||||
| ~noiseCr1.free; | ||||
| 
 | ||||
| ~noiseCr2 = Synth(\noiseCrackle, [\out, ~octoBus2, \fadeTime, 30, \lpfa, 1, \hpfa, 0 ]); | ||||
| ~noiseCr2.set(\gate, 0, \fadeTime, 1); | ||||
| ~noiseCr2.free; | ||||
| 
 | ||||
| ~noiseCr3 = Synth(\noiseCrackle, [\out, ~octoBus3, \fadeTime, 30, \lpfa, 0, \hpfa, 1 ]); | ||||
| ~noiseCr3.set(\gate, 0, \fadeTime, 1); | ||||
| ~noiseCr3.free; | ||||
| 
 | ||||
| ~noiseCr4 = Synth(\noiseCrackle, [\out, ~octoBus4, \fadeTime, 30, \lpfa, 0, \hpfa, 1 ]); | ||||
| ~noiseCr4.set(\gate, 0, \fadeTime, 1); | ||||
| ~noiseCr4.free; | ||||
| 
 | ||||
| ( // free them all at once | ||||
| ~noiseCr1.free; | ||||
| ~noiseCr2.free; | ||||
| ~noiseCr3.free; | ||||
| ~noiseCr4.free; | ||||
| ) | ||||
| 
 | ||||
| 
 | ||||
| ~henonS1 = Synth(\henonSynth1, [\out, ~octoBus3, \amp, 0.4, \fadeTime, 4]); | ||||
| ~henonS1.set(\amp, 0.05); | ||||
| ~henonS1.set(\gate, 0, \fadeTime, 1); | ||||
| ~henonS1.free; | ||||
| 
 | ||||
| ~henonS2 = Synth(\henonSynth1, [\out, ~octoBus3, \amp, 0.4, \fadeTime, 4]); | ||||
| ~henonS2.set(\amp, 0.05); | ||||
| ~henonS2.set(\gate, 0, \fadeTime, 1); | ||||
| ~henonS2.free; | ||||
| 
 | ||||
| ~darkHenon1 = Synth(\henonLsynth2, [\out, ~octoBus4, \fadeTime, 10]); | ||||
| ~darkHenon1.set(\gate, 0, \fadeTime, 3); | ||||
| ~darkHenon1.free; | ||||
| 
 | ||||
| ~darkHenon2 = Synth(\henonLsynth2, [\out, ~octoBus4, \fadeTime, 10]); | ||||
| ~darkHenon2.set(\gate, 0, \fadeTime, 3); | ||||
| ~darkHenon2.free; | ||||
| 
 | ||||
| 
 | ||||
| // | ||||
| 
 | ||||
| ~soil1 = Synth(\granSoil, [\out, ~octoBus1, \sndbuf, ~forestSoilBuf, \dur, 0.0001 ,\fadeTime, 20, \amp, 0.8]); | ||||
| 
 | ||||
| ~soil1durBus = Bus.control(s,1); | ||||
| ~soil1durBus.value = 0.0001; | ||||
| ~soil1.map(\dur, ~soil1durBus); | ||||
| 
 | ||||
| ~soil1DurOsc = SynthDef( \soilDurOsc, {Out.kr(~soil1durBus, SinOsc.kr(0.012,1.5pi).range(0.0001, 0.05))} ).play; | ||||
| ~soil1DurOsc.free; | ||||
| 
 | ||||
| ~soil1.set(\gate, 0, \fadeTime, 15); // use envelope to fade out | ||||
| ~soil1.free; | ||||
| 
 | ||||
| // | ||||
| 
 | ||||
| ~soil2 = Synth(\granSoil, [\out, ~octoBus2, \sndbuf, ~forestSoilBuf, \dur, 0.0001 ,\fadeTime, 20, \amp, 0.8]); | ||||
| ~soil2durBus = Bus.control(s,1); | ||||
| ~soil2durBus.value = 0.0001; | ||||
| ~soil2.map(\dur, ~soil2durBus); | ||||
| ~soil2DurOsc = SynthDef( \soilDurOsc, {Out.kr(~soil2durBus, SinOsc.kr(0.029,1.5pi).range(0.0001, 0.08))} ).play; | ||||
| ~soil2DurOsc.free; | ||||
| ~soil2.set(\gate, 0, \fadeTime, 15); // use envelope to fade out | ||||
| 
 | ||||
| 
 | ||||
| 	"--- starting oscilating duration 2...".postln; | ||||
| 	wait(120); | ||||
| 
 | ||||
| // | ||||
| 
 | ||||
| ~soil3 = Synth(\granSoil, [\out, ~octoBus2, \sndbuf, ~forestSoilBuf, \dur, 0.0001 ,\fadeTime, 20, \amp, 0.8]); | ||||
| ~soil3durBus = Bus.control(s,1); | ||||
| ~soil3durBus.value = 0.0001; | ||||
| ~soil3.map(\dur, ~soil3durBus); | ||||
| 
 | ||||
| ~soil3.set(\gate, 0, \fadeTime, 15); // use envelope to fade out | ||||
| 
 | ||||
| // | ||||
| 
 | ||||
| ~soil4 = Synth(\granSoil, [\out, ~octoBus2, \sndbuf, ~forestSoilBuf, \dur, 0.0001 ,\fadeTime, 20, \amp, 0.8]); | ||||
| ~soil4durBus = Bus.control(s,1); | ||||
| ~soil4durBus.value = 0.01; | ||||
| ~soil4.map(\dur, ~soil4durBus); | ||||
| 
 | ||||
| ~soil4.set(\fadeTime, 15, \gate, 0); // use envelope to fade out | ||||
| 
 | ||||
| // | ||||
| 
 | ||||
| 	"--- starting panner1y sin Oscilation ...".postln; | ||||
| 	~panner1y = SynthDef(\sinPanY1, { Out.kr(~panBus1y, SinOsc.kr(0.01).range(0.3,0.5))}).play; | ||||
| 	~panBus1x.value = 1; | ||||
|  | @ -188,23 +317,12 @@ timeLine = Routine { | |||
| 	wait(80); | ||||
| 	 | ||||
| 	"--- starting soil2 ...".postln; | ||||
| 	~soil2 = Synth(\granSoil, [\out, ~octoBus2, \sndbuf, ~forestSoilBuf, \dur, 0.0001 ,\fadeTime, 20, \amp, 0.8]); | ||||
| 	~soil2durBus = Bus.control(s,1); | ||||
| 	~soil2durBus.value = 0.0001; | ||||
| 	~soil2.map(\dur, ~soil2durBus); | ||||
| 	"--- starting panner2y sin Oscilation ...".postln; | ||||
| 	~panner2y = SynthDef(\sinPanY2, { Out.kr(~panBus2y, SinOsc.kr(0.015).range(0.3,0.5))}).play; | ||||
| 	~panBus2x.value = 0; | ||||
| 	~panBus2r.value = 1; | ||||
| 	wait(20); | ||||
| 	 | ||||
| 	"--- starting oscilating duration ...".postln; | ||||
| 	~soil1DurOsc = SynthDef( \soilDurOsc, {Out.kr(~soil1durBus, SinOsc.kr(0.012,1.5pi).range(0.0001, 0.05))} ).play; | ||||
| 	wait(20); | ||||
| 
 | ||||
| 	"--- starting oscilating duration 2...".postln; | ||||
| 	~soil2DurOsc = SynthDef( \soilDurOsc, {Out.kr(~soil2durBus, SinOsc.kr(0.029,1.5pi).range(0.0001, 0.08))} ).play; | ||||
| 	wait(120); | ||||
| 
 | ||||
| 	"--- return to static duration, abruptly...".postln; | ||||
| 	~panner1y.free; ~panner2y.free; | ||||
|  | @ -215,23 +333,54 @@ timeLine = Routine { | |||
| 	~panBus2y.value = 0.9; | ||||
| 
 | ||||
| 	"--- fade soils...".postln; | ||||
| 	~soil1.set(\gate, 0, \fadeTime, 15); // use envelope to fade out | ||||
| 	wait(3); | ||||
| 	~soil2.set(\gate, 0, \fadeTime, 15); // use envelope to fade out | ||||
| 	wait(20); | ||||
| 
 | ||||
| 	~soil1DurOsc.free; | ||||
| 	~soil2DurOsc.free; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| ///// TIMELINE - obsolete - to be converted to LIVE TOOLS: | ||||
| ( | ||||
| timeLine = Routine { | ||||
| 	"--- starting main routine ...".postln; | ||||
| 
 | ||||
| 	 | ||||
| 	/// SOIL ////////////////////////////////// | ||||
| 	// forestSoil granulation | ||||
| 	"\n--- PART 1 ---".postln; | ||||
| 	"--- starting forestSoil granulation ...".postln; | ||||
| 	 | ||||
| 
 | ||||
| 
 | ||||
| 	 | ||||
| 	// trigRingz ////////////////////////////////////////////////////////////////////////////////////////////////////// | ||||
| 	 | ||||
| 	"\n--- PART 2 ---".postln; | ||||
| 	"--- starting lorenzTrig1 ...".postln; | ||||
| 	~lorenzTrig1 = Synth(\lorenzTrigRing, [\out, ~octoBus1, \freq, 1400, \amp, 0.5, \fadeTime, 5]); | ||||
| 	~panBus1y.value = 0; // set a fixed value to a bus | ||||
| 	~panBus1x.value = 0; | ||||
| 	~panBus1y.value = 0.1; // set a fixed value to a bus | ||||
| 	~panBus1x.value = 1; | ||||
| 	~panBus1r.value = 0.1; | ||||
| 	wait(50); | ||||
| 	 | ||||
|  | @ -337,9 +486,9 @@ timeLine = Routine { | |||
| 
 | ||||
| 	"--- latooWanderings ...".postln;	 | ||||
| 	~latooWan1 = Synth(\latooWanderings, [\out, ~octoBus4, \fadeTime, 30, \amp, 0.3]); | ||||
| 	~panBus4y.value = 0.9; // set a fixed value to a bus | ||||
| 	~panBus4y.value = 0.4; // set a fixed value to a bus | ||||
| 	~panBus4x.value = 0; | ||||
| 	~panBus4r.value = 1; | ||||
| 	~panBus4r.value = 10; | ||||
| 	wait(30); | ||||
| 		 | ||||
| 	~panner4y = SynthDef(\randomPanY4, { Out.kr(~panBus4y, LFNoise1.kr(0.9).range(0,1))}).play; | ||||
|  | @ -412,6 +561,8 @@ timeLine = Routine { | |||
| 	~markov10.set(\gate, 0, \fadeTime, 50); | ||||
| 	~markov11.set(\gate, 0, \fadeTime, 50); | ||||
| 	~markov12.set(\gate, 0, \fadeTime, 50); | ||||
| 
 | ||||
| 
 | ||||
| 	 | ||||
| 	"\n--- PART 4 --- ".postln; | ||||
| 	"--- noiseCrackle ...".postln; | ||||
|  | @ -431,13 +582,29 @@ timeLine = Routine { | |||
| 	~panner4y = SynthDef(\sinPanY4, { Out.kr(~panBus4y, SinOsc.kr(0.05).range(0,1))}).play; | ||||
| 	 | ||||
| 	~panBus4r.value = 0.1;	 | ||||
| 	~darkHenon1 = Synth(\henonLsynth2, [\out, ~octoBus4, \fadeTime, 30]); | ||||
| 	~darkHenon1 = Synth(\henonLsynth2, [\out, ~octoBus4, \fadeTime, 0]); | ||||
| 	wait(40); | ||||
| 
 | ||||
| 
 | ||||
| 	( | ||||
| 
 | ||||
| 	~darkHenon1 = Synth(\henonLsynth2, [\out, ~octoBus4, \fadeTime, 0]); | ||||
| 	~henonS1 = Synth(\henonSynth1, [\out, ~octoBus3, \amp, 0.4, \fadeTime, 0]); | ||||
| 
 | ||||
| 		 | ||||
| 	) | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 	 | ||||
| 	"--- henonS1 ...".postln; | ||||
| 	~henonS1 = Synth(\henonSynth1, [\out, ~octoBus3, \amp, 0.4, \fadeTime, 40]); | ||||
| 	"--- noiseCrackle fade ...".postln; | ||||
| 	~noiseCr1.set(\fadeTime, 90, \gate,0); | ||||
| 	~noiseCr1.set(\fadeTime, 9, \gate,0); | ||||
| 	~panBus3x.value = 0; | ||||
| 	~panBus3y.value = 1; | ||||
| 	~panner3y.free; | ||||
|  | @ -446,10 +613,10 @@ timeLine = Routine { | |||
| 	wait(120);  | ||||
| 
 | ||||
| 	"--- final fade henonS1, darkHenon ...".postln; | ||||
| 	~darkHenon1.set(\gate, 0, \fadeTime, 60); | ||||
| 	~darkHenon1.set(\gate, 0, \fadeTime, 6); | ||||
| 	wait(30); | ||||
| 	 | ||||
| 	~henonS1.set(\gate, 0, \fadeTime, 60); | ||||
| 	~henonS1.set(\gate, 0, \fadeTime, 1); | ||||
| 	wait(60); | ||||
| 
 | ||||
| 	~panner1y.free; | ||||
|  | @ -460,7 +627,7 @@ timeLine = Routine { | |||
| 	 | ||||
| }; | ||||
| 
 | ||||
| timeLine.play; | ||||
| //timeLine.play; | ||||
| 
 | ||||
| ); | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue