#include "isobuffer_file.h" #include "math.h" #include isoBuffer_file::isoBuffer_file(QWidget *parent, int bufferlen, double sampleRate_Hz) : QWidget(parent) { buffer = (float *) calloc(bufferlen, sizeof(float)); bufferEnd = bufferlen-1; samplesPerSecond = sampleRate_Hz; } void isoBuffer_file::writeBuffer_float(float* data, int len) { for (int i=0; i (double) front){ qDebug() << "Wrap!"; accumulatedDelay -= (double) front; front = bufferEnd; } idx = (int) round(((double) front - accumulatedDelay)); if (idx < 0){ qDebug() << "Wrap"; accumulatedDelay--; accumulatedDelay -= (double) front; front = bufferEnd; idx = (int) round(((double) front - accumulatedDelay)); } readData[i] = buffer[idx]; accumulatedDelay += timeBetweenSamples; } } return readData; } void isoBuffer_file::clearBuffer() { for (int i=0; i