1class:: SplayZ 2summary:: Spreads an array of channels across a ring of channels 3categories:: UGens>Multichannel>Panners 4related:: Classes/PanAz, Classes/SplayAz 5 6description:: 7SplayZ spreads an array of channels across a ring of channels. 8Optional spread and center controls, and levelComp(ensation) (equal power). 9numChans and orientation are as in PanAz. 10 11warning:: 12ATTENTION - SplayZ is deprecated because its geometry is wrong. It is only kept for backwards compatibility - please adapt your patches to link::Classes/SplayAz::! See link::Classes/SplayAz:: help file for the comparison in behavior. 13:: 14 15classmethods:: 16 17method:: ar 18argument:: numChans 19argument:: inArray 20argument:: spread 21argument:: level 22argument:: width 23argument:: center 24argument:: orientation 25argument:: levelComp 26 27method:: arFill 28argument:: numChans 29argument:: n 30argument:: function 31argument:: spread 32argument:: level 33argument:: width 34argument:: center 35argument:: orientation 36argument:: levelComp 37 38examples:: 39code:: 40( 41x = { arg spread=1, level=0.2, width=2, center=0.0; 42 SplayZ.ar( 43 4, 44 SinOsc.ar( { |i| LFNoise2.kr( rrand(10, 20), 200, i + 3 * 100) } ! 10), 45 spread, 46 level, 47 width, 48 center 49 ); 50}.scope; 51) 52 53x.set(\spread, 1, \center, 0); // full n chans 54x.set(\spread, 0.5, \center, -0.25); // less wide 55x.set(\spread, 0, \center, 0); // mono center (depends on orientation, see PanAz) 56x.set(\spread, 0, \center, -0.25); // 57x.set(\spread, 0.0, \center, 0.5); // mono, but rotate 1 toward the higher channels 58x.set(\spread, 0.5, \center, 0.5); // spread over the higher channels 59x.set(\spread, 0, \center, -0.25); // all first 60x.set(\spread, 1, \center, 0); // full n chans 61 62x.free; 63 64 // the same example written with arFill: 65( 66x = { arg spread=1, level=0.5, width=2, center=0.0; 67 SplayZ.arFill( 68 4, 69 10, 70 { |i| SinOsc.ar( LFNoise2.kr( rrand(10, 20), 200, i + 3 * 100) ) }, 71 spread, 72 level, 73 width, 74 center 75 ); 76}.scope; 77) 78 79 // or with mouse control 80( 81x = { var src; 82 src = SinOsc.ar( { |i| LFNoise2.kr( rrand(10, 20), 200, i * 100 + 400) } ! 10); 83 SplayZ.ar(4, src, MouseY.kr(1, 0), 0.2, center: MouseX.kr(-1, 1)); 84}.scope; 85) 86:: 87