PanRingTop
a panner for a ring with one speaker on top.
see also PanRingTopBot, TorusPanAz.
*ar(numChans, in, azi, elev, orientation)
numChans number of channels in the ring
in input signal to pan
azi azimuth, angle in the horizontal ring; from 0 to 2, wraps around.
elev height above the horizon, toward top speaker; 0 is ring, 1 is top.
orientation direction of azimuth 0: orientation 0 means azi 0 is on chan0,
orientation 0.5 means azi 0 is between chan0 and chan1.
The order of the returned channels is: ring1, ring2 ... ringN, top.
Server.internal.boot;
// orientation defaults to 0.5, between first 2 chans.
z = { |azi=0, elev=0| PanRingTop.ar(4, Dust.ar(1000, 0.5), azi, elev).postln }.scope;
z.set(\azi, -0.25); // chan 0
z.set(\azi, 0.25); // chan 1
z.set(\azi, 0.75); // chan 2
z.set(\azi, 1.25); // chan 3
z.set(\elev, 0.5); // halfway up to chan 5, top.
z.set(\elev, 1); // chan 5 - last chan is top.
// could also be done with TorusPanAz now.