# HG changeset patch # User Hasan Yavuz Ă–ZDERYA # Date 2017-02-14 09:42:52 # Node ID e70ba1409177c98d2d5467832a413d2689089edb # Parent e0c6c43cbcf5d96de660d5728e83868336d46ba1 added checkbox to disable write buffering diff --git a/src/abstractreader.cpp b/src/abstractreader.cpp --- a/src/abstractreader.cpp +++ b/src/abstractreader.cpp @@ -19,8 +19,6 @@ #include "abstractreader.h" -#include - AbstractReader::AbstractReader(QIODevice* device, ChannelManager* channelMan, DataRecorder* recorder, QObject* parent) : QObject(parent) @@ -56,7 +54,6 @@ void AbstractReader::addData(double* sam if (recording) { _recorder->addData(samples, length, numOfChannels()); - qDebug() << "adding data"; } sampleCount += length; } diff --git a/src/datarecorder.cpp b/src/datarecorder.cpp --- a/src/datarecorder.cpp +++ b/src/datarecorder.cpp @@ -26,6 +26,7 @@ DataRecorder::DataRecorder(QObject *pare fileStream(&file) { lastNumChannels = 0; + disableBuffering = false; } bool DataRecorder::startRecording(QString fileName, QStringList channelNames) @@ -74,6 +75,8 @@ void DataRecorder::addData(double* data, } fileStream << '\n'; } + + if (disableBuffering) fileStream.flush(); } void DataRecorder::stopRecording() diff --git a/src/datarecorder.h b/src/datarecorder.h --- a/src/datarecorder.h +++ b/src/datarecorder.h @@ -30,6 +30,9 @@ class DataRecorder : public QObject public: explicit DataRecorder(QObject *parent = 0); + /// Disables file buffering + bool disableBuffering; + /** * @brief Starts recording data to a file in CSV format. * diff --git a/src/recordpanel.cpp b/src/recordpanel.cpp --- a/src/recordpanel.cpp +++ b/src/recordpanel.cpp @@ -53,6 +53,12 @@ RecordPanel::RecordPanel(DataRecorder* r connect(ui->cbRecordPaused, SIGNAL(toggled(bool)), this, SIGNAL(recordPausedChanged(bool))); + + connect(ui->cbDisableBuffering, &QCheckBox::toggled, + [this](bool enabled) + { + _recorder->disableBuffering = enabled; + }); } RecordPanel::~RecordPanel() diff --git a/src/recordpanel.ui b/src/recordpanel.ui --- a/src/recordpanel.ui +++ b/src/recordpanel.ui @@ -80,6 +80,16 @@ + + + Do not buffer when writing to file. Check this if you are using other software to open the file during recording. + + + Disable buffering + + + + Qt::Vertical