38 Twang( StkFloat lowestFrequency = 50.0 );
74 StkFloat
lastOut(
void ) {
return lastOutput_; };
77 StkFloat
tick( StkFloat input );
107 StkFloat lastOutput_;
110 StkFloat pluckPosition_;
115 lastOutput_ = delayLine_.
tick( input + loopFilter_.
tick( delayLine_.
lastOut() ) );
116 lastOutput_ -= combDelay_.
tick( lastOutput_ );
124 #if defined(_STK_DEBUG_)
125 if ( channel >= frames.
channels() ) {
126 oStream_ <<
"Twang::tick(): channel and StkFrames arguments are incompatible!";
131 StkFloat *samples = &frames[channel];
132 unsigned int hop = frames.
channels();
133 for (
unsigned int i=0; i<frames.
frames(); i++, samples += hop )
134 *samples =
tick( *samples );
141 #if defined(_STK_DEBUG_)
143 oStream_ <<
"Twang::tick(): channel and StkFrames arguments are incompatible!";
148 StkFloat *iSamples = &iFrames[iChannel];
149 StkFloat *oSamples = &oFrames[oChannel];
151 for (
unsigned int i=0; i<iFrames.
frames(); i++, iSamples += iHop, oSamples += oHop )
152 *oSamples =
tick( *iSamples );