// octoPan busses ////////////// ( // free busses and panners when re-trying things? ~octoBus1.free; ~octoBus2.free; ~octoBus3.free; ~octoBus4.free; ~panBus1x.free; ~panBus1y.free; ~panBus1r.free; ~panBus2x.free; ~panBus2y.free; ~panBus2r.free; ~panBus3x.free; ~panBus3y.free; ~panBus3r.free; ~panBus4x.free; ~panBus4y.free; ~panBus4r.free; ~revBus.free; // octoBus1 + panners and control busses: ~octoBus1 = Bus.audio(s,1); ~panBus1x = Bus.control(s,1); ~panBus1y = Bus.control(s,1); ~panBus1r = Bus.control(s,1); ~panBus1y.value = 0.14; // set a fixed value to a bus ~panBus1x.value = 0; ~panBus1r.value = 10; // octoBus2 + panners and control busses: ~octoBus2 = Bus.audio(s,1); ~panBus2x = Bus.control(s,1); ~panBus2y = Bus.control(s,1); ~panBus2r = Bus.control(s,1); ~panBus2y.value = 0.14; // set a fixed value to a bus ~panBus2x.value = 0; ~panBus2r.value = 10; // octoBus3 + panners and control busses: ~octoBus3 = Bus.audio(s,1); ~panBus3x = Bus.control(s,1); ~panBus3y = Bus.control(s,1); ~panBus3r = Bus.control(s,1); ~panBus3y.value = 0.14; // set a fixed value to a bus ~panBus3x.value = 0; ~panBus3r.value = 10; // octoBus4 + panners and control busses: ~octoBus4 = Bus.audio(s,1); ~panBus4x = Bus.control(s,1); ~panBus4y = Bus.control(s,1); ~panBus4r = Bus.control(s,1); ~panBus4y.value = 0.14; // set a fixed value to a bus ~panBus4x.value = 0; ~panBus4r.value = 10; // 8chan reverb bus ~revBus = Bus.audio(s,8); ">>> loaded all busses".postln; "--- loading octoPanners ...".postln; ~octoPanner1 = Synth("octoPanner", [\inBus, ~octoBus1, \outBus, ~revBus], addAction: \addToTail); ~octoPanner1.map(\x, ~panBus1x); ~octoPanner1.map(\y, ~panBus1y); ~octoPanner1.map(\radius, ~panBus1r); ~octoPanner2 = Synth("octoPanner", [\inBus, ~octoBus2, \outBus, ~revBus], addAction: \addToTail); ~octoPanner2.map(\x, ~panBus2x); ~octoPanner2.map(\y, ~panBus2y); ~octoPanner2.map(\radius, ~panBus2r); ~octoPanner3 = Synth("octoPanner", [\inBus, ~octoBus3, \outBus, ~revBus], addAction: \addToTail); ~octoPanner3.map(\x, ~panBus3x); ~octoPanner3.map(\y, ~panBus3y); ~octoPanner3.map(\radius, ~panBus3r); ~octoPanner4 = Synth("octoPanner", [\inBus, ~octoBus4, \outBus, ~revBus], addAction: \addToTail); ~octoPanner4.map(\x, ~panBus4x); ~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 ~reverb.map(\verb2wet, ~reverb2wetBus); // map an argument to control bus ~reverb3wetBus = Bus.control(s, 1); // create control bus ~reverb.map(\verb3wet, ~reverb3wetBus); // map an argument to control bus ~reverb4wetBus = Bus.control(s, 1); // create control bus ~reverb.map(\verb4wet, ~reverb4wetBus); // map an argument to control bus ~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; ~wetOsc4 = SynthDef(\randomVerb4, {Out.kr(~reverb4wetBus, LFNoise2.kr(1).range(0, 0.8)) }).play; // ~wetOsc.free; // ~reverb.set(\verb1wet, 0); // ~reverb.set(\verb1wet, 1); // ~reverb.set(\verb2wet, 1); // free all control synths for panning ">>> freeing all control synths for panning...".postln; ~panner1y.free; ~panner2y.free; ~panner3y.free; ~panner4y.free; ~panner1x.free; ~panner2x.free; ~panner3x.free; ~panner4x.free; // in stereo all x pans are 0! ">>> setting default values in control pan buses...".postln; ~panBus1x.value = 0; ~panBus2x.value = 0; ~panBus3x.value = 0; ~panBus4x.value = 0; ~panBus1y.value = 0; ~panBus1r.value = 10; ~panBus2y.value = 0.28; ~panBus2r.value = 10; ~panBus3y.value = 0; ~panBus3r.value = 10; ~panBus4y.value = 0.28; ~panBus4r.value = 10; // PANNERS // x=0:y=[ 0.00 / 0.28 / 0.57 / 0.85 ] // x=1:y=[ 1.00 / 0.71 / 0.43 / 0.14 ] ~panner1y = SynthDef(\randomPan1y, { Out.kr(~panBus1y, LFNoise1.kr(2).range(0,0.28))}).play; //~panner1y = SynthDef(\oscPan1y, { Out.kr(~panBus1y, SinOsc.kr(2).range(0,0.28))}).play; //~panner1y.free ~panner2y = SynthDef(\randomPan2y, { Out.kr(~panBus2y, LFNoise1.kr(2).range(0,0.28))}).play; //~panner2y = SynthDef(\oscPan2y, { Out.kr(~panBus2y, SinOsc.kr(2).range(0,0.28))}).play; //~panner2y.free ~panner3y = SynthDef(\randomPan3y, { Out.kr(~panBus3y, LFNoise1.kr(2).range(0,0.28))}).play; //~panner3y = SynthDef(\oscPan3y, { Out.kr(~panBus3y, SinOsc.kr(2).range(0,0.28))}).play; //~panner3y.free ~panner4y = SynthDef(\randomPan4y, { Out.kr(~panBus4y, LFNoise1.kr(2).range(0,0.28))}).play; //~panner4y = SynthDef(\oscPan4y, { Out.kr(~panBus4y, SinOsc.kr(2).range(0,0.28))}).play; //~panner4y.free // ">>> setting verbDelayFX and ~reverBus...".postln; ~reverbDelay.free; ~reverBus.free; ~reverBus = Bus.audio(s,2); ~reverbDelay = Synth(\verbDelayFX, [\inBus, ~reverBus, \outBus, 0, \revWet, 1, \dlyWet, 1], addAction: \addAfter); //~reverbDelay.set(\revWet, 1); //~reverbDelay.set(\dlyWet, 1); ">>> finished loading all busses and control synths for panning etc ...".postln; "".postln; );