csl::Controllable Class Reference

#include <CSL_Core.h>

Inheritance diagram for csl::Controllable:

csl::Effect csl::FrequencyAmount csl::Phased csl::Scalable csl::BinaryOp csl::Clipper csl::Convolver csl::DelayLine csl::DelayLine csl::DynamicVariable csl::FanOut csl::FDN csl::FFT csl::Filter csl::FIR csl::Freeverb csl::InOut csl::Joiner csl::LPCAnalyzer csl::LPCFilter csl::Panner csl::RingBuffer csl::RtpSender csl::Stereoverb csl::StereoWidth csl::ThreadedReader csl::Filter csl::KarplusString csl::Oscillator csl::SineAsPhased csl::SineAsScaled csl::Envelope csl::Filter csl::Freeverb csl::KarplusString csl::LPCFilter csl::Mixer csl::Noise csl::Oscillator csl::Panner csl::RingBuffer csl::RingBufferTap csl::SineAsScaled csl::SpatialSource

List of all members.

Public Member Functions

 Controllable ()
virtual ~Controllable ()
 Constructor takes no arguments.

Protected Member Functions

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)
void pullInput (Port *thePort, Buffer &theBuffer) throw (CException)
virtual void dump ()
 pretty-print the receiver's input/controls map

Protected Attributes

PortMap mInputs
 Destructor (ought to remove the output links of the ports).

Detailed Description

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.

Constructor & Destructor Documentation

csl::Controllable::Controllable (  )  [inline]

virtual csl::Controllable::~Controllable (  )  [inline, virtual]

Constructor takes no arguments.

Member Function Documentation

void Controllable::addInput ( CSL_MAP_KEY  name,
UnitGenerator ugen 
) [protected]

void Controllable::addInput ( CSL_MAP_KEY  name,
float  value 
) [protected]

Plug in a float to the named input slot.

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

void Controllable::pullInput ( Port thePort,
unsigned  numFrames 
) throw (CException) [protected]

void Controllable::pullInput ( Port thePort,
Buffer theBuffer 
) throw (CException) [protected]

void Controllable::dump ( void   )  [protected, virtual]

Member Data Documentation

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

Generated on Thu Sep 17 23:14:17 2009 for CSL by  doxygen 1.5.8