35 void setDelay(
unsigned long delay );
38 StkFloat
lastOut(
void )
const {
return lastFrame_[0]; };
41 StkFloat
tick( StkFloat input );
68 unsigned long length_;
74 lastFrame_[0] = effectMix_ * ( delayLine_.
tick( input ) - input ) + input;
80 #if defined(_STK_DEBUG_)
81 if ( channel >= frames.
channels() ) {
82 oStream_ <<
"Echo::tick(): channel and StkFrames arguments are incompatible!";
87 StkFloat *samples = &frames[channel];
88 unsigned int hop = frames.
channels();
89 for (
unsigned int i=0; i<frames.
frames(); i++, samples += hop ) {
90 *samples = effectMix_ * ( delayLine_.
tick( *samples ) - *samples ) + *samples;
93 lastFrame_[0] = *(samples-hop);
99 #if defined(_STK_DEBUG_)
101 oStream_ <<
"Echo::tick(): channel and StkFrames arguments are incompatible!";
106 StkFloat *iSamples = &iFrames[iChannel];
107 StkFloat *oSamples = &oFrames[oChannel];
109 for (
unsigned int i=0; i<iFrames.
frames(); i++, iSamples += iHop, oSamples += oHop ) {
110 *oSamples = effectMix_ * ( delayLine_.
tick( *iSamples ) - *iSamples ) + *iSamples;
113 lastFrame_[0] = *(oSamples-oHop);