#include <KarplusString.h>

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 | |
| KarplusString::KarplusString | ( | float | frequency | ) |
References csl::CGestalt::frameRate(), initDelayLine(), mDelayLength, and mIndex.
| 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] |
| 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.
unsigned csl::KarplusString::mIndex [protected] |
unsigned csl::KarplusString::mDelayLength [protected] |
1.5.8