27 :
UnitGenerator(), mPanner(NULL), mSpeakerLayout(speakerLayout) {
53 logMsg(
"Panner::removeSource");
107 map <SpatialSource *, DistanceSimulator *>::iterator idx;
124 logMsg(
"Spatializer::nextBuffer");
125 #endif // Ask the decoder to fill the buffer with the data to be processed
126 outputBuffer.zeroBuffers();
127 mPanner->nextBuffer(outputBuffer);
133 switch(numSpeakers) {
136 logMsg(
"Not enough speakers to be spatialized");
void logMsg(const char *format,...)
These are the public logging messages.
Simple panning/filtering spatializer.
AdditiveInstrument.h – Sum-of-sines synthesis instrument class.
void addSource(SpatialSource &s)
Add a sound souce to the list of inputs to be processed.
void setPanningMode(PannerType panType)
number of active inputs.
static PannerType findPannerFromLayout(SpeakerLayout *layout=SpeakerLayout::defaultSpeakerLayout())
Only handles single sound sources because objects have different positions. Two objects can't ocuppy ...
Vector Base Amplitude Panning.
Base class for all panners. Handles source management and holds a speaker layout. ...
Temp Spatial Sound Source.
void removeSource(SpatialSource &s)
Remove a Sound Source.
virtual void removeSource(SpatialSource &s)
Remove a Sound Source.
Spatializer(PannerType panMode=kAutomatic, SpeakerLayout *speakerLayout=SpeakerLayout::defaultSpeakerLayout())
virtual void addSource(SpatialSource &s)
number of active inputs.
SpeakerLayout * mSpeakerLayout
If null, it will use the default layout by calling SpeakerLayout::defaultSpeakerLayout();.
Ambisonic Panner Wraps around the different ambisonic classes, providing a single interface for encod...
map< SpatialSource *, DistanceSimulator * > mInputsHashMap
a map between a source passed/key and a the corresponding distance simulator (used for removing sourc...
void setCopyPolicy(BufferCopyPolicy ch)
get/set the receiver's buffer copy policy
Vector Base Amplitude Panning.
Buffer – the multi-channel sample buffer class (passed around between generators and IO guys)...
unsigned numSpeakers() const
virtual void nextBuffer(Buffer &outputBuffer)
fill the buffer with data :-)
ignore extra buffer channels
void setNumChannels(unsigned ch)
get/set the receiver's number of outputs
virtual void update(void *arg)
called when the speaker layout changes, so panners update precalculated data.
Base class of CSL exceptions (written upper-case). Has a string message.