csl::KarplusString Class Reference

#include <KarplusString.h>

Inheritance diagram for csl::KarplusString:

csl::UnitGenerator csl::Scalable csl::Phased csl::Model csl::Controllable csl::Controllable

List of all members.

Public Member Functions

 KarplusString (float frequency)
void trigger ()
 reset internal buffers to re-pluck the string.
void dump ()
 print debugging info.

Public Attributes

Buffer mDelayLine
 the delay line (just a buffer, not a RingBuffer)

Protected Member Functions

void initDelayLine ()
 function to initialize the delay line
void nextBuffer (Buffer &outputBuffer, unsigned outBufNum) throw (CException)
 The mono_next_buffer method does all the work.

Protected Attributes

unsigned mIndex
 current index in the delay line
unsigned mDelayLength
 allocated size of the delay line


Detailed Description

KarplusString -- string model class

Constructor & Destructor Documentation

KarplusString::KarplusString ( float  frequency  ) 


Member Function Documentation

void KarplusString::trigger ( void   ) 

reset internal buffers to re-pluck the string.

Reset time to 0.0 to restart envelope.

CALLING THE MONO VERSION. IT SHOULD MAYBE JUST CALL THE SUPERCLASS' NEXT BUFFER TO TAKE ADVANTAGE OF THE COPY POLICIES . . . ? JORGE

References mDelayLine, and csl::WhiteNoise::nextBuffer().

Referenced by initDelayLine().

void KarplusString::dump ( void   )  [virtual]

print debugging info.

Reimplemented from csl::UnitGenerator.

References csl::logMsg().

void KarplusString::initDelayLine (  )  [protected]

function to initialize the delay line

initialize and fill (with noise) the delay line

References csl::Buffer::allocateBuffers(), mDelayLength, mDelayLine, csl::Buffer::setSize(), and trigger().

Referenced by KarplusString().

void KarplusString::nextBuffer ( Buffer outputBuffer,
unsigned  outBufNum 
) throw (CException) [protected, virtual]

The mono_next_buffer method does all the work.

Reimplemented from csl::UnitGenerator.

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


Member Data Documentation

the delay line (just a buffer, not a RingBuffer)

Referenced by initDelayLine(), and trigger().

unsigned csl::KarplusString::mIndex [protected]

current index in the delay line

Referenced by KarplusString().

unsigned csl::KarplusString::mDelayLength [protected]

allocated size of the delay line

Referenced by initDelayLine(), and KarplusString().


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