102 inline StkFloat PRCRev :: tick( StkFloat input,
unsigned int channel )
104#if defined(_STK_DEBUG_)
106 oStream_ <<
"PRCRev::tick(): channel argument must be less than 2!";
107 handleError( StkError::FUNCTION_ARGUMENT );
111 StkFloat temp, temp0, temp1, temp2, temp3;
113 temp = allpassDelays_[0].lastOut();
114 temp0 = allpassCoefficient_ * temp;
116 allpassDelays_[0].tick(temp0);
117 temp0 = -(allpassCoefficient_ * temp0) + temp;
119 temp = allpassDelays_[1].lastOut();
120 temp1 = allpassCoefficient_ * temp;
122 allpassDelays_[1].tick(temp1);
123 temp1 = -(allpassCoefficient_ * temp1) + temp;
125 temp2 = temp1 + ( combCoefficient_[0] * combDelays_[0].lastOut() );
126 temp3 = temp1 + ( combCoefficient_[1] * combDelays_[1].lastOut() );
128 lastFrame_[0] = effectMix_ * (combDelays_[0].tick(temp2));
129 lastFrame_[1] = effectMix_ * (combDelays_[1].tick(temp3));
130 temp = (1.0 - effectMix_) * input;
131 lastFrame_[0] += temp;
132 lastFrame_[1] += temp;
134 return lastFrame_[channel];
StkFrames & tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)
Take a channel of the iFrames object as inputs to the effect and write stereo outputs to the oFrames ...
StkFloat tick(StkFloat input, unsigned int channel=0)
Input one sample to the effect and return the specified channel value of the computed stereo frame.
Definition PRCRev.h:102
StkFrames & tick(StkFrames &frames, unsigned int channel=0)
Take a channel of the StkFrames object as inputs to the effect and replace with stereo outputs.