CSL 5.2

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes
csl::Auralizer Class Reference

`#include <SpatialAudio.h>`

Inheritance diagram for csl::Auralizer:

List of all members.

## Public Member Functions
| Auralizer ()
| ~Auralizer ()
void | addSource (SpatialSource &s)
| Add a sound souce to the list of inputs to be processed.
void | removeSource (SpatialSource &s)
| Remove a Sound Source.
unsigned | numSources ()
void | setPanningMode (PannerType panType)
| number of active inputs.
virtual void | update (void *arg)
| called when the speaker layout changes, so panners update precalculated data.
virtual void | nextBuffer (Buffer &outputBuffer) throw (CException)
| fill the buffer with data :-)
virtual void | nextBuffer (Buffer &outputBuffer, unsigned outBufNum) throw (CException)
| really compute the next buffer given an offset base channel; this is called by nextBuffer, possibly multiple times
unsigned | frameRate ()
void | setFrameRate (unsigned rate)
| get/set the receiver's frame rate
virtual unsigned | numChannels ()
void | setNumChannels (unsigned ch)
| get/set the receiver's number of outputs
BufferCopyPolicy | copyPolicy ()
void | setCopyPolicy (BufferCopyPolicy ch)
| get/set the receiver's buffer copy policy
virtual bool | isFixed ()
| query whether I'm fixed (StaticVariable overrides this)
virtual bool | isActive ()
| query whether I'm currently active (Envelopes can go inactive)
void | addOutput (UnitGenerator *ugen)
| add to or return the UGen vector of outputs
void | removeOutput (UnitGenerator *ugen)
UGenVector | outputs ()
virtual unsigned | numOutputs ()
bool | checkFanOut (Buffer &outputBuffer) throw (CException)
| check for fan-out and copy previous buffer; return true if fanning out
void | handleFanOut (Buffer &outputBuffer) throw (CException)
virtual void | setValue (sample theValue)
| set/get the value (not allowed in the abstract, useful for static values)
virtual sample | value ()
virtual void | dump ()
| pretty-print the receiver
virtual void | trigger ()
void | attachObserver (Observer *)
| (possibly notify obersvers on my death)
void | detachObserver (Observer *)
void | changed (void *argument)
| this is what I send to myself to notify my observers; It's not overridden in general. It results in the observers receiving update() calls < override evaluate to filter updates to the observer map
virtual int | evaluate (void *argument)

## Public Attributes
float | mPeriod
| virtual destructor (don't notify or delete observers in this version)
int | mKey
| key selector (e.g., MIDI chan) I receive update() mesages from my model;

## Protected Member Functions
void | zeroBuffer (Buffer &outputBuffer, unsigned outBufNum)
| utility method to zero out an outputBuffer

## Protected Attributes
unsigned | mFrameRate
| trigger ignored here
unsigned | mNumChannels
| my "expected" number of output channels
BufferCopyPolicy | mCopyPolicy
| the policy I use if asked for more or fewer channels
UGenVector | mOutputs
| the vector of my output UGens
unsigned | mNumOutputs
| the number of outputs
Buffer * | mOutputCache
| my past output ring buffer (only used in case of fan-out)
unsigned | mSequence
| the highest-seen buffer seq number

## Detailed Description

Definition at line 59 of file SpatialAudio.h.

## Constructor & Destructor Documentation

csl::Auralizer::Auralizer | ( |  | ) |
| inline

Definition at line 61 of file SpatialAudio.h.

csl::Auralizer::~Auralizer | ( |  | ) |
| inline

Definition at line 62 of file SpatialAudio.h.

## Member Function Documentation

void Spatializer::addSource | ( | SpatialSource & | s | ) |
| inherited

Add a sound souce to the list of inputs to be processed.

Definition at line 38 of file SpatialAudio.cpp.

References csl::SpatialPanner::addSource(), csl::kSimple, csl::Spatializer::mInputsHashMap, csl::Spatializer::mPanner, and csl::Spatializer::mType.

Referenced by test_Ambi_horiz(), test_Binaural_horiz(), test_Binaural_vertAxial(), test_Binaural_vertMedian(), test_SimpleP(), and test_VBAP_horiz().

void Spatializer::removeSource | ( | SpatialSource & | s | ) |
| inherited

Remove a Sound Source.

Definition at line 51 of file SpatialAudio.cpp.

References csl::logMsg(), csl::Spatializer::mInputsHashMap, csl::Spatializer::mPanner, and csl::SpatialPanner::removeSource().

unsigned csl::Spatializer::numSources | ( |  | ) |
| inline inherited

Definition at line 39 of file SpatialAudio.h.

References csl::Spatializer::mPanner, and csl::SpatialPanner::numSources().

void Spatializer::setPanningMode | ( | PannerType | panType | ) |
| inherited

number of active inputs.

Todo:
  make all spat framework thread safe.

Definition at line 69 of file SpatialAudio.cpp.

References csl::SpatialPanner::addSource(), csl::kAmbisonic, csl::kAutomatic, csl::kBinaural, csl::kLogWarning, csl::kPeriphonic, csl::kSimple, csl::kVBAP, csl::kWFS, csl::logMsg(), csl::Spatializer::mInputsHashMap, csl::Spatializer::mPanner, csl::Spatializer::mSpeakerLayout, and csl::Spatializer::mType.

Referenced by csl::Spatializer::Spatializer().

void Spatializer::update | ( | void * | arg | ) |
| virtual inherited

called when the speaker layout changes, so panners update precalculated data.

Implements csl::Observer.

Definition at line 65 of file SpatialAudio.cpp.

void Spatializer::nextBuffer | ( | Buffer & | outputBuffer | ) | throw (CException)
| virtual inherited

fill the buffer with data :-)

Reimplemented from csl::UnitGenerator.

Definition at line 122 of file SpatialAudio.cpp.

References csl::logMsg().

void UnitGenerator::nextBuffer | ( | Buffer & | outputBuffer,
|  | unsigned | outBufNum
| ) |  | throw (CException)
| virtual inherited

really compute the next buffer given an offset base channel; this is called by nextBuffer, possibly multiple times

Reimplemented in csl::Joiner, csl::Splitter, csl::FanOut, SAFliter, csl::RandEnvelope, csl::Moog, csl::AmbisonicDecoder, csl::Impulse, csl::Square, csl::AmbisonicEncoder, csl::Sawtooth, csl::FSine, csl::MulOp, csl::Envelope, csl::Sine, csl::DynamicVariable, csl::Filter, csl::AmbisonicRotator, csl::CompOrCacheOscillator, csl::BufferStream, csl::AddOp, csl::FIR, csl::WavetableOscillator, csl::PinkNoise, csl::VBAP, csl::RtpReceiver, csl::SineAsScaled, csl::SpatialSource, csl::LineSegment, csl::StaticVariable, csl::AmbisonicMixer, csl::WhiteNoise, csl::SineAsPhased, csl::SpatialPanner, csl::Window, csl::RingBufferTap, csl::BinaryOp, csl::Freeverb, csl::KarplusString, csl::RtpSender, csl::Clipper, csl::Lorenz, csl::SimpleSine, csl::DistanceSimulator, and csl::WaveShaper.

Definition at line 605 of file CSL_Core.cpp.

unsigned csl::UnitGenerator::frameRate | ( |  | ) |
| inline inherited

Definition at line 225 of file CSL_Core.h.

References csl::UnitGenerator::mFrameRate.

Referenced by csl::CASoundFile::dump(), csl::Abst_SoundFile::dump(), csl::SoundCue::dump(), csl::Filter::init(), csl::SndFileInstrument::playNote(), and csl::SndFileInstrument::playOSC().

void csl::UnitGenerator::setFrameRate | ( | unsigned | rate | ) |
| inline inherited

get/set the receiver's frame rate

Definition at line 226 of file CSL_Core.h.

References csl::UnitGenerator::mFrameRate.

Referenced by m3_header().

virtual unsigned csl::UnitGenerator::numChannels | ( |  | ) |
| inline virtual inherited

Reimplemented in csl::Splitter, and csl::Stereoverb.

Definition at line 228 of file CSL_Core.h.

References csl::UnitGenerator::mNumChannels.

Referenced by csl::AmbisonicMixer::addInput(), csl::BlockResizer::BlockResizer(), csl::Port::checkBuffer(), csl::Effect::Effect(), csl::AmbisonicRotator::initialize(), csl::AmbisonicDecoder::initialize(), m3_output(), csl::Mixer::nextBuffer(), and csl::SpatialSource::SpatialSource().

void csl::UnitGenerator::setNumChannels | ( | unsigned | ch | ) |
| inline inherited

get/set the receiver's number of outputs

Definition at line 229 of file CSL_Core.h.

References csl::UnitGenerator::mNumChannels.

Referenced by csl::BinauralPanner::BinauralPanner(), m3_output(), csl::Spatializer::Spatializer(), csl::VBAP::speakerLayoutChanged(), and csl::VBAP::VBAP().

BufferCopyPolicy csl::UnitGenerator::copyPolicy | ( |  | ) |
| inline inherited

Definition at line 231 of file CSL_Core.h.

References csl::UnitGenerator::mCopyPolicy.

void csl::UnitGenerator::setCopyPolicy | ( | BufferCopyPolicy | ch | ) |
| inline inherited

get/set the receiver's buffer copy policy

Definition at line 232 of file CSL_Core.h.

References csl::UnitGenerator::mCopyPolicy.

Referenced by csl::AmbisonicPanner::AmbisonicPanner(), csl::BinauralPanner::BinauralPanner(), csl::AmbisonicUnitGenerator::initOrder(), csl::Noise::Noise(), csl::PinkNoise::PinkNoise(), csl::Spatializer::Spatializer(), and csl::VBAP::VBAP().

virtual bool csl::UnitGenerator::isFixed | ( |  | ) |
| inline virtual inherited

query whether I'm fixed (StaticVariable overrides this)

Reimplemented in csl::StaticVariable, and csl::BinaryOp.

Definition at line 247 of file CSL_Core.h.

virtual bool csl::UnitGenerator::isActive | ( |  | ) |
| inline virtual inherited

query whether I'm currently active (Envelopes can go inactive)

Reimplemented in csl::Joiner, csl::Effect, csl::RandEnvelope, csl::SoundCue, csl::Stereoverb, csl::Abst_SoundFile, csl::Envelope, csl::Instrument, csl::Mixer, and csl::KarplusString.

Definition at line 249 of file CSL_Core.h.

Referenced by csl::Instrument::isActive(), csl::Port::isActive(), csl::Mixer::nextBuffer(), csl::BinauralPanner::nextBuffer(), csl::AmbisonicMixer::nextBuffer(), and csl::VBAP::nextBuffer().

void UnitGenerator::addOutput | ( | UnitGenerator * | ugen | ) |
| inherited

add to or return the UGen vector of outputs

Definition at line 520 of file CSL_Core.cpp.

References csl::Buffer::allocateBuffers(), csl::CGestalt::maxBufferFrames(), csl::UnitGenerator::mNumOutputs, csl::UnitGenerator::mOutputCache, and csl::UnitGenerator::mOutputs.

Referenced by csl::Mixer::addInput(), csl::Controllable::addInput(), csl::AmbisonicRotator::initialize(), csl::AmbisonicDecoder::initialize(), csl::AmbisonicEncoder::setInput(), and csl::IO::setRoot().

void UnitGenerator::removeOutput | ( | UnitGenerator * | ugen | ) |
| inherited

Definition at line 530 of file CSL_Core.cpp.

References csl::UnitGenerator::mNumOutputs, and csl::UnitGenerator::mOutputs.

Referenced by csl::IO::clearRoot(), csl::AmbisonicEncoder::setInput(), csl::AmbisonicDecoder::~AmbisonicDecoder(), and csl::AmbisonicRotator::~AmbisonicRotator().

UGenVector csl::UnitGenerator::outputs | ( |  | ) |
| inline inherited

Definition at line 253 of file CSL_Core.h.

References csl::UnitGenerator::mOutputs.

virtual unsigned csl::UnitGenerator::numOutputs | ( |  | ) |
| inline virtual inherited

Definition at line 254 of file CSL_Core.h.

References csl::UnitGenerator::mNumOutputs.

bool UnitGenerator::checkFanOut | ( | Buffer & | outputBuffer | ) | throw (CException)
| inherited

check for fan-out and copy previous buffer; return true if fanning out

Definition at line 549 of file CSL_Core.cpp.

void UnitGenerator::handleFanOut | ( | Buffer & | outputBuffer | ) | throw (CException)
| inherited

Definition at line 563 of file CSL_Core.cpp.

References csl_max.

virtual void csl::UnitGenerator::setValue | ( | sample | theValue | ) |
| inline virtual inherited

set/get the value (not allowed in the abstract, useful for static values)

Reimplemented in csl::DynamicVariable, and csl::StaticVariable.

Definition at line 260 of file CSL_Core.h.

virtual sample csl::UnitGenerator::value | ( |  | ) |
| inline virtual inherited

Reimplemented in csl::StaticVariable.

Definition at line 261 of file CSL_Core.h.

void UnitGenerator::dump | ( | void |  | ) |
| virtual inherited

pretty-print the receiver

Reimplemented in csl::RandEnvelope, csl::SumOfSines, csl::SoundCue, csl::Abst_SoundFile, csl::Envelope, csl::Filter, csl::VBAP, csl::SineAsScaled, csl::LineSegment, csl::SpatialSource, csl::SineAsPhased, csl::Mixer, csl::Window, csl::KarplusString, csl::Oscillator, csl::AmbisonicPanner, csl::BinaryOp, csl::Lorenz, csl::Clipper, csl::CASoundFile, and csl::Noise.

Definition at line 543 of file CSL_Core.cpp.

References csl::logMsg(), and csl::UnitGenerator::mOutputs.

Referenced by csl::Port::dump(), dumpTest(), and testSimpleSines().

virtual void csl::UnitGenerator::trigger | ( | void |  | ) |
| inline virtual inherited

Reimplemented in csl::Joiner, csl::Effect, csl::RandEnvelope, csl::SoundCue, csl::Abst_SoundFile, csl::Envelope, csl::LineSegment, and csl::KarplusString.

Definition at line 264 of file CSL_Core.h.

Referenced by csl::Instrument::play(), csl::Instrument::release(), and csl::Port::trigger().

void UnitGenerator::zeroBuffer | ( | Buffer & | outputBuffer,
|  | unsigned | outBufNum
| ) |  |
| protected inherited

utility method to zero out an outputBuffer

Definition at line 513 of file CSL_Core.cpp.

References csl::Buffer::mMonoBufferByteSize, and csl::Buffer::monoBuffer().

void Model::attachObserver | ( | Observer * | o | ) |
| inherited

(possibly notify obersvers on my death)

register/remove observers

Definition at line 491 of file CGestalt.cpp.

References csl::logMsg(), csl::Observer::mKey, and csl::Observer::mPeriod.

Referenced by csl::SpatialPanner::setSpeakerLayout().

void Model::detachObserver | ( | Observer * | o | ) |
| inherited

Definition at line 507 of file CGestalt.cpp.

References csl::logMsg().

Referenced by csl::SpatialPanner::setSpeakerLayout(), and csl::SpatialPanner::~SpatialPanner().

void Model::changed | ( | void * | argument | ) |
| inherited

this is what I send to myself to notify my observers; It's not overridden in general. It results in the observers receiving update() calls < override evaluate to filter updates to the observer map

Definition at line 529 of file CGestalt.cpp.

References csl::logMsg().

Referenced by csl::SpeakerLayout::addSpeaker(), csl::MIDIIn::handleIncomingMidiMessage(), and csl::SpeakerLayout::setDefaultSpeakerLayout().

virtual int csl::Model::evaluate | ( | void * | argument | ) |
| inline virtual inherited

Reimplemented in csl::MIDIIn.

Definition at line 259 of file CGestalt.h.

## Member Data Documentation

unsigned csl::UnitGenerator::mFrameRate
| protected inherited

trigger ignored here

the frame rate – initialized to be the default by the constructor

Definition at line 264 of file CSL_Core.h.

Referenced by csl::Abst_SoundFile::convertRate(), csl::RtpSender::createRtpSession(), csl::RtpReceiver::createRtpSession(), csl::Lorenz::dump(), csl::Abst_SoundFile::durationInSecs(), csl::UnitGenerator::frameRate(), csl::Filter::init(), csl::CASoundFile::initFromSndfile(), csl::JSoundFile::initFromSndfile(), csl::LSoundFile::initFromSndfile(), csl::RandEnvelope::nextSegment(), csl::SquareBL::nextWaveInto(), csl::SumOfSines::nextWaveInto(), csl::CASoundFile::openForRead(), csl::MP3File::openForRead(), csl::DelayLine::setDelayTime(), csl::UnitGenerator::setFrameRate(), csl::Abst_SoundFile::setStartSec(), csl::Abst_SoundFile::setStopSec(), csl::Butter::setupCoeffs(), csl::Formant::setupCoeffs(), csl::Notch::setupCoeffs(), csl::Moog::setupCoeffs(), and csl::DecodedFile::writeBuffer().

