3 *new1 { arg rate, spread = 1, level = 1, center = 0.0, levelComp = true ... inArray;
5 var n = max(2, inArray.size);
7 var positions = ((0 .. n1) * (2 / n1) - 1) * spread + center;
11 level = level * n.reciprocal.sqrt
17 ^Pan2.perform(this.methodSelectorForRate(rate), inArray, positions).sum * level;
20 *kr { arg inArray, spread = 1, level = 1, center = 0.0, levelComp = true;
21 ^this.multiNewList([\control, spread, level, center, levelComp] ++ inArray)
25 *ar { arg inArray, spread = 1, level = 1, center = 0.0, levelComp = true;
26 ^this.multiNewList([\audio, spread, level, center, levelComp] ++ inArray)
31 *ar { arg inArray, spread = 1, level = 1, center = 0.0, levelComp = true;
33 var n = inArray.size.max(2);
36 if (levelComp) { level = level * n.reciprocal.sqrt };
40 ((0 .. n1) * (2 / n1) - 1) * spread + center
46 *arFill { arg n, function, spread = 1, level = 1, center = 0.0, levelComp = true;
47 ^this.ar((function ! n), spread, level, center, levelComp)
54 *kr { arg numChans = 4, inArray, spread = 1, level = 1, width = 2, center = 0.0,
55 orientation = 0.5, levelComp = true;
57 var n = max(1, inArray.size);
59 var pos = [ center - spread, center + spread ].resamp1(n);
65 ^(PanAz.kr(numChans, inArray, pos, level, width, orientation).flop.collect(_.sum))
68 *ar { arg numChans = 4, inArray, spread = 1, level = 1, width = 2, center = 0.0,
69 orientation = 0.5, levelComp = true;
71 var n = max(1, inArray.size);
73 var pos = [ center - spread, center + spread ].resamp1(n);
76 level = level * n.reciprocal.sqrt
79 ^(PanAz.ar(numChans, inArray, pos, level, width, orientation).flop.collect(_.sum))
82 *arFill { arg numChans = 4, n, function, spread = 1, level = 1, width = 2, center = 0.0,
83 orientation = 0.5, levelComp = true;
84 ^this.ar(numChans, function ! n, spread, level, width, center,
85 orientation, levelComp)
92 *ar { arg numChans = 4, inArray, spread = 1, level = 1, width = 2, center = 0.0,
93 orientation = 0.5, levelComp = true;
95 var n = inArray.size.max(2);
98 if (levelComp) { level = level * n.reciprocal.sqrt };
100 "SplayZ is deprecated, because its geometry is wrong.
101 Please convert to SplayAz.".inform;
106 ((0 .. n1) * (2 / n1) - 1) * spread + center,
113 *arFill { arg numChans = 4, n, function, spread = 1, level = 1, width = 2, center = 0.0,
114 orientation = 0.5, levelComp = true;
115 ^this.ar(numChans, function ! n, spread, level, width, center,
116 orientation, levelComp)