From 35391e0d66201ae95be30d4427c06a0054e95746 Mon Sep 17 00:00:00 2001 From: f4exb Date: Mon, 30 Oct 2017 01:11:35 +0100 Subject: [PATCH] Removed GLSpectrum getter from DeviceSinkAPI --- .../samplesink/bladerfoutput/bladerfoutputgui.cpp | 8 +++++--- .../samplesink/bladerfoutput/bladerfoutputgui.h | 4 +++- .../bladerfoutput/bladerfoutputplugin.cpp | 8 ++++++-- .../bladerfoutput/bladerfoutputplugin.h | 8 +++++++- plugins/samplesink/filesink/filesinkgui.cpp | 8 +++++--- plugins/samplesink/filesink/filesinkgui.h | 4 +++- plugins/samplesink/filesink/filesinkplugin.cpp | 8 ++++++-- plugins/samplesink/filesink/filesinkplugin.h | 6 +++++- .../samplesink/hackrfoutput/hackrfoutputgui.cpp | 8 +++++--- plugins/samplesink/hackrfoutput/hackrfoutputgui.h | 4 +++- .../hackrfoutput/hackrfoutputplugin.cpp | 8 ++++++-- .../samplesink/hackrfoutput/hackrfoutputplugin.h | 6 +++++- .../samplesink/limesdroutput/limesdroutputgui.cpp | 8 +++++--- .../samplesink/limesdroutput/limesdroutputgui.h | 4 +++- .../limesdroutput/limesdroutputplugin.cpp | 8 ++++++-- .../limesdroutput/limesdroutputplugin.h | 6 +++++- .../plutosdroutput/plutosdroutputgui.cpp | 8 +++++--- .../samplesink/plutosdroutput/plutosdroutputgui.h | 4 +++- .../plutosdroutput/plutosdroutputplugin.cpp | 8 ++++++-- .../plutosdroutput/plutosdroutputplugin.h | 6 +++++- .../samplesink/sdrdaemonsink/sdrdaemonsinkgui.cpp | 8 +++++--- .../samplesink/sdrdaemonsink/sdrdaemonsinkgui.h | 4 +++- .../sdrdaemonsink/sdrdaemonsinkplugin.cpp | 8 ++++++-- .../sdrdaemonsink/sdrdaemonsinkplugin.h | 6 +++++- sdrgui/device/devicesinkapi.cpp | 5 ----- sdrgui/device/devicesinkapi.h | 2 +- sdrgui/mainwindow.cpp | 10 ++++++++-- sdrgui/plugin/plugininterface.h | 15 +++++++++++++-- 28 files changed, 138 insertions(+), 52 deletions(-) diff --git a/plugins/samplesink/bladerfoutput/bladerfoutputgui.cpp b/plugins/samplesink/bladerfoutput/bladerfoutputgui.cpp index 052996218..1416c2464 100644 --- a/plugins/samplesink/bladerfoutput/bladerfoutputgui.cpp +++ b/plugins/samplesink/bladerfoutput/bladerfoutputgui.cpp @@ -25,13 +25,15 @@ #include "dsp/dspengine.h" #include "dsp/dspcommands.h" #include "device/devicesinkapi.h" +#include "device/deviceuiset.h" #include "bladerfoutputgui.h" #include "bladerf/devicebladerfvalues.h" -BladerfOutputGui::BladerfOutputGui(DeviceSinkAPI *deviceAPI, QWidget* parent) : +BladerfOutputGui::BladerfOutputGui(DeviceSinkAPI *deviceAPI, DeviceUISet *deviceUISet, QWidget* parent) : QWidget(parent), ui(new Ui::BladerfOutputGui), m_deviceAPI(deviceAPI), + m_deviceUISet(deviceUISet), m_forceSettings(true), m_settings(), m_deviceSampleSink(NULL), @@ -166,8 +168,8 @@ void BladerfOutputGui::handleInputMessages() void BladerfOutputGui::updateSampleRateAndFrequency() { - m_deviceAPI->getSpectrum()->setSampleRate(m_sampleRate); - m_deviceAPI->getSpectrum()->setCenterFrequency(m_deviceCenterFrequency); + m_deviceUISet->getSpectrum()->setSampleRate(m_sampleRate); + m_deviceUISet->getSpectrum()->setCenterFrequency(m_deviceCenterFrequency); ui->deviceRateLabel->setText(QString("%1k").arg(QString::number(m_sampleRate/1000.0, 'g', 5))); } diff --git a/plugins/samplesink/bladerfoutput/bladerfoutputgui.h b/plugins/samplesink/bladerfoutput/bladerfoutputgui.h index b31157802..25ac938f0 100644 --- a/plugins/samplesink/bladerfoutput/bladerfoutputgui.h +++ b/plugins/samplesink/bladerfoutput/bladerfoutputgui.h @@ -27,6 +27,7 @@ class DeviceSinkAPI; class DeviceSampleSink; +class DeviceUISet; namespace Ui { class BladerfOutputGui; @@ -36,7 +37,7 @@ class BladerfOutputGui : public QWidget, public PluginInstanceGUI { Q_OBJECT public: - explicit BladerfOutputGui(DeviceSinkAPI *deviceAPI, QWidget* parent = NULL); + explicit BladerfOutputGui(DeviceSinkAPI *deviceAPI, DeviceUISet *deviceUISet, QWidget* parent = 0); virtual ~BladerfOutputGui(); virtual void destroy(); @@ -55,6 +56,7 @@ private: Ui::BladerfOutputGui* ui; DeviceSinkAPI* m_deviceAPI; + DeviceUISet* m_deviceUISet; bool m_forceSettings; BladeRFOutputSettings m_settings; QTimer m_updateTimer; diff --git a/plugins/samplesink/bladerfoutput/bladerfoutputplugin.cpp b/plugins/samplesink/bladerfoutput/bladerfoutputplugin.cpp index 5b870d6c6..09fef37ad 100644 --- a/plugins/samplesink/bladerfoutput/bladerfoutputplugin.cpp +++ b/plugins/samplesink/bladerfoutput/bladerfoutputplugin.cpp @@ -77,11 +77,15 @@ PluginInterface::SamplingDevices BladerfOutputPlugin::enumSampleSinks() return result; } -PluginInstanceGUI* BladerfOutputPlugin::createSampleSinkPluginInstanceGUI(const QString& sinkId,QWidget **widget, DeviceSinkAPI *deviceAPI) +PluginInstanceGUI* BladerfOutputPlugin::createSampleSinkPluginInstanceGUI( + const QString& sinkId, + QWidget **widget, + DeviceSinkAPI *deviceAPI, + DeviceUISet *deviceUISet) { if(sinkId == m_deviceTypeID) { - BladerfOutputGui* gui = new BladerfOutputGui(deviceAPI); + BladerfOutputGui* gui = new BladerfOutputGui(deviceAPI, deviceUISet); *widget = gui; return gui; } diff --git a/plugins/samplesink/bladerfoutput/bladerfoutputplugin.h b/plugins/samplesink/bladerfoutput/bladerfoutputplugin.h index 62fd5755d..588ef982d 100644 --- a/plugins/samplesink/bladerfoutput/bladerfoutputplugin.h +++ b/plugins/samplesink/bladerfoutput/bladerfoutputplugin.h @@ -36,7 +36,13 @@ public: void initPlugin(PluginAPI* pluginAPI); virtual SamplingDevices enumSampleSinks(); - virtual PluginInstanceGUI* createSampleSinkPluginInstanceGUI(const QString& sinkId, QWidget **widget, DeviceSinkAPI *deviceAPI); + + virtual PluginInstanceGUI* createSampleSinkPluginInstanceGUI( + const QString& sinkId, + QWidget **widget, + DeviceSinkAPI *deviceAPI, + DeviceUISet *deviceUISet); + virtual DeviceSampleSink* createSampleSinkPluginInstanceOutput(const QString& sinkId, DeviceSinkAPI *deviceAPI); static const QString m_hardwareID; diff --git a/plugins/samplesink/filesink/filesinkgui.cpp b/plugins/samplesink/filesink/filesinkgui.cpp index 69abb54ab..912592d50 100644 --- a/plugins/samplesink/filesink/filesinkgui.cpp +++ b/plugins/samplesink/filesink/filesinkgui.cpp @@ -32,12 +32,14 @@ #include "mainwindow.h" #include "device/devicesinkapi.h" +#include "device/deviceuiset.h" #include "filesinkgui.h" -FileSinkGui::FileSinkGui(DeviceSinkAPI *deviceAPI, QWidget* parent) : +FileSinkGui::FileSinkGui(DeviceSinkAPI *deviceAPI, DeviceUISet *deviceUISet, QWidget* parent) : QWidget(parent), ui(new Ui::FileSinkGui), m_deviceAPI(deviceAPI), + m_deviceUISet(deviceUISet), m_forceSettings(true), m_settings(), m_fileName("./test.sdriq"), @@ -177,8 +179,8 @@ void FileSinkGui::handleInputMessages() void FileSinkGui::updateSampleRateAndFrequency() { - m_deviceAPI->getSpectrum()->setSampleRate(m_sampleRate); - m_deviceAPI->getSpectrum()->setCenterFrequency(m_deviceCenterFrequency); + m_deviceUISet->getSpectrum()->setSampleRate(m_sampleRate); + m_deviceUISet->getSpectrum()->setCenterFrequency(m_deviceCenterFrequency); ui->deviceRateText->setText(tr("%1k").arg((float)(m_sampleRate*(1<getSpectrum()->setSampleRate(m_sampleRate); - m_deviceAPI->getSpectrum()->setCenterFrequency(m_deviceCenterFrequency); + m_deviceUISet->getSpectrum()->setSampleRate(m_sampleRate); + m_deviceUISet->getSpectrum()->setCenterFrequency(m_deviceCenterFrequency); ui->deviceRateText->setText(QString("%1k").arg(QString::number(m_sampleRate/1000.0, 'g', 5))); } diff --git a/plugins/samplesink/hackrfoutput/hackrfoutputgui.h b/plugins/samplesink/hackrfoutput/hackrfoutputgui.h index 0db322c29..97feb4359 100644 --- a/plugins/samplesink/hackrfoutput/hackrfoutputgui.h +++ b/plugins/samplesink/hackrfoutput/hackrfoutputgui.h @@ -29,6 +29,7 @@ class DeviceSinkAPI; class DeviceSampleSink; +class DeviceUISet; namespace Ui { class HackRFOutputGui; @@ -46,7 +47,7 @@ public: HACKRF_IMGREJ_NB } HackRFImgRejValue; - explicit HackRFOutputGui(DeviceSinkAPI *deviceAPI, QWidget* parent = NULL); + explicit HackRFOutputGui(DeviceSinkAPI *deviceAPI, DeviceUISet *deviceUISet, QWidget* parent = 0); virtual ~HackRFOutputGui(); virtual void destroy(); @@ -65,6 +66,7 @@ private: Ui::HackRFOutputGui* ui; DeviceSinkAPI* m_deviceAPI; + DeviceUISet* m_deviceUISet; bool m_forceSettings; HackRFOutputSettings m_settings; QTimer m_updateTimer; diff --git a/plugins/samplesink/hackrfoutput/hackrfoutputplugin.cpp b/plugins/samplesink/hackrfoutput/hackrfoutputplugin.cpp index a6cd9f63d..06d2b2195 100644 --- a/plugins/samplesink/hackrfoutput/hackrfoutputplugin.cpp +++ b/plugins/samplesink/hackrfoutput/hackrfoutputplugin.cpp @@ -116,11 +116,15 @@ PluginInterface::SamplingDevices HackRFOutputPlugin::enumSampleSinks() return result; } -PluginInstanceGUI* HackRFOutputPlugin::createSampleSinkPluginInstanceGUI(const QString& sinkId, QWidget **widget, DeviceSinkAPI *deviceAPI) +PluginInstanceGUI* HackRFOutputPlugin::createSampleSinkPluginInstanceGUI( + const QString& sinkId, + QWidget **widget, + DeviceSinkAPI *deviceAPI, + DeviceUISet *deviceUISet) { if(sinkId == m_deviceTypeID) { - HackRFOutputGui* gui = new HackRFOutputGui(deviceAPI); + HackRFOutputGui* gui = new HackRFOutputGui(deviceAPI, deviceUISet); *widget = gui; return gui; } diff --git a/plugins/samplesink/hackrfoutput/hackrfoutputplugin.h b/plugins/samplesink/hackrfoutput/hackrfoutputplugin.h index 6ba7809b2..38c243c1e 100644 --- a/plugins/samplesink/hackrfoutput/hackrfoutputplugin.h +++ b/plugins/samplesink/hackrfoutput/hackrfoutputplugin.h @@ -36,7 +36,11 @@ public: void initPlugin(PluginAPI* pluginAPI); virtual SamplingDevices enumSampleSinks(); - virtual PluginInstanceGUI* createSampleSinkPluginInstanceGUI(const QString& sinkId, QWidget **widget, DeviceSinkAPI *deviceAPI); + virtual PluginInstanceGUI* createSampleSinkPluginInstanceGUI( + const QString& sinkId, + QWidget **widget, + DeviceSinkAPI *deviceAPI, + DeviceUISet *deviceUISet); virtual DeviceSampleSink* createSampleSinkPluginInstanceOutput(const QString& sinkId, DeviceSinkAPI *deviceAPI); static const QString m_hardwareID; diff --git a/plugins/samplesink/limesdroutput/limesdroutputgui.cpp b/plugins/samplesink/limesdroutput/limesdroutputgui.cpp index e61ba2838..09bc4a87e 100644 --- a/plugins/samplesink/limesdroutput/limesdroutputgui.cpp +++ b/plugins/samplesink/limesdroutput/limesdroutputgui.cpp @@ -23,12 +23,14 @@ #include "dsp/dspengine.h" #include "dsp/dspcommands.h" #include "device/devicesinkapi.h" +#include "device/deviceuiset.h" #include "limesdroutputgui.h" -LimeSDROutputGUI::LimeSDROutputGUI(DeviceSinkAPI *deviceAPI, QWidget* parent) : +LimeSDROutputGUI::LimeSDROutputGUI(DeviceSinkAPI *deviceAPI, DeviceUISet *deviceUISet, QWidget* parent) : QWidget(parent), ui(new Ui::LimeSDROutputGUI), m_deviceAPI(deviceAPI), + m_deviceUISet(deviceUISet), m_settings(), m_sampleRate(0), m_lastEngineState((DSPDeviceSinkEngine::State)-1), @@ -238,8 +240,8 @@ void LimeSDROutputGUI::handleInputMessages() void LimeSDROutputGUI::updateSampleRateAndFrequency() { - m_deviceAPI->getSpectrum()->setSampleRate(m_sampleRate); - m_deviceAPI->getSpectrum()->setCenterFrequency(m_deviceCenterFrequency); + m_deviceUISet->getSpectrum()->setSampleRate(m_sampleRate); + m_deviceUISet->getSpectrum()->setCenterFrequency(m_deviceCenterFrequency); ui->deviceRateLabel->setText(tr("%1k").arg(QString::number(m_sampleRate / 1000.0f, 'g', 5))); } diff --git a/plugins/samplesink/limesdroutput/limesdroutputgui.h b/plugins/samplesink/limesdroutput/limesdroutputgui.h index 2e34a76de..c3fefe642 100644 --- a/plugins/samplesink/limesdroutput/limesdroutputgui.h +++ b/plugins/samplesink/limesdroutput/limesdroutputgui.h @@ -27,6 +27,7 @@ class DeviceSinkAPI; class DeviceSampleSink; +class DeviceUISet; namespace Ui { class LimeSDROutputGUI; @@ -36,7 +37,7 @@ class LimeSDROutputGUI : public QWidget, public PluginInstanceGUI { Q_OBJECT public: - explicit LimeSDROutputGUI(DeviceSinkAPI *deviceAPI, QWidget* parent = 0); + explicit LimeSDROutputGUI(DeviceSinkAPI *deviceAPI, DeviceUISet *deviceUISet, QWidget* parent = 0); virtual ~LimeSDROutputGUI(); virtual void destroy(); @@ -55,6 +56,7 @@ private: Ui::LimeSDROutputGUI* ui; DeviceSinkAPI* m_deviceAPI; + DeviceUISet* m_deviceUISet; LimeSDROutput* m_limeSDROutput; //!< Same object as above but gives easy access to LimeSDROutput methods and attributes that are used intensively LimeSDROutputSettings m_settings; QTimer m_updateTimer; diff --git a/plugins/samplesink/limesdroutput/limesdroutputplugin.cpp b/plugins/samplesink/limesdroutput/limesdroutputplugin.cpp index 86583a99e..f0e5309ad 100644 --- a/plugins/samplesink/limesdroutput/limesdroutputplugin.cpp +++ b/plugins/samplesink/limesdroutput/limesdroutputplugin.cpp @@ -96,11 +96,15 @@ PluginInterface::SamplingDevices LimeSDROutputPlugin::enumSampleSinks() return result; } -PluginInstanceGUI* LimeSDROutputPlugin::createSampleSinkPluginInstanceGUI(const QString& sinkId,QWidget **widget, DeviceSinkAPI *deviceAPI) +PluginInstanceGUI* LimeSDROutputPlugin::createSampleSinkPluginInstanceGUI( + const QString& sinkId, + QWidget **widget, + DeviceSinkAPI *deviceAPI, + DeviceUISet *deviceUISet) { if(sinkId == m_deviceTypeID) { - LimeSDROutputGUI* gui = new LimeSDROutputGUI(deviceAPI); + LimeSDROutputGUI* gui = new LimeSDROutputGUI(deviceAPI, deviceUISet); *widget = gui; return gui; } diff --git a/plugins/samplesink/limesdroutput/limesdroutputplugin.h b/plugins/samplesink/limesdroutput/limesdroutputplugin.h index bf012aa38..f971eac14 100644 --- a/plugins/samplesink/limesdroutput/limesdroutputplugin.h +++ b/plugins/samplesink/limesdroutput/limesdroutputplugin.h @@ -36,7 +36,11 @@ public: void initPlugin(PluginAPI* pluginAPI); virtual SamplingDevices enumSampleSinks(); - virtual PluginInstanceGUI* createSampleSinkPluginInstanceGUI(const QString& sinkId, QWidget **widget, DeviceSinkAPI *deviceAPI); + virtual PluginInstanceGUI* createSampleSinkPluginInstanceGUI( + const QString& sinkId, + QWidget **widget, + DeviceSinkAPI *deviceAPI, + DeviceUISet *deviceUISet); virtual DeviceSampleSink* createSampleSinkPluginInstanceOutput(const QString& sinkId, DeviceSinkAPI *deviceAPI); static const QString m_hardwareID; diff --git a/plugins/samplesink/plutosdroutput/plutosdroutputgui.cpp b/plugins/samplesink/plutosdroutput/plutosdroutputgui.cpp index 893c2055e..b3918195f 100644 --- a/plugins/samplesink/plutosdroutput/plutosdroutputgui.cpp +++ b/plugins/samplesink/plutosdroutput/plutosdroutputgui.cpp @@ -22,15 +22,17 @@ #include "dsp/dspcommands.h" #include "gui/glspectrum.h" #include "device/devicesinkapi.h" +#include "device/deviceuiset.h" #include "plutosdr/deviceplutosdr.h" #include "plutosdroutput.h" #include "plutosdroutputgui.h" #include "ui_plutosdroutputgui.h" -PlutoSDROutputGUI::PlutoSDROutputGUI(DeviceSinkAPI *deviceAPI, QWidget* parent) : +PlutoSDROutputGUI::PlutoSDROutputGUI(DeviceSinkAPI *deviceAPI, DeviceUISet *deviceUISet, QWidget* parent) : QWidget(parent), ui(new Ui::PlutoSDROutputGUI), m_deviceAPI(deviceAPI), + m_deviceUISet(deviceUISet), m_settings(), m_forceSettings(true), m_sampleSink(0), @@ -421,7 +423,7 @@ void PlutoSDROutputGUI::handleInputMessages() void PlutoSDROutputGUI::updateSampleRateAndFrequency() { - m_deviceAPI->getSpectrum()->setSampleRate(m_sampleRate); - m_deviceAPI->getSpectrum()->setCenterFrequency(m_deviceCenterFrequency); + m_deviceUISet->getSpectrum()->setSampleRate(m_sampleRate); + m_deviceUISet->getSpectrum()->setCenterFrequency(m_deviceCenterFrequency); ui->deviceRateLabel->setText(tr("%1k").arg(QString::number(m_sampleRate / 1000.0f, 'g', 5))); } diff --git a/plugins/samplesink/plutosdroutput/plutosdroutputgui.h b/plugins/samplesink/plutosdroutput/plutosdroutputgui.h index ece73df40..d5ea7a3df 100644 --- a/plugins/samplesink/plutosdroutput/plutosdroutputgui.h +++ b/plugins/samplesink/plutosdroutput/plutosdroutputgui.h @@ -28,6 +28,7 @@ class DeviceSinkAPI; class DeviceSampleSink; +class DeviceUISet; namespace Ui { class PlutoSDROutputGUI; @@ -37,7 +38,7 @@ class PlutoSDROutputGUI : public QWidget, public PluginInstanceGUI { Q_OBJECT public: - explicit PlutoSDROutputGUI(DeviceSinkAPI *deviceAPI, QWidget* parent = 0); + explicit PlutoSDROutputGUI(DeviceSinkAPI *deviceAPI, DeviceUISet *deviceUISet, QWidget* parent = 0); virtual ~PlutoSDROutputGUI(); virtual void destroy(); @@ -54,6 +55,7 @@ public: private: Ui::PlutoSDROutputGUI* ui; DeviceSinkAPI* m_deviceAPI; + DeviceUISet* m_deviceUISet; PlutoSDROutputSettings m_settings; bool m_forceSettings; QTimer m_updateTimer; diff --git a/plugins/samplesink/plutosdroutput/plutosdroutputplugin.cpp b/plugins/samplesink/plutosdroutput/plutosdroutputplugin.cpp index 12b5831a6..8629517bb 100644 --- a/plugins/samplesink/plutosdroutput/plutosdroutputplugin.cpp +++ b/plugins/samplesink/plutosdroutput/plutosdroutputplugin.cpp @@ -81,11 +81,15 @@ PluginInterface::SamplingDevices PlutoSDROutputPlugin::enumSampleSinks() return result; } -PluginInstanceGUI* PlutoSDROutputPlugin::createSampleSinkPluginInstanceGUI(const QString& sinkId, QWidget **widget, DeviceSinkAPI *deviceAPI) +PluginInstanceGUI* PlutoSDROutputPlugin::createSampleSinkPluginInstanceGUI( + const QString& sinkId, + QWidget **widget, + DeviceSinkAPI *deviceAPI, + DeviceUISet *deviceUISet) { if(sinkId == m_deviceTypeID) { - PlutoSDROutputGUI* gui = new PlutoSDROutputGUI(deviceAPI); + PlutoSDROutputGUI* gui = new PlutoSDROutputGUI(deviceAPI, deviceUISet); *widget = gui; return gui; } diff --git a/plugins/samplesink/plutosdroutput/plutosdroutputplugin.h b/plugins/samplesink/plutosdroutput/plutosdroutputplugin.h index 730a28473..051906eac 100644 --- a/plugins/samplesink/plutosdroutput/plutosdroutputplugin.h +++ b/plugins/samplesink/plutosdroutput/plutosdroutputplugin.h @@ -36,7 +36,11 @@ public: void initPlugin(PluginAPI* pluginAPI); virtual SamplingDevices enumSampleSinks(); - virtual PluginInstanceGUI* createSampleSinkPluginInstanceGUI(const QString& sinkId, QWidget **widget, DeviceSinkAPI *deviceAPI); + virtual PluginInstanceGUI* createSampleSinkPluginInstanceGUI( + const QString& sinkId, + QWidget **widget, + DeviceSinkAPI *deviceAPI, + DeviceUISet *deviceUISet); virtual DeviceSampleSink* createSampleSinkPluginInstanceOutput(const QString& sinkId, DeviceSinkAPI *deviceAPI); static const QString m_hardwareID; diff --git a/plugins/samplesink/sdrdaemonsink/sdrdaemonsinkgui.cpp b/plugins/samplesink/sdrdaemonsink/sdrdaemonsinkgui.cpp index f3afc08ac..e9671c4cb 100644 --- a/plugins/samplesink/sdrdaemonsink/sdrdaemonsinkgui.cpp +++ b/plugins/samplesink/sdrdaemonsink/sdrdaemonsinkgui.cpp @@ -38,12 +38,14 @@ #include "mainwindow.h" #include "device/devicesinkapi.h" +#include "device/deviceuiset.h" #include "sdrdaemonsinkgui.h" -SDRdaemonSinkGui::SDRdaemonSinkGui(DeviceSinkAPI *deviceAPI, QWidget* parent) : +SDRdaemonSinkGui::SDRdaemonSinkGui(DeviceSinkAPI *deviceAPI, DeviceUISet *deviceUISet, QWidget* parent) : QWidget(parent), ui(new Ui::SDRdaemonSinkGui), m_deviceAPI(deviceAPI), + m_deviceUISet(deviceUISet), m_settings(), m_deviceSampleSink(0), m_sampleRate(0), @@ -211,8 +213,8 @@ void SDRdaemonSinkGui::handleInputMessages() void SDRdaemonSinkGui::updateSampleRateAndFrequency() { - m_deviceAPI->getSpectrum()->setSampleRate(m_sampleRate); - m_deviceAPI->getSpectrum()->setCenterFrequency(m_deviceCenterFrequency); + m_deviceUISet->getSpectrum()->setSampleRate(m_sampleRate); + m_deviceUISet->getSpectrum()->setCenterFrequency(m_deviceCenterFrequency); ui->deviceRateText->setText(tr("%1k").arg((float)(m_sampleRate*(1<getMessageQueueToGUI(); } -GLSpectrum *DeviceSinkAPI::getSpectrum() -{ - return m_spectrum; -} - void DeviceSinkAPI::addChannelMarker(ChannelMarker* channelMarker) { m_spectrum->addChannelMarker(channelMarker); diff --git a/sdrgui/device/devicesinkapi.h b/sdrgui/device/devicesinkapi.h index b83c4ba0d..100f25993 100644 --- a/sdrgui/device/devicesinkapi.h +++ b/sdrgui/device/devicesinkapi.h @@ -66,8 +66,8 @@ public: MessageQueue *getDeviceEngineInputMessageQueue(); MessageQueue *getSampleSinkInputMessageQueue(); MessageQueue *getSampleSinkGUIMessageQueue(); + // device related stuff - GLSpectrum *getSpectrum(); //!< Direct spectrum getter void addChannelMarker(ChannelMarker* channelMarker); //!< Add channel marker to spectrum void addRollupWidget(QWidget *widget); //!< Add rollup widget to channel window diff --git a/sdrgui/mainwindow.cpp b/sdrgui/mainwindow.cpp index 388a79678..4345e1770 100644 --- a/sdrgui/mainwindow.cpp +++ b/sdrgui/mainwindow.cpp @@ -296,7 +296,10 @@ void MainWindow::addSinkDevice() m_deviceUIs.back()->m_deviceSinkAPI->setSampleSink(sink); QWidget *gui; PluginInstanceGUI *pluginUI = m_deviceUIs.back()->m_deviceSinkAPI->getPluginInterface()->createSampleSinkPluginInstanceGUI( - m_deviceUIs.back()->m_deviceSinkAPI->getSampleSinkId(), &gui, m_deviceUIs.back()->m_deviceSinkAPI); + m_deviceUIs.back()->m_deviceSinkAPI->getSampleSinkId(), + &gui, + m_deviceUIs.back()->m_deviceSinkAPI, + m_deviceUIs.back()); m_deviceUIs.back()->m_deviceSinkAPI->getSampleSink()->setMessageQueueToGUI(pluginUI->getInputMessageQueue()); m_deviceUIs.back()->m_deviceSinkAPI->setSampleSinkPluginInstanceUI(pluginUI); setDeviceGUI(deviceTabIndex, gui, m_deviceUIs.back()->m_deviceSinkAPI->getSampleSinkDisplayName(), false); @@ -986,7 +989,10 @@ void MainWindow::on_sampleSink_confirmClicked(bool checked __attribute__((unused deviceUI->m_deviceSinkAPI->setSampleSink(sink); QWidget *gui; PluginInstanceGUI *pluginUI = deviceUI->m_deviceSinkAPI->getPluginInterface()->createSampleSinkPluginInstanceGUI( - deviceUI->m_deviceSinkAPI->getSampleSinkId(), &gui, deviceUI->m_deviceSinkAPI); + deviceUI->m_deviceSinkAPI->getSampleSinkId(), + &gui, + deviceUI->m_deviceSinkAPI, + deviceUI); deviceUI->m_deviceSinkAPI->getSampleSink()->setMessageQueueToGUI(pluginUI->getInputMessageQueue()); deviceUI->m_deviceSinkAPI->setSampleSinkPluginInstanceUI(pluginUI); setDeviceGUI(currentSinkTabIndex, gui, deviceUI->m_deviceSinkAPI->getSampleSinkDisplayName(), false); diff --git a/sdrgui/plugin/plugininterface.h b/sdrgui/plugin/plugininterface.h index 6c2fd9fe0..a26165e13 100644 --- a/sdrgui/plugin/plugininterface.h +++ b/sdrgui/plugin/plugininterface.h @@ -53,12 +53,15 @@ public: virtual void initPlugin(PluginAPI* pluginAPI) = 0; // channel Rx plugins + virtual PluginInstanceGUI* createRxChannel(const QString& channelName __attribute__((unused)), DeviceSourceAPI *deviceAPI __attribute__((unused)) ) { return 0; } // channel Tx plugins + virtual PluginInstanceGUI* createTxChannel(const QString& channelName __attribute__((unused)), DeviceSinkAPI *deviceAPI __attribute__((unused)) ) { return 0; } // device source plugins only + virtual SamplingDevices enumSampleSources() { return SamplingDevices(); } virtual PluginInstanceGUI* createSampleSourcePluginInstanceGUI( @@ -72,9 +75,17 @@ public: virtual void deleteSampleSourcePluginInstanceInput(DeviceSampleSource *source); // device sink plugins only + virtual SamplingDevices enumSampleSinks() { return SamplingDevices(); } - virtual PluginInstanceGUI* createSampleSinkPluginInstanceGUI(const QString& sinkId __attribute__((unused)), QWidget **widget __attribute__((unused)), DeviceSinkAPI *deviceAPI __attribute__((unused))) { return 0; } - virtual DeviceSampleSink* createSampleSinkPluginInstanceOutput(const QString& sinkId __attribute__((unused)), DeviceSinkAPI *deviceAPI __attribute__((unused))) { return 0; } // creates the output "core" + + virtual PluginInstanceGUI* createSampleSinkPluginInstanceGUI( + const QString& sinkId __attribute__((unused)), + QWidget **widget __attribute__((unused)), + DeviceSinkAPI *deviceAPI __attribute__((unused)), + DeviceUISet *deviceUISet __attribute__((unused))) + { return 0; } + + virtual DeviceSampleSink* createSampleSinkPluginInstanceOutput(const QString& sinkId __attribute__((unused)), DeviceSinkAPI *deviceAPI __attribute__((unused))) { return 0; } // creates the output "core" virtual void deleteSampleSinkPluginInstanceGUI(PluginInstanceGUI *ui); virtual void deleteSampleSinkPluginInstanceOutput(DeviceSampleSink *sink); };