object PanAz extends ProductReader[PanAz] with Serializable
An azimuth-based panorama UGen. It uses vector-based-amplitude panning where
the arbitrary number of speakers is supposed to be distributed in a circle with
even spacing between them. It uses an equal-power-curve to transition between
adjacent speakers. Note the different default value for the orient
argument!
Use case: To spread an multi-channel input signal across an output bus with a
different number of channels, such that the first input channel is played on the
first output channel (no spread to adjacent channels) and the last input channel
is played to the last output channel (no spread to adjacent channels), you would
create a dedicated PanAz
per input channel where the pan position is
inChanIdx * 2f / (inChannels - 1) * (outChannels - 1) / outChannels
.
- Alphabetic
- By Inheritance
- PanAz
- Serializable
- ProductReader
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def ar(numChannels: Int, in: GE, pos: GE = 0.0f, level: GE = 1.0f, width: GE = 2.0f, orient: GE = 0.0f): PanAz
- numChannels
the number of output channels
- in
the input signal
- pos
the pan position. Channels are evenly spaced over a cyclic period of 2.0. the output channel position is
pos / 2 * numChannels + orient
. Thus, assuming anorient
of0.0
, andnumChannels
being for example3
, apos
of0*2.0/3 == 0.0
corresponds to the first output channel, apos
of1*2.0/3
corresponds to the second output channel, apos
of2*2.0/3=4.0/3
corresponds to the third and last output channel, and apos
of3*2.0/3=2.0
completes the circle and wraps again to the first channel. Using a bipolar pan position, such as a sawtooth that ranges from -1 to +1, all channels will be cyclically panned through. Must be control rate.- level
a control rate level input (linear multiplier).
- width
the width of the panning envelope. The default of 2.0 pans between pairs of adjacent speakers. Width values greater than two will spread the pan over greater numbers of speakers. Width values less than one will leave silent gaps between speakers.
- orient
the offset in the output channels regarding a pan position of zero. Note that ScalaCollider uses a default of zero which means that a pan pos of zero outputs the signal exactly on the first output channel. This is different in sclang where the default is 0.5 which means that a pan position of zero will output the signal between the first and second speaker. Accordingly, an
orient
of1.0
would result in a channel offset of one, where a pan position of zero would output the signal exactly on the second output channel, and so forth.
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def kr(numChannels: Int, in: GE, pos: GE = 0.0f, level: GE = 1.0f, width: GE = 2.0f, orient: GE = 0.0f): PanAz
- numChannels
the number of output channels
- in
the input signal
- pos
the pan position. Channels are evenly spaced over a cyclic period of 2.0. the output channel position is
pos / 2 * numChannels + orient
. Thus, assuming anorient
of0.0
, andnumChannels
being for example3
, apos
of0*2.0/3 == 0.0
corresponds to the first output channel, apos
of1*2.0/3
corresponds to the second output channel, apos
of2*2.0/3=4.0/3
corresponds to the third and last output channel, and apos
of3*2.0/3=2.0
completes the circle and wraps again to the first channel. Using a bipolar pan position, such as a sawtooth that ranges from -1 to +1, all channels will be cyclically panned through. Must be control rate.- level
a control rate level input (linear multiplier).
- width
the width of the panning envelope. The default of 2.0 pans between pairs of adjacent speakers. Width values greater than two will spread the pan over greater numbers of speakers. Width values less than one will leave silent gaps between speakers.
- orient
the offset in the output channels regarding a pan position of zero. Note that ScalaCollider uses a default of zero which means that a pan pos of zero outputs the signal exactly on the first output channel. This is different in sclang where the default is 0.5 which means that a pan position of zero will output the signal between the first and second speaker. Accordingly, an
orient
of1.0
would result in a channel offset of one, where a pan position of zero would output the signal exactly on the second output channel, and so forth.
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def read(in: RefMapIn, key: String, arity: Int): PanAz
- Definition Classes
- PanAz → ProductReader
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated