CSL 5.2

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

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

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

StaticVariable – he static external variable (plug) class. This is a kind of variable that holds onto floating-point value that is fixed each control rate period (e.g., changes at most once per control rate). More...

`#include <Variable.h>`

Inheritance diagram for csl::StaticVariable:

List of all members.

## Public Member Functions
| StaticVariable (float x)
| Constructors.
| StaticVariable (int x)
| StaticVariable (double x)
bool | isFixed ()
| this what being a static variable means!
void | nextBuffer (Buffer &outputBuffer, unsigned outBufNum) throw (CException)
| versions of nextBuffer
float | value ()
void | setValue (float x)
| set/get the value (not allowed in the abstract, useful for static values)
void | setValue (int x)
void | setValue (double x)
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 void | nextBuffer (Buffer &outputBuffer) throw (CException)
| get a buffer of Frames – this is the core CSL "pull" function; the given buffer can be written into, and a changed() message is sent.
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 | 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)

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

## Protected Attributes
float | mValue
| the value I represent
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

StaticVariable – he static external variable (plug) class. This is a kind of variable that holds onto floating-point value that is fixed each control rate period (e.g., changes at most once per control rate).

Definition at line 50 of file Variable.h.

## Constructor & Destructor Documentation

csl::StaticVariable::StaticVariable | ( | float | x | ) |
| inline

Constructors.

Definition at line 53 of file Variable.h.

csl::StaticVariable::StaticVariable | ( | int | x | ) |
| inline

Definition at line 54 of file Variable.h.

csl::StaticVariable::StaticVariable | ( | double | x | ) |
| inline

Definition at line 55 of file Variable.h.

## Member Function Documentation

bool csl::StaticVariable::isFixed | ( |  | ) |
| inline virtual

this what being a static variable means!

Reimplemented from csl::UnitGenerator.

Definition at line 58 of file Variable.h.

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

versions of nextBuffer

Reimplemented from csl::UnitGenerator.

Definition at line 13 of file Variable.cpp.

float csl::StaticVariable::value | ( |  | ) |
| inline virtual

Reimplemented from csl::UnitGenerator.

Definition at line 62 of file Variable.h.

References csl::CVariable::value().

void csl::StaticVariable::setValue | ( | float | theValue | ) |
| inline virtual

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

Reimplemented from csl::UnitGenerator.

Definition at line 63 of file Variable.h.

Referenced by csl::SndFileInstrument::playNote(), csl::SndFileInstrument::playOSC(), csl::SndFileInstrument::setParameter(), and setValue().

void csl::StaticVariable::setValue | ( | int | x | ) |
| inline

Reimplemented from csl::CVariable.

Definition at line 64 of file Variable.h.

References setValue().

void csl::StaticVariable::setValue | ( | double | x | ) |
| inline

Reimplemented from csl::CVariable.

Definition at line 65 of file Variable.h.

References setValue().

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().

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

get a buffer of Frames – this is the core CSL "pull" function; the given buffer can be written into, and a changed() message is sent.

Reimplemented in csl::Joiner, csl::Splitter, csl::FanOut, csl::SoundCue, csl::Stereoverb, csl::StereoWidth, csl::Abst_SoundFile, csl::NtoMPanner, csl::RemoteStream, csl::LSoundFile, csl::BufferStream, csl::GrainPlayer, csl::Panner, csl::RingBuffer, csl::Instrument, csl::VBAP, csl::IFFT, csl::SpatialSource, csl::BinauralPanner, csl::InOut, csl::Spatializer, csl::Mixer, csl::SpatialPanner, csl::DecodedFile, csl::RingBufferTap, csl::AmbisonicPanner, csl::BlockResizer, csl::FFT, csl::DelayLine, csl::SimplePanner, csl::SimplePanner, and csl::Microphone.

Definition at line 576 of file CSL_Core.cpp.

References csl::kCopy, csl::kExpand, csl::kIgnore, csl::logMsg(), and memcpy().

Referenced by csl::DistanceSimulator::nextBuffer(), csl::RingBufferTap::nextBuffer(), csl::Mixer::nextBuffer(), csl::AmbisonicMixer::nextBuffer(), csl::SpatialSource::nextBuffer(), csl::BufferStream::nextBuffer(), csl::Controllable::pullInput(), csl::PAIO::test(), and csl::FileIO::writeNextBuffer().

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.

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

float csl::CVariable::mValue
| protected inherited

the value I represent

Definition at line 32 of file Variable.h.

Referenced by csl::CVariable::setValue(), and csl::CVariable::value().

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.

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

- CSL/Utilities/Variable.h
- CSL/Utilities/Variable.cpp