QcPenPrinter: no need to allocate QPrintDialog on heap
[supercollider.git] / HelpSource / Classes / SplayZ.schelp
blobc731557ab12a9f001bccc457d71138f44243b48a
1 class:: SplayZ
2 summary:: Spreads an array of channels across a ring of channels
3 categories:: UGens>Multichannel>Panners
4 related:: Classes/PanAz, Classes/SplayAz
6 description::
7 SplayZ spreads an array of channels across a ring of channels.
8 Optional spread and center controls, and levelComp(ensation) (equal power).
9 numChans and orientation are as in PanAz.
11 warning::
12 ATTENTION - 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.
15 classmethods::
17 method:: ar
18 argument:: numChans
19 argument:: inArray
20 argument:: spread
21 argument:: level
22 argument:: width
23 argument:: center
24 argument:: orientation
25 argument:: levelComp
27 method:: arFill
28 argument:: numChans
29 argument:: n
30 argument:: function
31 argument:: spread
32 argument:: level
33 argument:: width
34 argument:: center
35 argument:: orientation
36 argument:: levelComp
38 examples::
39 code::
41 x = { 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;
53 x.set(\spread, 1,   \center, 0);  // full n chans
54 x.set(\spread, 0.5, \center, -0.25); // less wide
55 x.set(\spread, 0, \center, 0);  // mono center (depends on orientation, see PanAz)
56 x.set(\spread, 0, \center, -0.25); //
57 x.set(\spread, 0.0, \center, 0.5); // mono, but rotate 1 toward the higher channels
58 x.set(\spread, 0.5, \center, 0.5); // spread over the higher channels
59 x.set(\spread, 0,   \center, -0.25); // all first
60 x.set(\spread, 1,   \center, 0);  // full n chans
62 x.free;
64  // the same example written with arFill:
66 x = { 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;
79  // or with mouse control
81 x = { 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;