File tree Expand file tree Collapse file tree 2 files changed +11
-5
lines changed
lib/atkaudio/src/atkaudio Expand file tree Collapse file tree 2 files changed +11
-5
lines changed Original file line number Diff line number Diff line change 4343 "uuids" : {
4444 "windowsApp" : " ad885c58-5ca9-44de-8f4f-1c12676626a9"
4545 },
46- "version" : " 0.15.2 " ,
46+ "version" : " 0.15.3 " ,
4747 "website" : " https://www.atkaudio.com"
4848}
Original file line number Diff line number Diff line change @@ -319,13 +319,21 @@ class SyncBuffer : public juce::Timer
319319 int maxAvailable = fifoBuffer.getFifo ().getNumReady ();
320320 maxAvailable = std::floor (maxAvailable / ratio); // reader domain samples
321321
322- auto factor = 1 .0f ;
322+ auto factor = 1.0 ;
323323 if (maxAvailable < minBufferSize)
324324 factor = 1 / ATK_CORRECTION_RATE;
325325 else if (maxAvailable > maxBufferSize)
326326 factor = ATK_CORRECTION_RATE;
327327
328- int writerSamplesNeeded = std::ceil (numSamples * ratio * factor);
328+ auto initialRate = rateSmoothing.getCurrentValue ();
329+
330+ int writerSamplesNeeded = 0 ;
331+ double writerSamplesNeededTemp = 0 ;
332+ rateSmoothing.setTargetValue (factor);
333+ for (int i = 0 ; i < numSamples; ++i)
334+ writerSamplesNeededTemp += 1 * rateSmoothing.getNextValue ();
335+
336+ writerSamplesNeeded = (int )std::ceil (writerSamplesNeededTemp);
329337
330338 if (!addToBuffer)
331339 for (int ch = 0 ; ch < numChannels; ++ch)
@@ -352,8 +360,6 @@ class SyncBuffer : public juce::Timer
352360
353361 auto totalSamplesConsumed = 0 ;
354362
355- auto initialRate = rateSmoothing.getCurrentValue ();
356-
357363 auto finalRatio = 0.0 ;
358364 for (int i = 0 ; i < numChannels; i++)
359365 {
You can’t perform that action at this time.
0 commit comments