diff --git a/plugins/samplesink/filesink/filesinkgui.cpp b/plugins/samplesink/filesink/filesinkgui.cpp index 1a922ac97..811cbb46a 100644 --- a/plugins/samplesink/filesink/filesinkgui.cpp +++ b/plugins/samplesink/filesink/filesinkgui.cpp @@ -67,6 +67,7 @@ FileSinkGui::FileSinkGui(DeviceSinkAPI *deviceAPI, QWidget* parent) : displaySettings(); m_deviceSampleSink = new FileSinkOutput(m_deviceAPI, m_deviceAPI->getMainWindow()->getMasterTimer()); + connect(m_deviceSampleSink->getOutputMessageQueueToGUI(), SIGNAL(messageEnqueued()), this, SLOT(handleSinkMessages())); m_deviceAPI->setSink(m_deviceSampleSink); connect(m_deviceAPI->getDeviceOutputMessageQueue(), SIGNAL(messageEnqueued()), this, SLOT(handleDSPMessages()), Qt::QueuedConnection); @@ -169,6 +170,21 @@ void FileSinkGui::handleDSPMessages() } } +void FileSinkGui::handleSinkMessages() +{ + Message* message; + + while ((message = m_deviceSampleSink->getOutputMessageQueueToGUI()->pop()) != 0) + { + //qDebug("FileSourceGui::handleSourceMessages: message: %s", message->getIdentifier()); + + if (handleMessage(*message)) + { + delete message; + } + } +} + void FileSinkGui::updateSampleRateAndFrequency() { m_deviceAPI->getSpectrum()->setSampleRate(m_sampleRate); @@ -295,6 +311,8 @@ void FileSinkGui::updateWithStreamTime() t_sec = m_samplesCount / m_settings.m_sampleRate; } + qDebug("FileSinkGui::updateWithStreamTime: m_samplesCount: %d", m_samplesCount); + QTime t(0, 0, 0, 0); t = t.addSecs(t_sec); t = t.addMSecs(t_msec); @@ -304,7 +322,8 @@ void FileSinkGui::updateWithStreamTime() void FileSinkGui::tick() { - if ((++m_tickCount & 0xf) == 0) { + if ((++m_tickCount & 0xf) == 0) + { FileSinkOutput::MsgConfigureFileSinkStreamTiming* message = FileSinkOutput::MsgConfigureFileSinkStreamTiming::create(); m_deviceSampleSink->getInputMessageQueue()->push(message); } diff --git a/plugins/samplesink/filesink/filesinkgui.h b/plugins/samplesink/filesink/filesinkgui.h index e35687042..7cb78512e 100644 --- a/plugins/samplesink/filesink/filesinkgui.h +++ b/plugins/samplesink/filesink/filesinkgui.h @@ -77,6 +77,7 @@ private: private slots: void handleDSPMessages(); + void handleSinkMessages(); void on_centerFrequency_changed(quint64 value); void on_startStop_toggled(bool checked); void on_showFileDialog_clicked(bool checked); diff --git a/plugins/samplesink/filesink/filesinkoutput.cpp b/plugins/samplesink/filesink/filesinkoutput.cpp index 0ed5af67f..c1366237e 100644 --- a/plugins/samplesink/filesink/filesinkoutput.cpp +++ b/plugins/samplesink/filesink/filesinkoutput.cpp @@ -178,7 +178,7 @@ bool FileSinkOutput::handleMessage(const Message& message) } else if (MsgConfigureFileSinkStreamTiming::match(message)) { - MsgReportFileSinkStreamTiming *report; + MsgReportFileSinkStreamTiming *report; if (m_fileSinkThread != 0) {