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)
55 *new1 { arg rate, numChans = 4, spread = 1, level = 1, width = 2, center = 0.0,
56 orientation = 0.5, levelComp = true ... inArray;
58 var n = max(1, inArray.size);
59 var moreOuts = numChans > n;
60 var positions = ((0 .. n-1) / n * 2) * spread + center;
65 level = level * n.reciprocal.sqrt
71 if (moreOuts) { inArray = inArray * level };
74 this.methodSelectorForRate(rate),
81 ).sum * if (moreOuts) { 1 } { level };
84 *kr { arg numChans = 4, inArray, spread = 1, level = 1, width = 2, center = 0.0,
85 orientation = 0.5, levelComp = true;
86 ^this.multiNewList([\control, numChans, spread, level, width, center,
87 orientation, levelComp] ++ inArray)
90 *ar { arg numChans = 4, inArray, spread = 1, level = 1, width = 2, center = 0.0,
91 orientation = 0.5, levelComp = true;
92 ^this.multiNewList([\audio, numChans, spread, level, width, center,
93 orientation, levelComp] ++ inArray)
97 /**ar { arg numChans = 4, inArray, spread = 1, level = 1, width = 2, center = 0.0,
98 orientation = 0.5, levelComp = true;
100 var n = inArray.size.max(1);
101 var moreOuts = numChans > n;
103 if (levelComp) { level = level * n.reciprocal.sqrt };
104 if (moreOuts) { inArray = inArray * level };
109 ((0 .. n-1) / n * 2) * spread + center,
113 ).sum * if (moreOuts, 1, level);
116 *arFill { arg numChans = 4, n, function, spread = 1, level = 1, width = 2, center = 0.0,
117 orientation = 0.5, levelComp = true;
118 ^this.ar(numChans, function ! n, spread, level, width, center,
119 orientation, levelComp)
126 *ar { arg numChans = 4, inArray, spread = 1, level = 1, width = 2, center = 0.0,
127 orientation = 0.5, levelComp = true;
129 var n = inArray.size.max(2);
132 if (levelComp) { level = level * n.reciprocal.sqrt };
134 "SplayZ is deprecated, because its geometry is wrong.
135 Please convert to SplayAz.".inform;
140 ((0 .. n1) * (2 / n1) - 1) * spread + center,
147 *arFill { arg numChans = 4, n, function, spread = 1, level = 1, width = 2, center = 0.0,
148 orientation = 0.5, levelComp = true;
149 ^this.ar(numChans, function ! n, spread, level, width, center,
150 orientation, levelComp)