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.