unsigned csl::UnitGenerator::mNumChannels
| protected inherited

my "expected" number of output channels

Definition at line 268 of file CSL_Core.h.

Referenced by csl::AmbisonicMixer::addInput(), csl::Mixer::allocateOpBuffer(), csl::AmbisonicDecoder::asProjection(), csl::AmbisonicDecoder::asPseudoInverse(), csl::BlockResizer::BlockResizer(), csl::Abst_SoundFile::channels(), csl::Abst_SoundFile::checkBuffer(), csl::DecodedFile::checkBufferStack(), csl::FMInstrument::FMInstrument(), csl::GrainPlayer::GrainPlayer(), csl::AdditiveInstrument::init(), csl::JSoundFile::initFromSndfile(), csl::LSoundFile::initFromSndfile(), csl::AmbisonicMixer::initialize(), csl::SndFileInstrument::initialize(), csl::AmbisonicRotator::initialize(), csl::AmbisonicEncoder::initialize(), csl::AmbisonicDecoder::initialize(), csl::AmbisonicUnitGenerator::initOrder(), csl::RemoteStream::initPacket(), csl::Joiner::isActive(), csl::AmbisonicDecoder::makeInPhase(), csl::AmbisonicDecoder::makeMaxRE(), csl::DecodedFile::mergeBuffers(), csl::Abst_SoundFile::mergeToMono(), csl::Mixer::Mixer(), csl::UnitGenerator::numChannels(), csl::CASoundFile::openForRead(), csl::MP3File::openForRead(), csl::Panner::Panner(), csl::CASoundFile::readBufferFromFile(), csl::JSoundFile::readBufferFromFile(), csl::LSoundFile::readBufferFromFile(), csl::RemoteStream::RemoteStream(), csl::UnitGenerator::setNumChannels(), csl::WavetableOscillator::setWaveform(), csl::Joiner::trigger(), csl::DecodedFile::writeBuffer(), and csl::AmbisonicRotator::~AmbisonicRotator().

BufferCopyPolicy csl::UnitGenerator::mCopyPolicy
| protected inherited

the policy I use if asked for more or fewer channels

Definition at line 269 of file CSL_Core.h.

Referenced by csl::UnitGenerator::copyPolicy(), and csl::UnitGenerator::setCopyPolicy().

UGenVector csl::UnitGenerator::mOutputs
| protected inherited

the vector of my output UGens

Definition at line 270 of file CSL_Core.h.

Referenced by csl::UnitGenerator::addOutput(), csl::UnitGenerator::dump(), csl::UnitGenerator::outputs(), and csl::UnitGenerator::removeOutput().

unsigned csl::UnitGenerator::mNumOutputs
| protected inherited

the number of outputs

Definition at line 271 of file CSL_Core.h.

Referenced by csl::UnitGenerator::addOutput(), csl::UnitGenerator::numOutputs(), and csl::UnitGenerator::removeOutput().

Buffer* csl::UnitGenerator::mOutputCache
| protected inherited

my past output ring buffer (only used in case of fan-out)

Definition at line 272 of file CSL_Core.h.

Referenced by csl::UnitGenerator::addOutput().

unsigned csl::UnitGenerator::mSequence
| protected inherited

the highest-seen buffer seq number

Definition at line 273 of file CSL_Core.h.

float csl::Observer::mPeriod
| inherited

virtual destructor (don't notify or delete observers in this version)

max update rate

Definition at line 286 of file CGestalt.h.

Referenced by csl::Model::attachObserver().

int csl::Observer::mKey
| inherited

key selector (e.g., MIDI chan) I receive update() mesages from my model;

Definition at line 289 of file CGestalt.h.

Referenced by csl::Model::attachObserver().

The documentation for this class was generated from the following file:

- CSL/Spatializers/SpatialAudio.h