82 std::vector<Comb*>::iterator iComb =
mCombFilters.begin();
103 bufferPtr =
new sample[bufferSize];
104 for (j = 0; j < bufferSize; j++)
107 combFilter =
new Comb();
108 combFilter->
setBuffer(bufferPtr, bufferSize);
114 bufferPtr =
new sample[bufferSize];
115 for (j = 0; j < bufferSize; j++)
119 allpassFilter->
setBuffer(bufferPtr, bufferSize);
134 for (std::vector<Comb*>::iterator iComb =
mCombFilters.begin();
180 unsigned numFrames = outputBuffer.mNumFrames;
181 sample * fp = outputBuffer.buffer(outBufNum);
182 this->pullInput(outputBuffer);
183 sample * inputBuf = mInputPtr;
187 logMsg(
"Freeverb nextBuffer");
189 for (i = 0; i < numFrames; i++) {
191 input = inputBuf[i] * mGain;
193 std::vector<Comb*>::iterator iComb = mCombFilters.begin();
194 for (; iComb != mCombFilters.end(); ++iComb)
195 out += (*iComb)->process(input);
197 std::vector<FAllpass*>::iterator iAllpass = mAllpassFilters.begin();
198 for (; iAllpass != mAllpassFilters.end(); ++iAllpass)
199 out = (*iAllpass)->process(out);
200 *fp++ = out * mWetLevel + inputBuf[i] * mDryLevel;
263 join->nextBuffer(outputBuffer);