A simple stereo-panning implementation
The Stereo suite (stereoActor, stereoHand, stereoAlg) implements a basic
stereo panning algorithm and its associated handler and actor. Stereo
inputs are panned such that both channels will get sent "hard right" if
the pan position is hard right, and such that the channels remain unaltered
and separated if the pan position is dead center. (The input channels
are processed separately, not merely summed.)
Note that all Generator Actors understand the SetPan message. If you just
want to pan around a monophonic source, use that instead of the
StereoActor. The StereoActor is intended for panning sounds,
particularly stereo sounds, into a two-channel stream
which other Processor Actors will modify.
To use this stereo implementation,
load stereo.so and create an actor of type StereoActor.
In addition to the messages understood by all generator actors, the StereoActor understands the following messages:
- SetPan hActor x
- Set the default pan position for new instances
created by this actor to x (-1 to +1 is hard left to hard right).
- SetAllPan hActor x time
- Set the pan position of all children to x
(-1 to +1 is hard left to hard right),
and set the default pan position for all future children.
If time is specified, children will modulate to the new pan
position over the specified duration. Default pan position is always
set immediately regardless of time.
StereoActor handler messages
In addition to the messages understood by all handlers, the handler for
the stereo algorithm understands the following messages:
- SetInput hSound hHandler
- Set the input to come from the handler hHandler.
- SetPan hSound x time
- Set the pan position to x
(-1 to +1 is hard left to hard right). If
time is specified, move to the new pan position over the