CSL
6.0
|
Controllable – superclass of the mix-ins that add control or signal inputs. This holds onto a map of port objects that represent the inputs, and manages the naming and processing flow for dynamic inputs. More...
#include <CSL_Core.h>
Public Member Functions | |
Controllable () | |
virtual | ~Controllable () |
Constructor takes no arguments. More... | |
Port * | getPort (CSL_MAP_KEY name) |
Protected Member Functions | |
void | addInput (CSL_MAP_KEY name, UnitGenerator &ugen) |
Plug in a unit generator to the named input slot. More... | |
void | addInput (CSL_MAP_KEY name, float value) |
Plug in a float to the named input slot. More... | |
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. More... | |
void | pullInput (Port *thePort, Buffer &theBuffer) throw (CException) |
virtual void | dump () |
pretty-print the receiver's input/controls map More... | |
Protected Attributes | |
PortMap | mInputs |
the map of my inputs or controls (used by the mix-in classes) More... | |
Controllable – superclass of the mix-ins that add control or signal inputs. This holds onto a map of port objects that represent the inputs, and manages the naming and processing flow for dynamic inputs.
A typical complex UGen will have several ports, e.g., for frequency, scale, and offset in the case of an oscillator that supports AM and FM. The pullInput() message is used to call the nextBuffer() method of a given port.
Definition at line 371 of file CSL_Core.h.
|
inline |
Definition at line 373 of file CSL_Core.h.
|
virtual |
Constructor takes no arguments.
< Destructor
Destructor (remove the output links of the ports)
Definition at line 841 of file CSL_Core.cpp.
References mInputs.
Port * Controllable::getPort | ( | CSL_MAP_KEY | name | ) |
Definition at line 920 of file CSL_Core.cpp.
References mInputs.
Referenced by csl::FrequencyAmount::getFrequency(), and csl::VSTIO::getParameter().
|
protected |
Plug in a unit generator to the named input slot.
Definition at line 894 of file CSL_Core.cpp.
References csl::UnitGenerator::addOutput(), csl::logMsg(), and mInputs.
Referenced by csl::Joiner::addInput(), csl::BinaryOp::BinaryOp(), csl::DistanceSimulator::DistanceSimulator(), csl::Effect::Effect(), csl::InOut::InOut(), csl::Joiner::Joiner(), 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().
|
protected |
Plug in a float to the named input slot.
Definition at line 906 of file CSL_Core.cpp.
References csl::logMsg(), mInputs, and csl::Port::mValue.
|
protected |
method to read the control values (in case they're dynamic). this sends nextBuffer() to the input.
Definition at line 847 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().
|
protected |
Definition at line 879 of file CSL_Core.cpp.
References csl::UnitGenerator::nextBuffer().
|
protectedvirtual |
pretty-print the receiver's input/controls map
Reimplemented in csl::RandEnvelope, csl::SumOfSines, csl::Abst_SoundFile, csl::Filter, csl::Envelope, csl::SineAsScaled, csl::SpatialSource, csl::SineAsPhased, csl::Mixer, csl::KarplusString, csl::Oscillator, csl::BinaryOp, csl::Clipper, csl::Noise, and csl::CASoundFile.
Definition at line 926 of file CSL_Core.cpp.
References CSL_FREQUENCY, CSL_INPUT, CSL_OFFSET, CSL_SCALE, csl::logMsg(), and mInputs.
Referenced by csl::Noise::dump(), csl::KarplusString::dump(), csl::Oscillator::dump(), csl::SineAsPhased::dump(), csl::SineAsScaled::dump(), csl::Envelope::dump(), csl::Filter::dump(), and csl::SumOfSines::dump().
|
protected |
the map of my inputs or controls (used by the mix-in classes)
Definition at line 378 of file CSL_Core.h.
Referenced by addInput(), csl::BinaryOp::dump(), dump(), getPort(), csl::Biquad::incrBoost(), csl::Biquad::incrFrq(), csl::Effect::isActive(), csl::Joiner::isActive(), csl::SquareBL::nextWaveInto(), csl::BinaryOp::operandIsFixed(), csl::Phased::Phased(), csl::DistanceSimulator::positionChanged(), csl::Scalable::Scalable(), csl::Biquad::setBoost(), csl::Biquad::setFrq(), 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 ~Controllable().