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::AR Class Reference

AR = 3-segment attack/release envelope class. More...

`#include <Envelope.h>`

Inheritance diagram for csl::AR:

List of all members.

## Public Member Functions
| AR ()
| Various Constructors.
| AR (LineMode mode, float t, float a, float r)
| Minimal version - AR.
| AR (LineMode mode, float t, float i, float a, float r)
| with initial delay - IAR
| AR (float t, float a, float r)
| Minimal version - AR.
| AR (float t, float i, float a, float r)
| with initial delay - IAR
| ~AR ()
void | setDuration (float d)
| Special accessors.
void | setDelay (float del)
void | setAttack (float attack)
void | setRelease (float release)
void | setAll (float d, float a, float r)
void | release (void)
| Operations.
virtual bool | isActive ()
| This answers whether I'm active (ptr < end)
void | addBreakpoint (float startTime, float value)
void | setMode (LineMode mode)
virtual void | scaleTimes (float s)
| scale durations
virtual void | scaleValues (float s)
| scale values so the max is s
virtual void | reset ()
| reset internal time to restart envelope
virtual void | trigger ()
| reset internal time to restart envelope
virtual void | dump ()
| Pretty-printer.
virtual void | nextBuffer (Buffer &outputBuffer, unsigned outBufNum) throw (CException)
| The main FrameStream work method.
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.
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)
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 ()
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)
void | setScale (UnitGenerator &scale)
| set the receiver's scale member to a UGen or a float
void | setScale (float scale)
void | setOffset (UnitGenerator &offset)
| set the receiver's offset member to a UGen or a float
void | setOffset (float offset)
void | isScaled ()
| answer whether scale = 1 & offset = 0
Port * | getPort (CSL_MAP_KEY name)

