42 unsigned numFrames = outputBuffer.mNumFrames;
43 sample* outputBufferPtr = outputBuffer.buffer(outBufNum);
44 sample* windowBufferPtr = mWindowBuffer.buffer(0);
45 unsigned windowBufferPos = mWindowBufferPos;
46 unsigned windowBufferSize = mWindowSize;
48 logMsg(
"Window::nextBuffer");
50 for (
unsigned i = 0; i < numFrames; i++) {
51 if (windowBufferPos > windowBufferSize)
53 *outputBufferPtr++ = windowBufferPtr[windowBufferPos++];
55 mWindowBufferPos = windowBufferPos;
62 *windowBufferPtr++ = (0.54 - 0.46*cos(
CSL_TWOPI*i/(mWindowSize - 1) ));
68 *windowBufferPtr++ =
mGain;
75 float step = 1.0f / ((float) winHalf);
76 for (
unsigned i = 0; i < winHalf; i++ ) {
77 *windowBufferPtr++ = accum;
81 *windowBufferPtr++ = accum;
90 *windowBufferPtr++ = (0.54 - 0.46*cos(i * increment));
98 *windowBufferPtr++ = 0.5 * (1 - cos(i * increment)) *
mGain;
106 *windowBufferPtr++ = (0.42 - 0.5 * cos(i * increment) + 0.08 * cos(2 * i * increment)) *
mGain;
114 *windowBufferPtr++ = (0.35875 - 0.48829 * cos(i * increment)
115 + 0.14128 * cos(2 * i * increment)
116 - 0.01168 * cos(3 * i * increment)) *
mGain;
125 *windowBufferPtr++ = (1.f - phase * phase) *
mGain;