From d767dc8f1d5585a88584e38512d2621a36912cf3 Mon Sep 17 00:00:00 2001 From: mchinen Date: Thu, 2 Dec 2010 12:23:56 +0000 Subject: [PATCH] Fix bug 126 followup: VST processing doesn't do last 12 seconds. Due to a typo and sloppy testing by me I didn't get the end case correct. This should fix it. --- src/effects/VST/VSTEffect.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/effects/VST/VSTEffect.cpp b/src/effects/VST/VSTEffect.cpp index 106e31cab..ee7e27342 100644 --- a/src/effects/VST/VSTEffect.cpp +++ b/src/effects/VST/VSTEffect.cpp @@ -1431,7 +1431,7 @@ bool VSTEffect::ProcessStereo(int count, if (right) { right->Set((samplePtr)mOutBuffer[1], floatSample, outrs, mWTBlockSize); } - if (outBufferCursor > mWTBlockSize) { + if (outBufferCursor >= mWTBlockSize) { //snake the buffer down memmove(mOutBuffer[0], mOutBuffer[0] + mWTBlockSize, SAMPLE_SIZE(floatSample) * (outBufferCursor - mWTBlockSize)); memmove(mOutBuffer[1], mOutBuffer[1] + mWTBlockSize, SAMPLE_SIZE(floatSample) * (outBufferCursor - mWTBlockSize)); @@ -1462,9 +1462,9 @@ bool VSTEffect::ProcessStereo(int count, //finish taking the remainder. if (outBufferCursor) { - left->Set((samplePtr)mOutBuffer[0], floatSample, ls, outBufferCursor); + left->Set((samplePtr)mOutBuffer[0], floatSample, outls, outBufferCursor); if (right) { - right->Set((samplePtr)mOutBuffer[1], floatSample, rs, outBufferCursor); + right->Set((samplePtr)mOutBuffer[1], floatSample, outrs, outBufferCursor); } }