## Protected Member Functions
unsigned int | privateNextBuffer (CPoint *breakpoint, LineSegment *segment, float *buffer, unsigned int numFrames)
| Internal helper method for computing the next buffer.
void | createSegments ()
| Allocate memory for the segments.
void | calculateSegments ()
| Calculate the internal data.
void | zeroBuffer (Buffer &outputBuffer, unsigned outBufNum)
| utility method to zero out an outputBuffer
void | addInput (CSL_MAP_KEY name, UnitGenerator &ugen)
| Plug in a unit generator to the named input slot.
void | addInput (CSL_MAP_KEY name, float value)
| Plug in a float to the named input slot.
void | pullInput (Port *thePort, unsigned numFrames) throw (CException)
| method to read the control values (in case they're dynamic). this sends nextBuffer() to the input.
void | pullInput (Port *thePort, Buffer &theBuffer) throw (CException)

## Protected Attributes
float | mDuration
| Total duration, typically in seconds.
float | mCurrentMark
| How far we have read.
Breakpoints | mSegmentMap
| list of envelope breakpoints
LineSegment ** | mSegments
| array of line segments that for the envelope
float * | mValues
unsigned | mSize
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
PortMap | mInputs
| the map of my inputs or controls (used by the mix-in classes)

## Detailed Description

AR = 3-segment attack/release envelope class.

Most of this is inherited from Envelope. This design is an extended AR envelope with an initial constant segment and offset (default = 0@0; this can be used to make an attack delay as on ARP ARs), attack time and max. val (default = 1.0), and release time and final value (default = 0.0). All times are assumed to be given in seconds. Note that there are many variations on the constructor. The line segments used internally look something like the following

| | /————— | / \ |—/ \

## | &mdash;–

Note that, internally, the breakpoints are kept with cumulative times, whereas the line segments only have start/stop Y values and durations (i.e., no absolute time reference).

Definition at line 199 of file Envelope.h.

## Constructor & Destructor Documentation

csl::AR::AR | ( |  | ) |
| inline

Various Constructors.

Definition at line 202 of file Envelope.h.

AR::AR | ( | LineMode | mode,
|  | float | t,
|  | float | a,
|  | float | r
| ) |  |

Minimal version - AR.

~~~~~~~ Atack / Release Envelope ~~~~~~~~~~~

Minimal version - AR

Definition at line 449 of file Envelope.cpp.

AR::AR | ( | LineMode | mode,
|  | float | t,
|  | float | i,
|  | float | a,
|  | float | r
| ) |  |

with initial delay - IAR

with initial delay - I-AR

Definition at line 454 of file Envelope.cpp.

AR::AR | ( | float | t,
|  | float | a,
|  | float | r
| ) |  |

Minimal version - AR.

Definition at line 459 of file Envelope.cpp.

AR::AR | ( | float | t,
|  | float | i,
|  | float | a,
|  | float | r
| ) |  |

with initial delay - IAR

with initial delay - I-AR

Definition at line 464 of file Envelope.cpp.

csl::AR::~AR | ( |  | ) |
| inline

Definition at line 212 of file Envelope.h.

## Member Function Documentation

void AR::setDuration | ( | float | d | ) |
| virtual

Special accessors.

Operations.

set duration = scale steady-state part of env

Reimplemented from csl::Envelope.

Definition at line 469 of file Envelope.cpp.

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

void AR::setDelay | ( | float | del | ) |

Definition at line 481 of file Envelope.cpp.

References csl::Envelope::calculateSegments(), csl::Envelope::mSegmentMap, and csl::Envelope::mValues.

void AR::setAttack | ( | float | attack | ) |

Definition at line 488 of file Envelope.cpp.

References csl::Envelope::calculateSegments(), csl::Envelope::mSegmentMap, and csl::Envelope::mValues.

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

void AR::setRelease | ( | float | release | ) |

Definition at line 495 of file Envelope.cpp.

References csl::Envelope::calculateSegments(), csl::Envelope::mDuration, csl::Envelope::mSegmentMap, and csl::Envelope::mValues.

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

void AR::setAll | ( | float | d,
|  | float | a,
|  | float | r
| ) |  |

Definition at line 502 of file Envelope.cpp.

References csl::Envelope::calculateSegments(), csl::Envelope::mDuration, csl::Envelope::mSegmentMap, and csl::Envelope::mValues.

void AR::release | ( | void |  | ) |

Operations.

trigger the release segment

Definition at line 516 of file Envelope.cpp.

References csl::Envelope::mCurrentMark, and csl::Envelope::mValues.

bool Envelope::isActive | ( |  | ) |
| virtual inherited

This answers whether I'm active (ptr < end)

Reimplemented from csl::UnitGenerator.

Reimplemented in csl::RandEnvelope.

Definition at line 211 of file Envelope.cpp.

References csl::Envelope::mCurrentMark, and csl::Envelope::mDuration.

void Envelope::addBreakpoint | ( | float | startTime,
|  | float | value
| ) |  |
| inherited

Definition at line 192 of file Envelope.cpp.

References csl::Envelope::createSegments(), csl::Envelope::mDuration, csl::Envelope::mSegmentMap, csl::Envelope::mSegments, and csl::Envelope::mValues.

Referenced by sosNote(), and testComplexEnvelope().

void Envelope::setMode | ( | LineMode | mode | ) |
| inherited

Definition at line 206 of file Envelope.cpp.

References csl::Envelope::mSegments, and csl::Envelope::mSize.

void Envelope::scaleTimes | ( | float | s | ) |
| virtual inherited

scale durations

Reimplemented in csl::RandEnvelope.

Definition at line 229 of file Envelope.cpp.

References csl::Envelope::calculateSegments(), csl::Envelope::mDuration, csl::Envelope::mSegmentMap, csl::Envelope::mSegments, csl::Envelope::mSize, csl::Envelope::mValues, and csl::LineSegment::reset().

Referenced by csl::Envelope::setDuration().

void Envelope::scaleValues | ( | float | s | ) |
| virtual inherited

scale values so the max is s

Definition at line 246 of file Envelope.cpp.

References csl::LineSegment::end(), csl::Envelope::mSegments, csl::Envelope::mSize, csl::LineSegment::setEnd(), csl::LineSegment::setStart(), and csl::LineSegment::start().

Referenced by csl::FMInstrument::FMInstrument(), csl::FMInstrument::parseArgs(), csl::AdditiveInstrument::playMIDI(), csl::FMInstrument::playMIDI(), csl::FancyFMInstrument::playMIDI(), csl::AdditiveInstrument::playNote(), csl::FMInstrument::playNote(), csl::AdditiveInstrument::playOSC(), and csl::FMInstrument::setParameter().

void Envelope::reset | ( |  | ) |
| virtual inherited

reset internal time to restart envelope

Reset time to 0.0 to restart envelope.

Reimplemented in csl::RandEnvelope.

Definition at line 276 of file Envelope.cpp.

References csl::Envelope::mCurrentMark, csl::Envelope::mSegments, and csl::Envelope::mSize.

Referenced by csl::Envelope::trigger().

void Envelope::trigger | ( | void |  | ) |
| virtual inherited

reset internal time to restart envelope

Reimplemented from csl::UnitGenerator.

Reimplemented in csl::RandEnvelope.

Definition at line 284 of file Envelope.cpp.

References csl::Envelope::reset().

Referenced by fm_bells(), main(), csl::SndFileInstrument::play(), csl::SndFileInstrument::playNote(), csl::SndFileInstrument::playOSC(), sosNote(), test_SHARC(), test_SHARC2(), testADSR2(), testADSR_FM(), testAMFMEnvs(), testARSin(), testARSin2(), testBlockDownsizer(), testBlockUpsizer(), testComplexEnvelope(), testEnvScale(), testFancy_FM(), testFanMix1(), testFanMix2(), testFrequencyEnv(), testMultiTap(), testRandFreqEnv(), testReverb(), testSplitJoin1(), testSplitJoin2(), testStereoverb(), and testWaveShaper().

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

Pretty-printer.

Reimplemented from csl::UnitGenerator.

Reimplemented in csl::RandEnvelope.

Definition at line 263 of file Envelope.cpp.

References csl::LineSegment::dump(), csl::logMsg(), csl::Envelope::mDuration, csl::Envelope::mSegments, csl::Envelope::mSize, and csl::Envelope::mValues.

Referenced by testComplexEnvelope(), and testFrequencyEnv().

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

The main FrameStream work method.

Reimplemented from csl::UnitGenerator.

Reimplemented in csl::RandEnvelope.

Definition at line 292 of file Envelope.cpp.

References DECLARE_SCALABLE_CONTROLS, csl::kLogError, LOAD_SCALABLE_CONTROLS, csl::logMsg(), mFrameRate, and UPDATE_SCALABLE_CONTROLS.

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

unsigned int csl::Envelope::privateNextBuffer | ( | CPoint * | breakpoint,
|  | LineSegment * | segment,
|  | float * | buffer,
|  | unsigned int | numFrames
| ) |  |
| protected inherited

Internal helper method for computing the next buffer.

void Envelope::createSegments | ( |  | ) |
| protected inherited

Allocate memory for the segments.

Definition at line 164 of file Envelope.cpp.

References csl::Envelope::calculateSegments(), csl::Envelope::mSegmentMap, csl::Envelope::mSegments, and csl::Envelope::mValues.

Referenced by csl::Envelope::addBreakpoint(), and csl::Envelope::Envelope().

void Envelope::calculateSegments | ( |  | ) |
| protected inherited

Calculate the internal data.

Definition at line 170 of file Envelope.cpp.

References csl::Envelope::mCurrentMark, csl::Envelope::mDuration, csl::Envelope::mSegmentMap, csl::Envelope::mSegments, csl::Envelope::mSize, csl::Envelope::mValues, csl::LineSegment::setDuration(), and csl::LineSegment::setStart().

Referenced by csl::Envelope::createSegments(), csl::Envelope::scaleTimes(), setAll(), csl::ADSR::setAttack(), setAttack(), csl::ADSR::setDecay(), csl::ADSR::setDelay(), setDelay(), csl::ADSR::setRelease(), setRelease(), and csl::ADSR::setSustain().

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.

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::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.

void Scalable::setScale | ( | UnitGenerator & | scale | ) |
| inherited

set the receiver's scale member to a UGen or a float

Definition at line 887 of file CSL_Core.cpp.

References csl::Controllable::addInput(), CSL_SCALE, and csl::logMsg().

Referenced by createRandFreqEnvPatch(), csl::FancyFMInstrument::FancyFMInstrument(), csl::AdditiveInstrument::init(), csl::SndFileInstrument::initialize(), main(), csl::FMInstrument::parseArgs(), csl::SndFileInstrument::playNote(), csl::SndFileInstrument::playOSC(), csl::AdditiveInstrument::setParameter(), csl::SndFileInstrument::setParameter(), csl::FancyFMInstrument::setParameter(), sosNote(), test_SHARC(), test_SHARC2(), testADSR_FM(), testARSin2(), testComplexEnvelope(), testEnvScale(), testFancy_FM(), testFanMix1(), testFanMix2(), testMultiTap(), testRandFreqEnv(), testReverb(), testSplitJoin1(), testSplitJoin2(), testStereoverb(), testString(), testStringChorus(), testSumOfSines1F(), testSumOfSinesCached(), testSumOfSinesNonCached(), testSumOfSinesSteps(), and testWaveShaper().

void Scalable::setScale | ( | float | scale | ) |
| inherited

Definition at line 894 of file CSL_Core.cpp.

References csl::Controllable::addInput(), CSL_SCALE, and csl::logMsg().

void Scalable::setOffset | ( | UnitGenerator & | offset | ) |
| inherited

set the receiver's offset member to a UGen or a float

Definition at line 901 of file CSL_Core.cpp.

References csl::Controllable::addInput(), CSL_OFFSET, and csl::logMsg().

void Scalable::setOffset | ( | float | offset | ) |
| inherited

Reimplemented in csl::RandEnvelope.

Definition at line 908 of file CSL_Core.cpp.

References csl::Controllable::addInput(), CSL_OFFSET, and csl::logMsg().

void csl::Scalable::isScaled | ( |  | ) |
| inherited

answer whether scale = 1 & offset = 0

Port * Controllable::getPort | ( | CSL_MAP_KEY | name | ) |
| inherited

Definition at line 768 of file CSL_Core.cpp.

References csl::Controllable::mInputs.

Referenced by csl::FrequencyAmount::getFrequency(), and csl::VSTIO::getParameter().

void Controllable::addInput | ( | CSL_MAP_KEY | name,
|  | UnitGenerator & | ugen
| ) |  |
| protected inherited

Plug in a unit generator to the named input slot.

Definition at line 742 of file CSL_Core.cpp.

References csl::UnitGenerator::addOutput(), csl::logMsg(), and csl::Controllable::mInputs.

Referenced by csl::BinaryOp::BinaryOp(), csl::DistanceSimulator::DistanceSimulator(), csl::Effect::Effect(), csl::InOut::InOut(), csl::NtoMPanner::NtoMPanner(), csl::Panner::Panner(), csl::Phased::Phased(), csl::Scalable::Scalable(), csl::FrequencyAmount::setAmount(), csl::FrequencyAmount::setFrequency(), csl::Phased::setFrequency(), csl::Effect::setInput(), csl::Scalable::setOffset(), csl::Panner::setPosition(), csl::Abst_SoundFile::setRate(), csl::Scalable::setScale(), csl::NtoMPanner::setX(), csl::NtoMPanner::setY(), and csl::SpatialSource::SpatialSource().

void Controllable::addInput | ( | CSL_MAP_KEY | name,
|  | float | value
| ) |  |
| protected inherited

Plug in a float to the named input slot.

Definition at line 754 of file CSL_Core.cpp.

References csl::logMsg(), csl::Controllable::mInputs, and csl::Port::mValue.

void Controllable::pullInput | ( | Port * | thePort,
|  | unsigned | numFrames
| ) |  | throw (CException)
| protected inherited

method to read the control values (in case they're dynamic). this sends nextBuffer() to the input.

Definition at line 695 of file CSL_Core.cpp.

References csl::kSamples, csl::logMsg(), csl::Buffer::mIsPopulated, csl::Buffer::mNumFrames, csl::Buffer::mType, csl::UnitGenerator::nextBuffer(), and csl::Buffer::zeroBuffers().

Referenced by csl::Panner::nextBuffer(), csl::NtoMPanner::nextBuffer(), and csl::Effect::pullInput().

void Controllable::pullInput | ( | Port * | thePort,
|  | Buffer & | theBuffer
| ) |  | throw (CException)
| protected inherited

Definition at line 727 of file CSL_Core.cpp.

References csl::UnitGenerator::nextBuffer().

## Member Data Documentation

float csl::Envelope::mDuration
| protected inherited

Total duration, typically in seconds.

Definition at line 118 of file Envelope.h.

Referenced by csl::Envelope::addBreakpoint(), csl::Envelope::calculateSegments(), csl::Envelope::dump(), csl::Envelope::isActive(), csl::Envelope::scaleTimes(), setAll(), csl::Envelope::setDuration(), csl::ADSR::setRelease(), and setRelease().

float csl::Envelope::mCurrentMark
| protected inherited

How far we have read.

Definition at line 119 of file Envelope.h.

Referenced by csl::Envelope::calculateSegments(), csl::Envelope::isActive(), csl::ADSR::release(), release(), and csl::Envelope::reset().

Breakpoints csl::Envelope::mSegmentMap
| protected inherited

list of envelope breakpoints

Definition at line 120 of file Envelope.h.

Referenced by csl::Envelope::addBreakpoint(), csl::Envelope::calculateSegments(), csl::Envelope::createSegments(), csl::Envelope::Envelope(), csl::Envelope::scaleTimes(), setAll(), csl::ADSR::setAttack(), setAttack(), csl::ADSR::setDecay(), csl::ADSR::setDelay(), setDelay(), csl::ADSR::setRelease(), setRelease(), and csl::Envelope::~Envelope().

LineSegment** csl::Envelope::mSegments
| protected inherited

array of line segments that for the envelope

Definition at line 121 of file Envelope.h.

Referenced by csl::Envelope::addBreakpoint(), csl::Envelope::calculateSegments(), csl::Envelope::createSegments(), csl::Envelope::dump(), csl::RandEnvelope::RandEnvelope(), csl::Envelope::reset(), csl::Envelope::scaleTimes(), csl::Envelope::scaleValues(), csl::ADSR::setAttack(), csl::ADSR::setDelay(), csl::Envelope::setMode(), csl::ADSR::setSustain(), and csl::Envelope::~Envelope().

float* csl::Envelope::mValues
| protected inherited

Definition at line 122 of file Envelope.h.

Referenced by csl::Envelope::addBreakpoint(), csl::Envelope::calculateSegments(), csl::Envelope::createSegments(), csl::Envelope::dump(), csl::RandEnvelope::RandEnvelope(), csl::ADSR::release(), release(), csl::Envelope::scaleTimes(), setAll(), csl::ADSR::setAttack(), setAttack(), csl::ADSR::setDecay(), csl::ADSR::setDelay(), setDelay(), csl::ADSR::setRelease(), setRelease(), and csl::Envelope::~Envelope().

unsigned csl::Envelope::mSize
| protected inherited

Definition at line 123 of file Envelope.h.

Referenced by csl::Envelope::calculateSegments(), csl::Envelope::dump(), csl::RandEnvelope::RandEnvelope(), csl::Envelope::reset(), csl::Envelope::scaleTimes(), csl::Envelope::scaleValues(), and csl::Envelope::setMode().

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.

PortMap csl::Controllable::mInputs
| protected inherited

the map of my inputs or controls (used by the mix-in classes)

Definition at line 353 of file CSL_Core.h.

Referenced by csl::Controllable::addInput(), csl::BinaryOp::dump(), csl::Controllable::dump(), csl::Controllable::getPort(), csl::Effect::inPort(), csl::Effect::isActive(), csl::Joiner::isActive(), csl::SquareBL::nextWaveInto(), csl::BinaryOp::operandIsFixed(), csl::Phased::Phased(), csl::DistanceSimulator::positionChanged(), csl::Scalable::Scalable(), csl::BinaryOp::setOperand(), csl::Abst_SoundFile::setRate(), csl::Butter::setupCoeffs(), csl::Formant::setupCoeffs(), csl::Notch::setupCoeffs(), csl::Allpass::setupCoeffs(), csl::Moog::setupCoeffs(), csl::Scalable::trigger(), csl::Effect::trigger(), csl::Joiner::trigger(), and csl::Controllable::~Controllable().

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

- CSL/Sources/Envelope.h
- CSL/Sources/Envelope.cpp