diff --git a/plugins/samplesink/filesink/filesinkgui.cpp b/plugins/samplesink/filesink/filesinkgui.cpp
index 5acfee68c..05c0845ea 100644
--- a/plugins/samplesink/filesink/filesinkgui.cpp
+++ b/plugins/samplesink/filesink/filesinkgui.cpp
@@ -64,7 +64,7 @@ FileSinkGui::FileSinkGui(DeviceSinkAPI *deviceAPI, QWidget* parent) :
displaySettings();
- m_deviceSampleSink = new FileSinkOutput(m_deviceAPI->getMainWindow()->getMasterTimer());
+ m_deviceSampleSink = new FileSinkOutput(m_deviceAPI, m_deviceAPI->getMainWindow()->getMasterTimer());
connect(m_deviceSampleSink->getOutputMessageQueueToGUI(), SIGNAL(messageEnqueued()), this, SLOT(handleSinkMessages()));
m_deviceAPI->setSink(m_deviceSampleSink);
}
diff --git a/plugins/samplesink/filesink/filesinkgui.ui b/plugins/samplesink/filesink/filesinkgui.ui
index 85b38486e..61ea3a409 100644
--- a/plugins/samplesink/filesink/filesinkgui.ui
+++ b/plugins/samplesink/filesink/filesinkgui.ui
@@ -35,16 +35,7 @@
3
-
- 2
-
-
- 2
-
-
- 2
-
-
+
2
-
@@ -111,7 +102,7 @@
-
- false
+ true
diff --git a/plugins/samplesink/filesink/filesinkoutput.cpp b/plugins/samplesink/filesink/filesinkoutput.cpp
index ef4434287..f03a3840a 100644
--- a/plugins/samplesink/filesink/filesinkoutput.cpp
+++ b/plugins/samplesink/filesink/filesinkoutput.cpp
@@ -23,6 +23,8 @@
#include "dsp/dspengine.h"
#include "dsp/filerecord.h"
+#include "device/devicesinkapi.h"
+
#include "filesinkgui.h"
#include "filesinkoutput.h"
#include "filesinkthread.h"
@@ -34,7 +36,8 @@ MESSAGE_CLASS_DEFINITION(FileSinkOutput::MsgConfigureFileSinkStreamTiming, Messa
MESSAGE_CLASS_DEFINITION(FileSinkOutput::MsgReportFileSinkGeneration, Message)
MESSAGE_CLASS_DEFINITION(FileSinkOutput::MsgReportFileSinkStreamTiming, Message)
-FileSinkOutput::FileSinkOutput(const QTimer& masterTimer) :
+FileSinkOutput::FileSinkOutput(DeviceSinkAPI *deviceAPI, const QTimer& masterTimer) :
+ m_deviceAPI(deviceAPI),
m_settings(),
m_fileSinkThread(0),
m_deviceDescription(),
@@ -195,14 +198,24 @@ bool FileSinkOutput::handleMessage(const Message& message)
void FileSinkOutput::applySettings(const FileSinkSettings& settings, bool force)
{
QMutexLocker mutexLocker(&m_mutex);
+ bool forwardChange = false;
if (force || (m_settings.m_centerFrequency != settings.m_centerFrequency))
{
m_settings.m_centerFrequency = settings.m_centerFrequency;
+ forwardChange = true;
}
if (force || (m_settings.m_sampleRate != settings.m_sampleRate))
{
m_settings.m_sampleRate = settings.m_sampleRate;
+ forwardChange = true;
}
+
+ if (forwardChange)
+ {
+ DSPSignalNotification *notif = new DSPSignalNotification(m_settings.m_sampleRate, m_settings.m_centerFrequency);
+ m_deviceAPI->getDeviceInputMessageQueue()->push(notif);
+ }
+
}
diff --git a/plugins/samplesink/filesink/filesinkoutput.h b/plugins/samplesink/filesink/filesinkoutput.h
index d3b5b5aa1..f0808ed28 100644
--- a/plugins/samplesink/filesink/filesinkoutput.h
+++ b/plugins/samplesink/filesink/filesinkoutput.h
@@ -27,6 +27,7 @@
#include "filesinksettings.h"
class FileSinkThread;
+class DeviceSinkAPI;
class FileSinkOutput : public DeviceSampleSink {
public:
@@ -147,7 +148,7 @@ public:
{ }
};
- FileSinkOutput(const QTimer& masterTimer);
+ FileSinkOutput(DeviceSinkAPI *deviceAPI, const QTimer& masterTimer);
virtual ~FileSinkOutput();
virtual bool init(const Message& message);
@@ -162,6 +163,7 @@ public:
virtual bool handleMessage(const Message& message);
private:
+ DeviceSinkAPI *m_deviceAPI;
QMutex m_mutex;
FileSinkSettings m_settings;
std::ofstream m_ofstream;
diff --git a/plugins/samplesource/rtlsdr/rtlsdrinput.cpp b/plugins/samplesource/rtlsdr/rtlsdrinput.cpp
index 7f879cc4a..e507a39b5 100644
--- a/plugins/samplesource/rtlsdr/rtlsdrinput.cpp
+++ b/plugins/samplesource/rtlsdr/rtlsdrinput.cpp
@@ -20,7 +20,7 @@
#include
#include "rtlsdrinput.h"
-#include
+#include "device/devicesourceapi.h"
#include "rtlsdrthread.h"
#include "rtlsdrgui.h"