1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2025-06-15 21:12:27 -04:00

Rx Channel plugins now handled via DeviceUISet

This commit is contained in:
f4exb 2017-10-31 08:24:05 +01:00
parent da5f8aa6f9
commit a61bb04dac
46 changed files with 252 additions and 245 deletions

View File

@ -7,7 +7,7 @@
const PluginDescriptor ChannelAnalyzerPlugin::m_pluginDescriptor = { const PluginDescriptor ChannelAnalyzerPlugin::m_pluginDescriptor = {
QString("Channel Analyzer"), QString("Channel Analyzer"),
QString("2.0.0"), QString("3.7.9"),
QString("(c) Edouard Griffiths, F4EXB"), QString("(c) Edouard Griffiths, F4EXB"),
QString("https://github.com/f4exb/sdrangel"), QString("https://github.com/f4exb/sdrangel"),
true, true,

View File

@ -17,6 +17,7 @@
#include "chanalyzernggui.h" #include "chanalyzernggui.h"
#include <device/devicesourceapi.h> #include <device/devicesourceapi.h>
#include "device/deviceuiset.h"
#include <dsp/downchannelizer.h> #include <dsp/downchannelizer.h>
#include <QDockWidget> #include <QDockWidget>
#include <QMainWindow> #include <QMainWindow>
@ -39,9 +40,9 @@
const QString ChannelAnalyzerNGGUI::m_channelID = "sdrangel.channel.chanalyzerng"; const QString ChannelAnalyzerNGGUI::m_channelID = "sdrangel.channel.chanalyzerng";
ChannelAnalyzerNGGUI* ChannelAnalyzerNGGUI::create(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI) ChannelAnalyzerNGGUI* ChannelAnalyzerNGGUI::create(PluginAPI* pluginAPI, DeviceUISet *deviceUISet)
{ {
ChannelAnalyzerNGGUI* gui = new ChannelAnalyzerNGGUI(pluginAPI, deviceAPI); ChannelAnalyzerNGGUI* gui = new ChannelAnalyzerNGGUI(pluginAPI, deviceUISet);
return gui; return gui;
} }
@ -350,11 +351,11 @@ void ChannelAnalyzerNGGUI::onMenuDoubleClicked()
} }
} }
ChannelAnalyzerNGGUI::ChannelAnalyzerNGGUI(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI, QWidget* parent) : ChannelAnalyzerNGGUI::ChannelAnalyzerNGGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, QWidget* parent) :
RollupWidget(parent), RollupWidget(parent),
ui(new Ui::ChannelAnalyzerNGGUI), ui(new Ui::ChannelAnalyzerNGGUI),
m_pluginAPI(pluginAPI), m_pluginAPI(pluginAPI),
m_deviceAPI(deviceAPI), m_deviceUISet(deviceUISet),
m_channelMarker(this), m_channelMarker(this),
m_basicSettingsShown(false), m_basicSettingsShown(false),
m_doApplySettings(true), m_doApplySettings(true),
@ -370,7 +371,7 @@ ChannelAnalyzerNGGUI::ChannelAnalyzerNGGUI(PluginAPI* pluginAPI, DeviceSourceAPI
m_spectrumVis = new SpectrumVis(ui->glSpectrum); m_spectrumVis = new SpectrumVis(ui->glSpectrum);
m_scopeVis = new ScopeVisNG(ui->glScope); m_scopeVis = new ScopeVisNG(ui->glScope);
m_spectrumScopeComboVis = new SpectrumScopeNGComboVis(m_spectrumVis, m_scopeVis); m_spectrumScopeComboVis = new SpectrumScopeNGComboVis(m_spectrumVis, m_scopeVis);
m_channelAnalyzer = new ChannelAnalyzerNG(m_deviceAPI); m_channelAnalyzer = new ChannelAnalyzerNG(m_deviceUISet->m_deviceSourceAPI);
m_channelAnalyzer->setSampleSink(m_spectrumScopeComboVis); m_channelAnalyzer->setSampleSink(m_spectrumScopeComboVis);
m_channelAnalyzer->setMessageQueueToGUI(getInputMessageQueue()); m_channelAnalyzer->setMessageQueueToGUI(getInputMessageQueue());
// m_channelizer = new DownChannelizer(m_channelAnalyzer); // m_channelizer = new DownChannelizer(m_channelAnalyzer);
@ -406,9 +407,9 @@ ChannelAnalyzerNGGUI::ChannelAnalyzerNGGUI(PluginAPI* pluginAPI, DeviceSourceAPI
connect(&m_channelMarker, SIGNAL(changed()), this, SLOT(viewChanged())); connect(&m_channelMarker, SIGNAL(changed()), this, SLOT(viewChanged()));
m_deviceAPI->registerChannelInstance(m_channelID, this); m_deviceUISet->registerChannelInstance(m_channelID, this);
m_deviceAPI->addChannelMarker(&m_channelMarker); m_deviceUISet->addChannelMarker(&m_channelMarker);
m_deviceAPI->addRollupWidget(this); m_deviceUISet->addRollupWidget(this);
ui->spectrumGUI->setBuddies(m_spectrumVis->getInputMessageQueue(), m_spectrumVis, ui->glSpectrum); ui->spectrumGUI->setBuddies(m_spectrumVis->getInputMessageQueue(), m_spectrumVis, ui->glSpectrum);
ui->scopeGUI->setBuddies(m_scopeVis->getInputMessageQueue(), m_scopeVis, ui->glScope); ui->scopeGUI->setBuddies(m_scopeVis->getInputMessageQueue(), m_scopeVis, ui->glScope);
@ -421,7 +422,7 @@ ChannelAnalyzerNGGUI::ChannelAnalyzerNGGUI(PluginAPI* pluginAPI, DeviceSourceAPI
ChannelAnalyzerNGGUI::~ChannelAnalyzerNGGUI() ChannelAnalyzerNGGUI::~ChannelAnalyzerNGGUI()
{ {
m_deviceAPI->removeChannelInstance(this); m_deviceUISet->removeChannelInstance(this);
// m_deviceAPI->removeThreadedSink(m_threadedChannelizer); // m_deviceAPI->removeThreadedSink(m_threadedChannelizer);
// delete m_threadedChannelizer; // delete m_threadedChannelizer;
// delete m_channelizer; // delete m_channelizer;

View File

@ -24,7 +24,7 @@
#include "util/messagequeue.h" #include "util/messagequeue.h"
class PluginAPI; class PluginAPI;
class DeviceSourceAPI; class DeviceUISet;
class ThreadedBasebandSampleSink; class ThreadedBasebandSampleSink;
class DownChannelizer; class DownChannelizer;
@ -41,7 +41,7 @@ class ChannelAnalyzerNGGUI : public RollupWidget, public PluginInstanceGUI {
Q_OBJECT Q_OBJECT
public: public:
static ChannelAnalyzerNGGUI* create(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI); static ChannelAnalyzerNGGUI* create(PluginAPI* pluginAPI, DeviceUISet *deviceUISet);
virtual void destroy(); virtual void destroy();
void setName(const QString& name); void setName(const QString& name);
@ -75,7 +75,7 @@ private slots:
private: private:
Ui::ChannelAnalyzerNGGUI* ui; Ui::ChannelAnalyzerNGGUI* ui;
PluginAPI* m_pluginAPI; PluginAPI* m_pluginAPI;
DeviceSourceAPI* m_deviceAPI; DeviceUISet* m_deviceUISet;
ChannelMarker m_channelMarker; ChannelMarker m_channelMarker;
bool m_basicSettingsShown; bool m_basicSettingsShown;
bool m_doApplySettings; bool m_doApplySettings;
@ -91,7 +91,7 @@ private:
ScopeVisNG* m_scopeVis; ScopeVisNG* m_scopeVis;
MessageQueue m_inputMessageQueue; MessageQueue m_inputMessageQueue;
explicit ChannelAnalyzerNGGUI(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI, QWidget* parent = NULL); explicit ChannelAnalyzerNGGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, QWidget* parent = 0);
virtual ~ChannelAnalyzerNGGUI(); virtual ~ChannelAnalyzerNGGUI();
int getRequestedChannelSampleRate(); int getRequestedChannelSampleRate();

View File

@ -22,7 +22,7 @@
const PluginDescriptor ChannelAnalyzerNGPlugin::m_pluginDescriptor = { const PluginDescriptor ChannelAnalyzerNGPlugin::m_pluginDescriptor = {
QString("Channel Analyzer NG"), QString("Channel Analyzer NG"),
QString("3.5.3"), QString("3.7.9"),
QString("(c) Edouard Griffiths, F4EXB"), QString("(c) Edouard Griffiths, F4EXB"),
QString("https://github.com/f4exb/sdrangel"), QString("https://github.com/f4exb/sdrangel"),
true, true,
@ -48,18 +48,18 @@ void ChannelAnalyzerNGPlugin::initPlugin(PluginAPI* pluginAPI)
m_pluginAPI->registerRxChannel(ChannelAnalyzerNGGUI::m_channelID, this); m_pluginAPI->registerRxChannel(ChannelAnalyzerNGGUI::m_channelID, this);
} }
PluginInstanceGUI* ChannelAnalyzerNGPlugin::createRxChannel(const QString& channelName, DeviceSourceAPI *deviceAPI) PluginInstanceGUI* ChannelAnalyzerNGPlugin::createRxChannel(const QString& channelName, DeviceUISet *deviceUISet)
{ {
if(channelName == ChannelAnalyzerNGGUI::m_channelID) if(channelName == ChannelAnalyzerNGGUI::m_channelID)
{ {
ChannelAnalyzerNGGUI* gui = ChannelAnalyzerNGGUI::create(m_pluginAPI, deviceAPI); ChannelAnalyzerNGGUI* gui = ChannelAnalyzerNGGUI::create(m_pluginAPI, deviceUISet);
return gui; return gui;
} else { } else {
return NULL; return NULL;
} }
} }
void ChannelAnalyzerNGPlugin::createInstanceChannelAnalyzer(DeviceSourceAPI *deviceAPI) void ChannelAnalyzerNGPlugin::createInstanceChannelAnalyzer(DeviceUISet *deviceUISet)
{ {
ChannelAnalyzerNGGUI::create(m_pluginAPI, deviceAPI); ChannelAnalyzerNGGUI::create(m_pluginAPI, deviceUISet);
} }

View File

@ -21,7 +21,7 @@
#include "plugin/plugininterface.h" #include "plugin/plugininterface.h"
class DeviceSourceAPI; class DeviceUISet;
class ChannelAnalyzerNGPlugin : public QObject, PluginInterface { class ChannelAnalyzerNGPlugin : public QObject, PluginInterface {
Q_OBJECT Q_OBJECT
@ -34,7 +34,7 @@ public:
const PluginDescriptor& getPluginDescriptor() const; const PluginDescriptor& getPluginDescriptor() const;
void initPlugin(PluginAPI* pluginAPI); void initPlugin(PluginAPI* pluginAPI);
PluginInstanceGUI* createRxChannel(const QString& channelName, DeviceSourceAPI *deviceAPI); PluginInstanceGUI* createRxChannel(const QString& channelName, DeviceUISet *deviceUISet);
private: private:
static const PluginDescriptor m_pluginDescriptor; static const PluginDescriptor m_pluginDescriptor;
@ -42,7 +42,7 @@ private:
PluginAPI* m_pluginAPI; PluginAPI* m_pluginAPI;
private slots: private slots:
void createInstanceChannelAnalyzer(DeviceSourceAPI *deviceAPI); void createInstanceChannelAnalyzer(DeviceUISet *deviceUISet);
}; };
#endif // INCLUDE_CHANALYZERNGPLUGIN_H #endif // INCLUDE_CHANALYZERNGPLUGIN_H

View File

@ -20,6 +20,7 @@
#include "amdemodgui.h" #include "amdemodgui.h"
#include "device/devicesourceapi.h" #include "device/devicesourceapi.h"
#include "device/deviceuiset.h"
#include "dsp/downchannelizer.h" #include "dsp/downchannelizer.h"
#include "dsp/threadedbasebandsamplesink.h" #include "dsp/threadedbasebandsamplesink.h"
@ -35,9 +36,9 @@
const QString AMDemodGUI::m_channelID = "de.maintech.sdrangelove.channel.am"; const QString AMDemodGUI::m_channelID = "de.maintech.sdrangelove.channel.am";
AMDemodGUI* AMDemodGUI::create(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI) AMDemodGUI* AMDemodGUI::create(PluginAPI* pluginAPI, DeviceUISet *deviceUISet)
{ {
AMDemodGUI* gui = new AMDemodGUI(pluginAPI, deviceAPI); AMDemodGUI* gui = new AMDemodGUI(pluginAPI, deviceUISet);
return gui; return gui;
} }
@ -169,11 +170,11 @@ void AMDemodGUI::onMenuDialogCalled(const QPoint &p)
dialog.exec(); dialog.exec();
} }
AMDemodGUI::AMDemodGUI(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI, QWidget* parent) : AMDemodGUI::AMDemodGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, QWidget* parent) :
RollupWidget(parent), RollupWidget(parent),
ui(new Ui::AMDemodGUI), ui(new Ui::AMDemodGUI),
m_pluginAPI(pluginAPI), m_pluginAPI(pluginAPI),
m_deviceAPI(deviceAPI), m_deviceUISet(deviceUISet),
m_channelMarker(this), m_channelMarker(this),
m_doApplySettings(true), m_doApplySettings(true),
m_squelchOpen(false), m_squelchOpen(false),
@ -184,7 +185,7 @@ AMDemodGUI::AMDemodGUI(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI, QWidget
connect(this, SIGNAL(widgetRolled(QWidget*,bool)), this, SLOT(onWidgetRolled(QWidget*,bool))); connect(this, SIGNAL(widgetRolled(QWidget*,bool)), this, SLOT(onWidgetRolled(QWidget*,bool)));
connect(this, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(onMenuDialogCalled(const QPoint &))); connect(this, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(onMenuDialogCalled(const QPoint &)));
m_amDemod = new AMDemod(m_deviceAPI); m_amDemod = new AMDemod(m_deviceUISet->m_deviceSourceAPI);
connect(&MainWindow::getInstance()->getMasterTimer(), SIGNAL(timeout()), this, SLOT(tick())); // 50 ms connect(&MainWindow::getInstance()->getMasterTimer(), SIGNAL(timeout()), this, SLOT(tick())); // 50 ms
@ -205,9 +206,9 @@ AMDemodGUI::AMDemodGUI(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI, QWidget
connect(&m_channelMarker, SIGNAL(changed()), this, SLOT(channelMarkerChanged())); connect(&m_channelMarker, SIGNAL(changed()), this, SLOT(channelMarkerChanged()));
m_deviceAPI->registerChannelInstance(m_channelID, this); m_deviceUISet->registerChannelInstance(m_channelID, this);
m_deviceAPI->addChannelMarker(&m_channelMarker); m_deviceUISet->addChannelMarker(&m_channelMarker);
m_deviceAPI->addRollupWidget(this); m_deviceUISet->addRollupWidget(this);
displaySettings(); displaySettings();
applySettings(true); applySettings(true);
@ -215,7 +216,7 @@ AMDemodGUI::AMDemodGUI(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI, QWidget
AMDemodGUI::~AMDemodGUI() AMDemodGUI::~AMDemodGUI()
{ {
m_deviceAPI->removeChannelInstance(this); m_deviceUISet->removeChannelInstance(this);
delete m_amDemod; delete m_amDemod;
delete ui; delete ui;
} }

View File

@ -9,7 +9,7 @@
#include "amdemodsettings.h" #include "amdemodsettings.h"
class PluginAPI; class PluginAPI;
class DeviceSourceAPI; class DeviceUISet;
class ThreadedBasebandSampleSink; class ThreadedBasebandSampleSink;
class DownChannelizer; class DownChannelizer;
@ -23,7 +23,7 @@ class AMDemodGUI : public RollupWidget, public PluginInstanceGUI {
Q_OBJECT Q_OBJECT
public: public:
static AMDemodGUI* create(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI); static AMDemodGUI* create(PluginAPI* pluginAPI, DeviceUISet *deviceUISet);
virtual void destroy(); virtual void destroy();
void setName(const QString& name); void setName(const QString& name);
@ -55,7 +55,7 @@ private slots:
private: private:
Ui::AMDemodGUI* ui; Ui::AMDemodGUI* ui;
PluginAPI* m_pluginAPI; PluginAPI* m_pluginAPI;
DeviceSourceAPI* m_deviceAPI; DeviceUISet* m_deviceUISet;
ChannelMarker m_channelMarker; ChannelMarker m_channelMarker;
AMDemodSettings m_settings; AMDemodSettings m_settings;
bool m_doApplySettings; bool m_doApplySettings;
@ -67,7 +67,7 @@ private:
uint32_t m_tickCount; uint32_t m_tickCount;
MessageQueue m_inputMessageQueue; MessageQueue m_inputMessageQueue;
explicit AMDemodGUI(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI, QWidget* parent = NULL); explicit AMDemodGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, QWidget* parent = 0);
virtual ~AMDemodGUI(); virtual ~AMDemodGUI();
void blockApplySettings(bool block); void blockApplySettings(bool block);

View File

@ -7,7 +7,7 @@
const PluginDescriptor AMDemodPlugin::m_pluginDescriptor = { const PluginDescriptor AMDemodPlugin::m_pluginDescriptor = {
QString("AM Demodulator"), QString("AM Demodulator"),
QString("3.7.4"), QString("3.7.9"),
QString("(c) Edouard Griffiths, F4EXB"), QString("(c) Edouard Griffiths, F4EXB"),
QString("https://github.com/f4exb/sdrangel"), QString("https://github.com/f4exb/sdrangel"),
true, true,
@ -33,18 +33,18 @@ void AMDemodPlugin::initPlugin(PluginAPI* pluginAPI)
m_pluginAPI->registerRxChannel(AMDemodGUI::m_channelID, this); m_pluginAPI->registerRxChannel(AMDemodGUI::m_channelID, this);
} }
PluginInstanceGUI* AMDemodPlugin::createRxChannel(const QString& channelName, DeviceSourceAPI *deviceAPI) PluginInstanceGUI* AMDemodPlugin::createRxChannel(const QString& channelName, DeviceUISet *deviceUISet)
{ {
if(channelName == AMDemodGUI::m_channelID) if(channelName == AMDemodGUI::m_channelID)
{ {
AMDemodGUI* gui = AMDemodGUI::create(m_pluginAPI, deviceAPI); AMDemodGUI* gui = AMDemodGUI::create(m_pluginAPI, deviceUISet);
return gui; return gui;
} else { } else {
return NULL; return NULL;
} }
} }
void AMDemodPlugin::createInstanceDemodAM(DeviceSourceAPI *deviceAPI) void AMDemodPlugin::createInstanceDemodAM(DeviceUISet *deviceUISet)
{ {
AMDemodGUI::create(m_pluginAPI, deviceAPI); AMDemodGUI::create(m_pluginAPI, deviceUISet);
} }

View File

@ -20,7 +20,7 @@
#include <QObject> #include <QObject>
#include "plugin/plugininterface.h" #include "plugin/plugininterface.h"
class DeviceSourceAPI; class DeviceUISet;
class AMDemodPlugin : public QObject, PluginInterface { class AMDemodPlugin : public QObject, PluginInterface {
Q_OBJECT Q_OBJECT
@ -33,7 +33,7 @@ public:
const PluginDescriptor& getPluginDescriptor() const; const PluginDescriptor& getPluginDescriptor() const;
void initPlugin(PluginAPI* pluginAPI); void initPlugin(PluginAPI* pluginAPI);
PluginInstanceGUI* createRxChannel(const QString& channelName, DeviceSourceAPI *deviceAPI); PluginInstanceGUI* createRxChannel(const QString& channelName, DeviceUISet *deviceUISet);
private: private:
static const PluginDescriptor m_pluginDescriptor; static const PluginDescriptor m_pluginDescriptor;
@ -41,7 +41,7 @@ private:
PluginAPI* m_pluginAPI; PluginAPI* m_pluginAPI;
private slots: private slots:
void createInstanceDemodAM(DeviceSourceAPI *deviceAPI); void createInstanceDemodAM(DeviceUISet *deviceUISet);
}; };
#endif // INCLUDE_AMPLUGIN_H #endif // INCLUDE_AMPLUGIN_H

View File

@ -21,6 +21,7 @@
#include "atvdemodgui.h" #include "atvdemodgui.h"
#include "device/devicesourceapi.h" #include "device/devicesourceapi.h"
#include "device/deviceuiset.h"
#include "dsp/downchannelizer.h" #include "dsp/downchannelizer.h"
#include "dsp/threadedbasebandsamplesink.h" #include "dsp/threadedbasebandsamplesink.h"
@ -38,9 +39,9 @@
const QString ATVDemodGUI::m_strChannelID = "sdrangel.channel.demodatv"; const QString ATVDemodGUI::m_strChannelID = "sdrangel.channel.demodatv";
ATVDemodGUI* ATVDemodGUI::create(PluginAPI* objPluginAPI, ATVDemodGUI* ATVDemodGUI::create(PluginAPI* objPluginAPI,
DeviceSourceAPI *objDeviceAPI) DeviceUISet *deviceUISet)
{ {
ATVDemodGUI* gui = new ATVDemodGUI(objPluginAPI, objDeviceAPI); ATVDemodGUI* gui = new ATVDemodGUI(objPluginAPI, deviceUISet);
return gui; return gui;
} }
@ -266,12 +267,12 @@ void ATVDemodGUI::onMenuDoubleClicked()
} }
} }
ATVDemodGUI::ATVDemodGUI(PluginAPI* objPluginAPI, DeviceSourceAPI *objDeviceAPI, ATVDemodGUI::ATVDemodGUI(PluginAPI* objPluginAPI, DeviceUISet *deviceUISet,
QWidget* objParent) : QWidget* objParent) :
RollupWidget(objParent), RollupWidget(objParent),
ui(new Ui::ATVDemodGUI), ui(new Ui::ATVDemodGUI),
m_pluginAPI(objPluginAPI), m_pluginAPI(objPluginAPI),
m_deviceAPI(objDeviceAPI), m_deviceUISet(deviceUISet),
m_channelMarker(this), m_channelMarker(this),
m_blnBasicSettingsShown(false), m_blnBasicSettingsShown(false),
m_blnDoApplySettings(true), m_blnDoApplySettings(true),
@ -284,14 +285,14 @@ ATVDemodGUI::ATVDemodGUI(PluginAPI* objPluginAPI, DeviceSourceAPI *objDeviceAPI,
connect(this, SIGNAL(menuDoubleClickEvent()), this, SLOT(onMenuDoubleClicked())); connect(this, SIGNAL(menuDoubleClickEvent()), this, SLOT(onMenuDoubleClicked()));
m_scopeVis = new ScopeVisNG(ui->glScope); m_scopeVis = new ScopeVisNG(ui->glScope);
m_atvDemod = new ATVDemod(m_deviceAPI); m_atvDemod = new ATVDemod(m_deviceUISet->m_deviceSourceAPI);
m_atvDemod->setScopeSink(m_scopeVis); m_atvDemod->setScopeSink(m_scopeVis);
m_atvDemod->setMessageQueueToGUI(getInputMessageQueue()); m_atvDemod->setMessageQueueToGUI(getInputMessageQueue());
m_atvDemod->setATVScreen(ui->screenTV); m_atvDemod->setATVScreen(ui->screenTV);
m_channelizer = new DownChannelizer(m_atvDemod); m_channelizer = new DownChannelizer(m_atvDemod);
m_threadedChannelizer = new ThreadedBasebandSampleSink(m_channelizer, this); m_threadedChannelizer = new ThreadedBasebandSampleSink(m_channelizer, this);
m_deviceAPI->addThreadedSink(m_threadedChannelizer); m_deviceUISet->m_deviceSourceAPI->addThreadedSink(m_threadedChannelizer);
ui->glScope->connectTimer(MainWindow::getInstance()->getMasterTimer()); ui->glScope->connectTimer(MainWindow::getInstance()->getMasterTimer());
connect(&MainWindow::getInstance()->getMasterTimer(), SIGNAL(timeout()), this, SLOT(tick())); // 50 ms connect(&MainWindow::getInstance()->getMasterTimer(), SIGNAL(timeout()), this, SLOT(tick())); // 50 ms
@ -312,9 +313,9 @@ ATVDemodGUI::ATVDemodGUI(PluginAPI* objPluginAPI, DeviceSourceAPI *objDeviceAPI,
connect(&m_channelMarker, SIGNAL(changed()), this, SLOT(viewChanged())); connect(&m_channelMarker, SIGNAL(changed()), this, SLOT(viewChanged()));
m_deviceAPI->registerChannelInstance(m_strChannelID, this); m_deviceUISet->registerChannelInstance(m_strChannelID, this);
m_deviceAPI->addChannelMarker(&m_channelMarker); m_deviceUISet->addChannelMarker(&m_channelMarker);
m_deviceAPI->addRollupWidget(this); m_deviceUISet->addRollupWidget(this);
//ui->screenTV->connectTimer(m_objPluginAPI->getMainWindow()->getMasterTimer()); //ui->screenTV->connectTimer(m_objPluginAPI->getMainWindow()->getMasterTimer());
@ -347,8 +348,8 @@ ATVDemodGUI::ATVDemodGUI(PluginAPI* objPluginAPI, DeviceSourceAPI *objDeviceAPI,
ATVDemodGUI::~ATVDemodGUI() ATVDemodGUI::~ATVDemodGUI()
{ {
m_deviceAPI->removeChannelInstance(this); m_deviceUISet->removeChannelInstance(this);
m_deviceAPI->removeThreadedSink(m_threadedChannelizer); m_deviceUISet->m_deviceSourceAPI->removeThreadedSink(m_threadedChannelizer);
delete m_threadedChannelizer; delete m_threadedChannelizer;
delete m_channelizer; delete m_channelizer;
delete m_atvDemod; delete m_atvDemod;

View File

@ -25,7 +25,7 @@
#include "util/messagequeue.h" #include "util/messagequeue.h"
class PluginAPI; class PluginAPI;
class DeviceSourceAPI; class DeviceUISet;
class ThreadedBasebandSampleSink; class ThreadedBasebandSampleSink;
class DownChannelizer; class DownChannelizer;
@ -42,7 +42,7 @@ class ATVDemodGUI : public RollupWidget, public PluginInstanceGUI
Q_OBJECT Q_OBJECT
public: public:
static ATVDemodGUI* create(PluginAPI* objPluginAPI, DeviceSourceAPI *objDeviceAPI); static ATVDemodGUI* create(PluginAPI* objPluginAPI, DeviceUISet *deviceUISet);
virtual void destroy(); virtual void destroy();
void setName(const QString& strName); void setName(const QString& strName);
@ -90,7 +90,7 @@ private slots:
private: private:
Ui::ATVDemodGUI* ui; Ui::ATVDemodGUI* ui;
PluginAPI* m_pluginAPI; PluginAPI* m_pluginAPI;
DeviceSourceAPI* m_deviceAPI; DeviceUISet* m_deviceUISet;
ChannelMarker m_channelMarker; ChannelMarker m_channelMarker;
ThreadedBasebandSampleSink* m_threadedChannelizer; ThreadedBasebandSampleSink* m_threadedChannelizer;
DownChannelizer* m_channelizer; DownChannelizer* m_channelizer;
@ -109,7 +109,7 @@ private:
int m_rfSliderDivisor; int m_rfSliderDivisor;
MessageQueue m_inputMessageQueue; MessageQueue m_inputMessageQueue;
explicit ATVDemodGUI(PluginAPI* objPluginAPI, DeviceSourceAPI *objDeviceAPI, QWidget* objParent = NULL); explicit ATVDemodGUI(PluginAPI* objPluginAPI, DeviceUISet *deviceUISet, QWidget* objParent = 0);
virtual ~ATVDemodGUI(); virtual ~ATVDemodGUI();
void blockApplySettings(bool blnBlock); void blockApplySettings(bool blnBlock);

View File

@ -26,7 +26,7 @@
const PluginDescriptor ATVDemodPlugin::m_ptrPluginDescriptor = const PluginDescriptor ATVDemodPlugin::m_ptrPluginDescriptor =
{ {
QString("ATV Demodulator"), QString("ATV Demodulator"),
QString("3.7.3"), QString("3.7.9"),
QString("(c) F4HKW for F4EXB / SDRAngel"), QString("(c) F4HKW for F4EXB / SDRAngel"),
QString("https://github.com/f4exb/sdrangel"), QString("https://github.com/f4exb/sdrangel"),
true, true,
@ -53,11 +53,11 @@ void ATVDemodPlugin::initPlugin(PluginAPI* ptrPluginAPI)
m_ptrPluginAPI->registerRxChannel(ATVDemodGUI::m_strChannelID, this); m_ptrPluginAPI->registerRxChannel(ATVDemodGUI::m_strChannelID, this);
} }
PluginInstanceGUI* ATVDemodPlugin::createRxChannel(const QString& strChannelName, DeviceSourceAPI *ptrDeviceAPI) PluginInstanceGUI* ATVDemodPlugin::createRxChannel(const QString& strChannelName, DeviceUISet *deviceUISet)
{ {
if(strChannelName == ATVDemodGUI::m_strChannelID) if(strChannelName == ATVDemodGUI::m_strChannelID)
{ {
ATVDemodGUI* ptrGui = ATVDemodGUI::create(m_ptrPluginAPI, ptrDeviceAPI); ATVDemodGUI* ptrGui = ATVDemodGUI::create(m_ptrPluginAPI, deviceUISet);
return ptrGui; return ptrGui;
} }
else else
@ -66,7 +66,7 @@ PluginInstanceGUI* ATVDemodPlugin::createRxChannel(const QString& strChannelName
} }
} }
void ATVDemodPlugin::createInstanceDemodATV(DeviceSourceAPI *ptrDeviceAPI) void ATVDemodPlugin::createInstanceDemodATV(DeviceUISet *deviceUISet)
{ {
ATVDemodGUI::create(m_ptrPluginAPI, ptrDeviceAPI); ATVDemodGUI::create(m_ptrPluginAPI, deviceUISet);
} }

View File

@ -21,7 +21,7 @@
#include <QObject> #include <QObject>
#include "plugin/plugininterface.h" #include "plugin/plugininterface.h"
class DeviceSourceAPI; class DeviceUISet;
class ATVDemodPlugin : public QObject, PluginInterface class ATVDemodPlugin : public QObject, PluginInterface
{ {
@ -35,7 +35,7 @@ public:
const PluginDescriptor& getPluginDescriptor() const; const PluginDescriptor& getPluginDescriptor() const;
void initPlugin(PluginAPI* ptrPluginAPI); void initPlugin(PluginAPI* ptrPluginAPI);
PluginInstanceGUI* createRxChannel(const QString& strChannelName, DeviceSourceAPI *ptrDeviceAPI); PluginInstanceGUI* createRxChannel(const QString& strChannelName, DeviceUISet *deviceUISet);
private: private:
static const PluginDescriptor m_ptrPluginDescriptor; static const PluginDescriptor m_ptrPluginDescriptor;
@ -43,7 +43,7 @@ private:
PluginAPI* m_ptrPluginAPI; PluginAPI* m_ptrPluginAPI;
private slots: private slots:
void createInstanceDemodATV(DeviceSourceAPI *ptrDeviceAPI); void createInstanceDemodATV(DeviceUISet *deviceUISet);
}; };
#endif // INCLUDE_ATVPLUGIN_H #endif // INCLUDE_ATVPLUGIN_H

View File

@ -18,6 +18,7 @@
#include "bfmdemodgui.h" #include "bfmdemodgui.h"
#include <device/devicesourceapi.h> #include <device/devicesourceapi.h>
#include "device/deviceuiset.h"
#include <dsp/downchannelizer.h> #include <dsp/downchannelizer.h>
#include <QDockWidget> #include <QDockWidget>
#include <QMainWindow> #include <QMainWindow>
@ -44,9 +45,9 @@
const QString BFMDemodGUI::m_channelID = "sdrangel.channel.bfm"; const QString BFMDemodGUI::m_channelID = "sdrangel.channel.bfm";
BFMDemodGUI* BFMDemodGUI::create(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI) BFMDemodGUI* BFMDemodGUI::create(PluginAPI* pluginAPI, DeviceUISet *deviceUIset)
{ {
BFMDemodGUI* gui = new BFMDemodGUI(pluginAPI, deviceAPI); BFMDemodGUI* gui = new BFMDemodGUI(pluginAPI, deviceUIset);
return gui; return gui;
} }
@ -315,11 +316,11 @@ void BFMDemodGUI::onMenuDialogCalled(const QPoint &p)
} }
} }
BFMDemodGUI::BFMDemodGUI(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI, QWidget* parent) : BFMDemodGUI::BFMDemodGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, QWidget* parent) :
RollupWidget(parent), RollupWidget(parent),
ui(new Ui::BFMDemodGUI), ui(new Ui::BFMDemodGUI),
m_pluginAPI(pluginAPI), m_pluginAPI(pluginAPI),
m_deviceAPI(deviceAPI), m_deviceUISet(deviceUISet),
m_channelMarker(this), m_channelMarker(this),
m_rdsTimerCount(0), m_rdsTimerCount(0),
m_channelPowerDbAvg(20,0), m_channelPowerDbAvg(20,0),
@ -337,7 +338,7 @@ BFMDemodGUI::BFMDemodGUI(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI, QWidg
connect(getInputMessageQueue(), SIGNAL(messageEnqueued()), this, SLOT(handleInputMessages())); connect(getInputMessageQueue(), SIGNAL(messageEnqueued()), this, SLOT(handleInputMessages()));
m_spectrumVis = new SpectrumVis(ui->glSpectrum); m_spectrumVis = new SpectrumVis(ui->glSpectrum);
m_bfmDemod = new BFMDemod(m_deviceAPI); m_bfmDemod = new BFMDemod(m_deviceUISet->m_deviceSourceAPI);
m_bfmDemod->setMessageQueueToGUI(getInputMessageQueue()); m_bfmDemod->setMessageQueueToGUI(getInputMessageQueue());
m_bfmDemod->setSampleSink(m_spectrumVis); m_bfmDemod->setSampleSink(m_spectrumVis);
@ -363,9 +364,9 @@ BFMDemodGUI::BFMDemodGUI(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI, QWidg
connect(&m_channelMarker, SIGNAL(changed()), this, SLOT(channelMarkerChanged())); connect(&m_channelMarker, SIGNAL(changed()), this, SLOT(channelMarkerChanged()));
m_deviceAPI->registerChannelInstance(m_channelID, this); m_deviceUISet->registerChannelInstance(m_channelID, this);
m_deviceAPI->addChannelMarker(&m_channelMarker); m_deviceUISet->addChannelMarker(&m_channelMarker);
m_deviceAPI->addRollupWidget(this); m_deviceUISet->addRollupWidget(this);
ui->spectrumGUI->setBuddies(m_spectrumVis->getInputMessageQueue(), m_spectrumVis, ui->glSpectrum); ui->spectrumGUI->setBuddies(m_spectrumVis->getInputMessageQueue(), m_spectrumVis, ui->glSpectrum);
@ -382,7 +383,7 @@ BFMDemodGUI::BFMDemodGUI(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI, QWidg
BFMDemodGUI::~BFMDemodGUI() BFMDemodGUI::~BFMDemodGUI()
{ {
m_deviceAPI->removeChannelInstance(this); m_deviceUISet->removeChannelInstance(this);
delete m_bfmDemod; delete m_bfmDemod;
delete ui; delete ui;
} }

View File

@ -26,7 +26,7 @@
#include "bfmdemodsettings.h" #include "bfmdemodsettings.h"
class PluginAPI; class PluginAPI;
class DeviceSourceAPI; class DeviceUISet;
class RDSParser; class RDSParser;
class ThreadedBasebandSampleSink; class ThreadedBasebandSampleSink;
@ -42,7 +42,7 @@ class BFMDemodGUI : public RollupWidget, public PluginInstanceGUI {
Q_OBJECT Q_OBJECT
public: public:
static BFMDemodGUI* create(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI); static BFMDemodGUI* create(PluginAPI* pluginAPI, DeviceUISet *deviceAPI);
virtual void destroy(); virtual void destroy();
void setName(const QString& name); void setName(const QString& name);
@ -82,7 +82,7 @@ private slots:
private: private:
Ui::BFMDemodGUI* ui; Ui::BFMDemodGUI* ui;
PluginAPI* m_pluginAPI; PluginAPI* m_pluginAPI;
DeviceSourceAPI* m_deviceAPI; DeviceUISet* m_deviceUISet;
ChannelMarker m_channelMarker; ChannelMarker m_channelMarker;
BFMDemodSettings m_settings; BFMDemodSettings m_settings;
bool m_doApplySettings; bool m_doApplySettings;
@ -96,7 +96,7 @@ private:
std::vector<unsigned int> m_g14ComboIndex; std::vector<unsigned int> m_g14ComboIndex;
MessageQueue m_inputMessageQueue; MessageQueue m_inputMessageQueue;
explicit BFMDemodGUI(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI, QWidget* parent = NULL); explicit BFMDemodGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, QWidget* parent = 0);
virtual ~BFMDemodGUI(); virtual ~BFMDemodGUI();
void blockApplySettings(bool block); void blockApplySettings(bool block);

View File

@ -24,7 +24,7 @@
const PluginDescriptor BFMPlugin::m_pluginDescriptor = { const PluginDescriptor BFMPlugin::m_pluginDescriptor = {
QString("Broadcast FM Demodulator"), QString("Broadcast FM Demodulator"),
QString("3.7.5"), QString("3.7.9"),
QString("(c) Edouard Griffiths, F4EXB"), QString("(c) Edouard Griffiths, F4EXB"),
QString("https://github.com/f4exb/sdrangel"), QString("https://github.com/f4exb/sdrangel"),
true, true,
@ -50,18 +50,18 @@ void BFMPlugin::initPlugin(PluginAPI* pluginAPI)
m_pluginAPI->registerRxChannel(BFMDemodGUI::m_channelID, this); m_pluginAPI->registerRxChannel(BFMDemodGUI::m_channelID, this);
} }
PluginInstanceGUI* BFMPlugin::createRxChannel(const QString& channelName, DeviceSourceAPI *deviceAPI) PluginInstanceGUI* BFMPlugin::createRxChannel(const QString& channelName, DeviceUISet *deviceUISet)
{ {
if(channelName == BFMDemodGUI::m_channelID) if(channelName == BFMDemodGUI::m_channelID)
{ {
BFMDemodGUI* gui = BFMDemodGUI::create(m_pluginAPI, deviceAPI); BFMDemodGUI* gui = BFMDemodGUI::create(m_pluginAPI, deviceUISet);
return gui; return gui;
} else { } else {
return 0; return 0;
} }
} }
void BFMPlugin::createInstanceBFM(DeviceSourceAPI *deviceAPI) void BFMPlugin::createInstanceBFM(DeviceUISet *deviceUISet)
{ {
BFMDemodGUI::create(m_pluginAPI, deviceAPI); BFMDemodGUI::create(m_pluginAPI, deviceUISet);
} }

View File

@ -21,7 +21,7 @@
#include <QObject> #include <QObject>
#include "plugin/plugininterface.h" #include "plugin/plugininterface.h"
class DeviceSourceAPI; class DeviceUISet;
class BFMPlugin : public QObject, PluginInterface { class BFMPlugin : public QObject, PluginInterface {
Q_OBJECT Q_OBJECT
@ -34,7 +34,7 @@ public:
const PluginDescriptor& getPluginDescriptor() const; const PluginDescriptor& getPluginDescriptor() const;
void initPlugin(PluginAPI* pluginAPI); void initPlugin(PluginAPI* pluginAPI);
PluginInstanceGUI* createRxChannel(const QString& channelName, DeviceSourceAPI *deviceAPI); PluginInstanceGUI* createRxChannel(const QString& channelName, DeviceUISet *deviceUISet);
private: private:
static const PluginDescriptor m_pluginDescriptor; static const PluginDescriptor m_pluginDescriptor;
@ -42,7 +42,7 @@ private:
PluginAPI* m_pluginAPI; PluginAPI* m_pluginAPI;
private slots: private slots:
void createInstanceBFM(DeviceSourceAPI *deviceAPI); void createInstanceBFM(DeviceUISet *deviceUISet);
}; };
#endif // INCLUDE_BFMPLUGIN_H #endif // INCLUDE_BFMPLUGIN_H

View File

@ -18,6 +18,7 @@
#include "dsddemodgui.h" #include "dsddemodgui.h"
#include <device/devicesourceapi.h> #include <device/devicesourceapi.h>
#include "device/deviceuiset.h"
#include <dsp/downchannelizer.h> #include <dsp/downchannelizer.h>
#include <QDockWidget> #include <QDockWidget>
#include <QMainWindow> #include <QMainWindow>
@ -39,9 +40,9 @@
const QString DSDDemodGUI::m_channelID = "sdrangel.channel.dsddemod"; const QString DSDDemodGUI::m_channelID = "sdrangel.channel.dsddemod";
DSDDemodGUI* DSDDemodGUI::create(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI) DSDDemodGUI* DSDDemodGUI::create(PluginAPI* pluginAPI, DeviceUISet *deviceUISet)
{ {
DSDDemodGUI* gui = new DSDDemodGUI(pluginAPI, deviceAPI); DSDDemodGUI* gui = new DSDDemodGUI(pluginAPI, deviceUISet);
return gui; return gui;
} }
@ -230,11 +231,11 @@ void DSDDemodGUI::onMenuDialogCalled(const QPoint &p)
dialog.exec(); dialog.exec();
} }
DSDDemodGUI::DSDDemodGUI(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI, QWidget* parent) : DSDDemodGUI::DSDDemodGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, QWidget* parent) :
RollupWidget(parent), RollupWidget(parent),
ui(new Ui::DSDDemodGUI), ui(new Ui::DSDDemodGUI),
m_pluginAPI(pluginAPI), m_pluginAPI(pluginAPI),
m_deviceAPI(deviceAPI), m_deviceUISet(deviceUISet),
m_channelMarker(this), m_channelMarker(this),
m_doApplySettings(true), m_doApplySettings(true),
m_signalFormat(signalFormatNone), m_signalFormat(signalFormatNone),
@ -253,7 +254,7 @@ DSDDemodGUI::DSDDemodGUI(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI, QWidg
connect(this, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(onMenuDialogCalled(const QPoint &))); connect(this, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(onMenuDialogCalled(const QPoint &)));
m_scopeVis = new ScopeVis(ui->glScope); m_scopeVis = new ScopeVis(ui->glScope);
m_dsdDemod = new DSDDemod(m_deviceAPI); m_dsdDemod = new DSDDemod(m_deviceUISet->m_deviceSourceAPI);
m_dsdDemod->setScopeSink(m_scopeVis); m_dsdDemod->setScopeSink(m_scopeVis);
m_dsdDemod->setMessageQueueToGUI(getInputMessageQueue()); m_dsdDemod->setMessageQueueToGUI(getInputMessageQueue());
@ -280,9 +281,9 @@ DSDDemodGUI::DSDDemodGUI(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI, QWidg
connect(&m_channelMarker, SIGNAL(changed()), this, SLOT(channelMarkerChanged())); connect(&m_channelMarker, SIGNAL(changed()), this, SLOT(channelMarkerChanged()));
m_deviceAPI->registerChannelInstance(m_channelID, this); m_deviceUISet->registerChannelInstance(m_channelID, this);
m_deviceAPI->addChannelMarker(&m_channelMarker); m_deviceUISet->addChannelMarker(&m_channelMarker);
m_deviceAPI->addRollupWidget(this); m_deviceUISet->addRollupWidget(this);
ui->scopeGUI->setBuddies(m_scopeVis->getInputMessageQueue(), m_scopeVis, ui->glScope); ui->scopeGUI->setBuddies(m_scopeVis->getInputMessageQueue(), m_scopeVis, ui->glScope);
@ -297,7 +298,7 @@ DSDDemodGUI::DSDDemodGUI(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI, QWidg
DSDDemodGUI::~DSDDemodGUI() DSDDemodGUI::~DSDDemodGUI()
{ {
m_deviceAPI->removeChannelInstance(this); m_deviceUISet->removeChannelInstance(this);
delete m_dsdDemod; delete m_dsdDemod;
delete ui; delete ui;
} }

View File

@ -30,7 +30,7 @@
#include "dsddemodsettings.h" #include "dsddemodsettings.h"
class PluginAPI; class PluginAPI;
class DeviceSourceAPI; class DeviceUISet;
class ScopeVis; class ScopeVis;
class DSDDemod; class DSDDemod;
@ -43,7 +43,7 @@ class DSDDemodGUI : public RollupWidget, public PluginInstanceGUI {
Q_OBJECT Q_OBJECT
public: public:
static DSDDemodGUI* create(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI); static DSDDemodGUI* create(PluginAPI* pluginAPI, DeviceUISet *deviceUISet);
virtual void destroy(); virtual void destroy();
void setName(const QString& name); void setName(const QString& name);
@ -94,7 +94,7 @@ private:
Ui::DSDDemodGUI* ui; Ui::DSDDemodGUI* ui;
PluginAPI* m_pluginAPI; PluginAPI* m_pluginAPI;
DeviceSourceAPI* m_deviceAPI; DeviceUISet* m_deviceUISet;
ChannelMarker m_channelMarker; ChannelMarker m_channelMarker;
DSDDemodSettings m_settings; DSDDemodSettings m_settings;
bool m_doApplySettings; bool m_doApplySettings;
@ -118,7 +118,7 @@ private:
MessageQueue m_inputMessageQueue; MessageQueue m_inputMessageQueue;
explicit DSDDemodGUI(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI, QWidget* parent = NULL); explicit DSDDemodGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, QWidget* parent = 0);
virtual ~DSDDemodGUI(); virtual ~DSDDemodGUI();
void blockApplySettings(bool block); void blockApplySettings(bool block);

View File

@ -15,16 +15,16 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>. // // along with this program. If not, see <http://www.gnu.org/licenses/>. //
/////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////
#include "../../channelrx/demoddsd/dsddemodplugin.h" #include "dsddemodplugin.h"
#include <device/devicesourceapi.h> #include <device/devicesourceapi.h>
#include <QtPlugin> #include <QtPlugin>
#include "plugin/pluginapi.h" #include "plugin/pluginapi.h"
#include "../../channelrx/demoddsd/dsddemodgui.h" #include "dsddemodgui.h"
const PluginDescriptor DSDDemodPlugin::m_pluginDescriptor = { const PluginDescriptor DSDDemodPlugin::m_pluginDescriptor = {
QString("DSD Demodulator"), QString("DSD Demodulator"),
QString("3.7.3"), QString("3.7.9"),
QString("(c) Edouard Griffiths, F4EXB"), QString("(c) Edouard Griffiths, F4EXB"),
QString("https://github.com/f4exb/sdrangel"), QString("https://github.com/f4exb/sdrangel"),
true, true,
@ -50,18 +50,18 @@ void DSDDemodPlugin::initPlugin(PluginAPI* pluginAPI)
m_pluginAPI->registerRxChannel(DSDDemodGUI::m_channelID, this); m_pluginAPI->registerRxChannel(DSDDemodGUI::m_channelID, this);
} }
PluginInstanceGUI* DSDDemodPlugin::createRxChannel(const QString& channelName, DeviceSourceAPI *deviceAPI) PluginInstanceGUI* DSDDemodPlugin::createRxChannel(const QString& channelName, DeviceUISet *deviceUISet)
{ {
if(channelName == DSDDemodGUI::m_channelID) if(channelName == DSDDemodGUI::m_channelID)
{ {
DSDDemodGUI* gui = DSDDemodGUI::create(m_pluginAPI, deviceAPI); DSDDemodGUI* gui = DSDDemodGUI::create(m_pluginAPI, deviceUISet);
return gui; return gui;
} else { } else {
return NULL; return NULL;
} }
} }
void DSDDemodPlugin::createInstanceDSDDemod(DeviceSourceAPI *deviceAPI) void DSDDemodPlugin::createInstanceDSDDemod(DeviceUISet *deviceUISet)
{ {
DSDDemodGUI::create(m_pluginAPI, deviceAPI); DSDDemodGUI::create(m_pluginAPI, deviceUISet);
} }

View File

@ -21,7 +21,7 @@
#include <QObject> #include <QObject>
#include "plugin/plugininterface.h" #include "plugin/plugininterface.h"
class DeviceSourceAPI; class DeviceUISet;
class DSDDemodPlugin : public QObject, PluginInterface { class DSDDemodPlugin : public QObject, PluginInterface {
Q_OBJECT Q_OBJECT
@ -34,7 +34,7 @@ public:
const PluginDescriptor& getPluginDescriptor() const; const PluginDescriptor& getPluginDescriptor() const;
void initPlugin(PluginAPI* pluginAPI); void initPlugin(PluginAPI* pluginAPI);
PluginInstanceGUI* createRxChannel(const QString& channelName, DeviceSourceAPI *deviceAPI); PluginInstanceGUI* createRxChannel(const QString& channelName, DeviceUISet *deviceUISet);
private: private:
static const PluginDescriptor m_pluginDescriptor; static const PluginDescriptor m_pluginDescriptor;
@ -42,7 +42,7 @@ private:
PluginAPI* m_pluginAPI; PluginAPI* m_pluginAPI;
private slots: private slots:
void createInstanceDSDDemod(DeviceSourceAPI *deviceAPI); void createInstanceDSDDemod(DeviceUISet *deviceUISet);
}; };
#endif // INCLUDE_DSDDEMODLUGIN_H #endif // INCLUDE_DSDDEMODLUGIN_H

View File

@ -1,5 +1,6 @@
#include <device/devicesourceapi.h> #include <device/devicesourceapi.h>
#include "device/deviceuiset.h"
#include <dsp/downchannelizer.h> #include <dsp/downchannelizer.h>
#include <QDockWidget> #include <QDockWidget>
#include <QMainWindow> #include <QMainWindow>
@ -17,9 +18,9 @@
const QString LoRaDemodGUI::m_channelID = "de.maintech.sdrangelove.channel.lora"; const QString LoRaDemodGUI::m_channelID = "de.maintech.sdrangelove.channel.lora";
LoRaDemodGUI* LoRaDemodGUI::create(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI) LoRaDemodGUI* LoRaDemodGUI::create(PluginAPI* pluginAPI, DeviceUISet *deviceUISet)
{ {
LoRaDemodGUI* gui = new LoRaDemodGUI(pluginAPI, deviceAPI); LoRaDemodGUI* gui = new LoRaDemodGUI(pluginAPI, deviceUISet);
return gui; return gui;
} }
@ -120,11 +121,11 @@ void LoRaDemodGUI::onMenuDoubleClicked()
} }
} }
LoRaDemodGUI::LoRaDemodGUI(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI, QWidget* parent) : LoRaDemodGUI::LoRaDemodGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, QWidget* parent) :
RollupWidget(parent), RollupWidget(parent),
ui(new Ui::LoRaDemodGUI), ui(new Ui::LoRaDemodGUI),
m_pluginAPI(pluginAPI), m_pluginAPI(pluginAPI),
m_deviceAPI(deviceAPI), m_deviceUISet(deviceUISet),
m_channelMarker(this), m_channelMarker(this),
m_basicSettingsShown(false), m_basicSettingsShown(false),
m_doApplySettings(true) m_doApplySettings(true)
@ -135,7 +136,7 @@ LoRaDemodGUI::LoRaDemodGUI(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI, QWi
connect(this, SIGNAL(menuDoubleClickEvent()), this, SLOT(onMenuDoubleClicked())); connect(this, SIGNAL(menuDoubleClickEvent()), this, SLOT(onMenuDoubleClicked()));
m_spectrumVis = new SpectrumVis(ui->glSpectrum); m_spectrumVis = new SpectrumVis(ui->glSpectrum);
m_LoRaDemod = new LoRaDemod(m_deviceAPI); m_LoRaDemod = new LoRaDemod(m_deviceUISet->m_deviceSourceAPI);
m_LoRaDemod->setSpectrumSink(m_spectrumVis); m_LoRaDemod->setSpectrumSink(m_spectrumVis);
ui->glSpectrum->setCenterFrequency(16000); ui->glSpectrum->setCenterFrequency(16000);
@ -152,9 +153,9 @@ LoRaDemodGUI::LoRaDemodGUI(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI, QWi
connect(&m_channelMarker, SIGNAL(changed()), this, SLOT(viewChanged())); connect(&m_channelMarker, SIGNAL(changed()), this, SLOT(viewChanged()));
m_deviceAPI->registerChannelInstance(m_channelID, this); m_deviceUISet->registerChannelInstance(m_channelID, this);
m_deviceAPI->addChannelMarker(&m_channelMarker); m_deviceUISet->addChannelMarker(&m_channelMarker);
m_deviceAPI->addRollupWidget(this); m_deviceUISet->addRollupWidget(this);
ui->spectrumGUI->setBuddies(m_spectrumVis->getInputMessageQueue(), m_spectrumVis, ui->glSpectrum); ui->spectrumGUI->setBuddies(m_spectrumVis->getInputMessageQueue(), m_spectrumVis, ui->glSpectrum);
@ -167,7 +168,7 @@ LoRaDemodGUI::LoRaDemodGUI(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI, QWi
LoRaDemodGUI::~LoRaDemodGUI() LoRaDemodGUI::~LoRaDemodGUI()
{ {
m_deviceAPI->removeChannelInstance(this); m_deviceUISet->removeChannelInstance(this);
delete m_LoRaDemod; delete m_LoRaDemod;
delete m_spectrumVis; delete m_spectrumVis;
delete ui; delete ui;

View File

@ -9,7 +9,7 @@
#include "lorademodsettings.h" #include "lorademodsettings.h"
class PluginAPI; class PluginAPI;
class DeviceSourceAPI; class DeviceUISet;
class LoRaDemod; class LoRaDemod;
class SpectrumVis; class SpectrumVis;
@ -21,7 +21,7 @@ class LoRaDemodGUI : public RollupWidget, public PluginInstanceGUI {
Q_OBJECT Q_OBJECT
public: public:
static LoRaDemodGUI* create(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI); static LoRaDemodGUI* create(PluginAPI* pluginAPI, DeviceUISet *deviceAPI);
virtual void destroy(); virtual void destroy();
void setName(const QString& name); void setName(const QString& name);
@ -47,7 +47,7 @@ private slots:
private: private:
Ui::LoRaDemodGUI* ui; Ui::LoRaDemodGUI* ui;
PluginAPI* m_pluginAPI; PluginAPI* m_pluginAPI;
DeviceSourceAPI* m_deviceAPI; DeviceUISet* m_deviceUISet;
ChannelMarker m_channelMarker; ChannelMarker m_channelMarker;
LoRaDemodSettings m_settings; LoRaDemodSettings m_settings;
bool m_basicSettingsShown; bool m_basicSettingsShown;
@ -57,7 +57,7 @@ private:
SpectrumVis* m_spectrumVis; SpectrumVis* m_spectrumVis;
MessageQueue m_inputMessageQueue; MessageQueue m_inputMessageQueue;
explicit LoRaDemodGUI(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI, QWidget* parent = NULL); explicit LoRaDemodGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, QWidget* parent = NULL);
virtual ~LoRaDemodGUI(); virtual ~LoRaDemodGUI();
void blockApplySettings(bool block); void blockApplySettings(bool block);

View File

@ -6,7 +6,7 @@
const PluginDescriptor LoRaPlugin::m_pluginDescriptor = { const PluginDescriptor LoRaPlugin::m_pluginDescriptor = {
QString("LoRa Demodulator"), QString("LoRa Demodulator"),
QString("3.7.4"), QString("3.7.9"),
QString("(c) 2015 John Greb"), QString("(c) 2015 John Greb"),
QString("http://www.maintech.de"), QString("http://www.maintech.de"),
true, true,
@ -32,18 +32,18 @@ void LoRaPlugin::initPlugin(PluginAPI* pluginAPI)
m_pluginAPI->registerRxChannel(LoRaDemodGUI::m_channelID, this); m_pluginAPI->registerRxChannel(LoRaDemodGUI::m_channelID, this);
} }
PluginInstanceGUI* LoRaPlugin::createRxChannel(const QString& channelName, DeviceSourceAPI *deviceAPI) PluginInstanceGUI* LoRaPlugin::createRxChannel(const QString& channelName, DeviceUISet *deviceUISet)
{ {
if(channelName == LoRaDemodGUI::m_channelID) if(channelName == LoRaDemodGUI::m_channelID)
{ {
LoRaDemodGUI* gui = LoRaDemodGUI::create(m_pluginAPI, deviceAPI); LoRaDemodGUI* gui = LoRaDemodGUI::create(m_pluginAPI, deviceUISet);
return gui; return gui;
} else { } else {
return NULL; return NULL;
} }
} }
void LoRaPlugin::createInstanceLoRa(DeviceSourceAPI *deviceAPI) void LoRaPlugin::createInstanceLoRa(DeviceUISet *deviceUISet)
{ {
LoRaDemodGUI::create(m_pluginAPI, deviceAPI); LoRaDemodGUI::create(m_pluginAPI, deviceUISet);
} }

View File

@ -4,7 +4,7 @@
#include <QObject> #include <QObject>
#include "plugin/plugininterface.h" #include "plugin/plugininterface.h"
class DeviceSourceAPI; class DeviceUISet;
class LoRaPlugin : public QObject, PluginInterface { class LoRaPlugin : public QObject, PluginInterface {
Q_OBJECT Q_OBJECT
@ -17,7 +17,7 @@ public:
const PluginDescriptor& getPluginDescriptor() const; const PluginDescriptor& getPluginDescriptor() const;
void initPlugin(PluginAPI* pluginAPI); void initPlugin(PluginAPI* pluginAPI);
PluginInstanceGUI* createRxChannel(const QString& channelName, DeviceSourceAPI *deviceAPI); PluginInstanceGUI* createRxChannel(const QString& channelName, DeviceUISet *deviceUISet);
private: private:
static const PluginDescriptor m_pluginDescriptor; static const PluginDescriptor m_pluginDescriptor;
@ -25,7 +25,7 @@ private:
PluginAPI* m_pluginAPI; PluginAPI* m_pluginAPI;
private slots: private slots:
void createInstanceLoRa(DeviceSourceAPI *deviceAPI); void createInstanceLoRa(DeviceUISet *deviceUISet);
}; };
#endif // INCLUDE_LoRaPLUGIN_H #endif // INCLUDE_LoRaPLUGIN_H

View File

@ -1,6 +1,7 @@
#include "nfmdemodgui.h" #include "nfmdemodgui.h"
#include <device/devicesourceapi.h> #include <device/devicesourceapi.h>
#include "device/deviceuiset.h"
#include <QDockWidget> #include <QDockWidget>
#include <QMainWindow> #include <QMainWindow>
#include <QDebug> #include <QDebug>
@ -17,9 +18,9 @@
const QString NFMDemodGUI::m_channelID = "de.maintech.sdrangelove.channel.nfm"; const QString NFMDemodGUI::m_channelID = "de.maintech.sdrangelove.channel.nfm";
NFMDemodGUI* NFMDemodGUI::create(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI) NFMDemodGUI* NFMDemodGUI::create(PluginAPI* pluginAPI, DeviceUISet *deviceUISet)
{ {
NFMDemodGUI* gui = new NFMDemodGUI(pluginAPI, deviceAPI); NFMDemodGUI* gui = new NFMDemodGUI(pluginAPI, deviceUISet);
return gui; return gui;
} }
@ -221,11 +222,11 @@ void NFMDemodGUI::onMenuDialogCalled(const QPoint &p)
dialog.exec(); dialog.exec();
} }
NFMDemodGUI::NFMDemodGUI(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI, QWidget* parent) : NFMDemodGUI::NFMDemodGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, QWidget* parent) :
RollupWidget(parent), RollupWidget(parent),
ui(new Ui::NFMDemodGUI), ui(new Ui::NFMDemodGUI),
m_pluginAPI(pluginAPI), m_pluginAPI(pluginAPI),
m_deviceAPI(deviceAPI), m_deviceUISet(deviceUISet),
m_channelMarker(this), m_channelMarker(this),
m_basicSettingsShown(false), m_basicSettingsShown(false),
m_doApplySettings(true), m_doApplySettings(true),
@ -238,7 +239,7 @@ NFMDemodGUI::NFMDemodGUI(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI, QWidg
connect(this, SIGNAL(widgetRolled(QWidget*,bool)), this, SLOT(onWidgetRolled(QWidget*,bool))); connect(this, SIGNAL(widgetRolled(QWidget*,bool)), this, SLOT(onWidgetRolled(QWidget*,bool)));
connect(this, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(onMenuDialogCalled(const QPoint &))); connect(this, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(onMenuDialogCalled(const QPoint &)));
m_nfmDemod = new NFMDemod(m_deviceAPI); m_nfmDemod = new NFMDemod(m_deviceUISet->m_deviceSourceAPI);
m_nfmDemod->setMessageQueueToGUI(getInputMessageQueue()); m_nfmDemod->setMessageQueueToGUI(getInputMessageQueue());
connect(&MainWindow::getInstance()->getMasterTimer(), SIGNAL(timeout()), this, SLOT(tick())); connect(&MainWindow::getInstance()->getMasterTimer(), SIGNAL(timeout()), this, SLOT(tick()));
@ -283,9 +284,9 @@ NFMDemodGUI::NFMDemodGUI(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI, QWidg
connect(&m_channelMarker, SIGNAL(changed()), this, SLOT(channelMarkerChanged())); connect(&m_channelMarker, SIGNAL(changed()), this, SLOT(channelMarkerChanged()));
m_deviceAPI->registerChannelInstance(m_channelID, this); m_deviceUISet->registerChannelInstance(m_channelID, this);
m_deviceAPI->addChannelMarker(&m_channelMarker); m_deviceUISet->addChannelMarker(&m_channelMarker);
m_deviceAPI->addRollupWidget(this); m_deviceUISet->addRollupWidget(this);
QChar delta = QChar(0x94, 0x03); QChar delta = QChar(0x94, 0x03);
ui->deltaSquelch->setText(delta); ui->deltaSquelch->setText(delta);
@ -298,7 +299,7 @@ NFMDemodGUI::NFMDemodGUI(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI, QWidg
NFMDemodGUI::~NFMDemodGUI() NFMDemodGUI::~NFMDemodGUI()
{ {
m_deviceAPI->removeChannelInstance(this); m_deviceUISet->removeChannelInstance(this);
delete m_nfmDemod; delete m_nfmDemod;
//delete m_channelMarker; //delete m_channelMarker;
delete ui; delete ui;

View File

@ -11,7 +11,7 @@
#include "nfmdemodsettings.h" #include "nfmdemodsettings.h"
class PluginAPI; class PluginAPI;
class DeviceSourceAPI; class DeviceUISet;
class NFMDemod; class NFMDemod;
@ -23,7 +23,7 @@ class NFMDemodGUI : public RollupWidget, public PluginInstanceGUI {
Q_OBJECT Q_OBJECT
public: public:
static NFMDemodGUI* create(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI); static NFMDemodGUI* create(PluginAPI* pluginAPI, DeviceUISet *deviceUISet);
virtual void destroy(); virtual void destroy();
void setName(const QString& name); void setName(const QString& name);
@ -61,7 +61,7 @@ private slots:
private: private:
Ui::NFMDemodGUI* ui; Ui::NFMDemodGUI* ui;
PluginAPI* m_pluginAPI; PluginAPI* m_pluginAPI;
DeviceSourceAPI* m_deviceAPI; DeviceUISet* m_deviceUISet;
ChannelMarker m_channelMarker; ChannelMarker m_channelMarker;
NFMDemodSettings m_settings; NFMDemodSettings m_settings;
bool m_basicSettingsShown; bool m_basicSettingsShown;
@ -72,7 +72,7 @@ private:
uint32_t m_tickCount; uint32_t m_tickCount;
MessageQueue m_inputMessageQueue; MessageQueue m_inputMessageQueue;
explicit NFMDemodGUI(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI, QWidget* parent = NULL); explicit NFMDemodGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, QWidget* parent = 0);
virtual ~NFMDemodGUI(); virtual ~NFMDemodGUI();
void blockApplySettings(bool block); void blockApplySettings(bool block);

View File

@ -6,7 +6,7 @@
const PluginDescriptor NFMPlugin::m_pluginDescriptor = { const PluginDescriptor NFMPlugin::m_pluginDescriptor = {
QString("NFM Demodulator"), QString("NFM Demodulator"),
QString("3.7.4"), QString("3.7.9"),
QString("(c) Edouard Griffiths, F4EXB"), QString("(c) Edouard Griffiths, F4EXB"),
QString("https://github.com/f4exb/sdrangel"), QString("https://github.com/f4exb/sdrangel"),
true, true,
@ -32,17 +32,17 @@ void NFMPlugin::initPlugin(PluginAPI* pluginAPI)
m_pluginAPI->registerRxChannel(NFMDemodGUI::m_channelID, this); m_pluginAPI->registerRxChannel(NFMDemodGUI::m_channelID, this);
} }
PluginInstanceGUI* NFMPlugin::createRxChannel(const QString& channelName, DeviceSourceAPI *deviceAPI) PluginInstanceGUI* NFMPlugin::createRxChannel(const QString& channelName, DeviceUISet *deviceUISet)
{ {
if(channelName == NFMDemodGUI::m_channelID) { if(channelName == NFMDemodGUI::m_channelID) {
NFMDemodGUI* gui = NFMDemodGUI::create(m_pluginAPI, deviceAPI); NFMDemodGUI* gui = NFMDemodGUI::create(m_pluginAPI, deviceUISet);
return gui; return gui;
} else { } else {
return NULL; return NULL;
} }
} }
void NFMPlugin::createInstanceNFM(DeviceSourceAPI *deviceAPI) void NFMPlugin::createInstanceNFM(DeviceUISet *deviceUISet)
{ {
NFMDemodGUI::create(m_pluginAPI, deviceAPI); NFMDemodGUI::create(m_pluginAPI, deviceUISet);
} }

View File

@ -4,7 +4,7 @@
#include <QObject> #include <QObject>
#include "plugin/plugininterface.h" #include "plugin/plugininterface.h"
class DeviceSourceAPI; class DeviceUISet;
class NFMPlugin : public QObject, PluginInterface { class NFMPlugin : public QObject, PluginInterface {
Q_OBJECT Q_OBJECT
@ -17,7 +17,7 @@ public:
const PluginDescriptor& getPluginDescriptor() const; const PluginDescriptor& getPluginDescriptor() const;
void initPlugin(PluginAPI* pluginAPI); void initPlugin(PluginAPI* pluginAPI);
PluginInstanceGUI* createRxChannel(const QString& channelName, DeviceSourceAPI *deviceAPI); PluginInstanceGUI* createRxChannel(const QString& channelName, DeviceUISet *deviceUISet);
private: private:
static const PluginDescriptor m_pluginDescriptor; static const PluginDescriptor m_pluginDescriptor;
@ -25,7 +25,7 @@ private:
PluginAPI* m_pluginAPI; PluginAPI* m_pluginAPI;
private slots: private slots:
void createInstanceNFM(DeviceSourceAPI *deviceAPI); void createInstanceNFM(DeviceUISet *deviceUISet);
}; };
#endif // INCLUDE_NFMPLUGIN_H #endif // INCLUDE_NFMPLUGIN_H

View File

@ -2,6 +2,7 @@
#include "ssbdemodgui.h" #include "ssbdemodgui.h"
#include <device/devicesourceapi.h> #include <device/devicesourceapi.h>
#include "device/deviceuiset.h"
#include <QDockWidget> #include <QDockWidget>
#include <QMainWindow> #include <QMainWindow>
@ -18,9 +19,9 @@
const QString SSBDemodGUI::m_channelID = "de.maintech.sdrangelove.channel.ssb"; const QString SSBDemodGUI::m_channelID = "de.maintech.sdrangelove.channel.ssb";
SSBDemodGUI* SSBDemodGUI::create(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI) SSBDemodGUI* SSBDemodGUI::create(PluginAPI* pluginAPI, DeviceUISet *deviceUISet)
{ {
SSBDemodGUI* gui = new SSBDemodGUI(pluginAPI, deviceAPI); SSBDemodGUI* gui = new SSBDemodGUI(pluginAPI, deviceUISet);
return gui; return gui;
} }
@ -286,11 +287,11 @@ void SSBDemodGUI::onMenuDoubleClicked()
} }
} }
SSBDemodGUI::SSBDemodGUI(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI, QWidget* parent) : SSBDemodGUI::SSBDemodGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, QWidget* parent) :
RollupWidget(parent), RollupWidget(parent),
ui(new Ui::SSBDemodGUI), ui(new Ui::SSBDemodGUI),
m_pluginAPI(pluginAPI), m_pluginAPI(pluginAPI),
m_deviceAPI(deviceAPI), m_deviceUISet(deviceUISet),
m_channelMarker(this), m_channelMarker(this),
m_basicSettingsShown(false), m_basicSettingsShown(false),
m_doApplySettings(true), m_doApplySettings(true),
@ -308,7 +309,7 @@ SSBDemodGUI::SSBDemodGUI(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI, QWidg
connect(this, SIGNAL(menuDoubleClickEvent()), this, SLOT(onMenuDoubleClicked())); connect(this, SIGNAL(menuDoubleClickEvent()), this, SLOT(onMenuDoubleClicked()));
m_spectrumVis = new SpectrumVis(ui->glSpectrum); m_spectrumVis = new SpectrumVis(ui->glSpectrum);
m_ssbDemod = new SSBDemod(m_deviceAPI); m_ssbDemod = new SSBDemod(m_deviceUISet->m_deviceSourceAPI);
m_ssbDemod->setMessageQueueToGUI(getInputMessageQueue()); m_ssbDemod->setMessageQueueToGUI(getInputMessageQueue());
m_ssbDemod->setSampleSink(m_spectrumVis); m_ssbDemod->setSampleSink(m_spectrumVis);
@ -330,9 +331,9 @@ SSBDemodGUI::SSBDemodGUI(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI, QWidg
connect(&m_channelMarker, SIGNAL(changed()), this, SLOT(viewChanged())); connect(&m_channelMarker, SIGNAL(changed()), this, SLOT(viewChanged()));
m_deviceAPI->registerChannelInstance(m_channelID, this); m_deviceUISet->registerChannelInstance(m_channelID, this);
m_deviceAPI->addChannelMarker(&m_channelMarker); m_deviceUISet->addChannelMarker(&m_channelMarker);
m_deviceAPI->addRollupWidget(this); m_deviceUISet->addRollupWidget(this);
ui->spectrumGUI->setBuddies(m_spectrumVis->getInputMessageQueue(), m_spectrumVis, ui->glSpectrum); ui->spectrumGUI->setBuddies(m_spectrumVis->getInputMessageQueue(), m_spectrumVis, ui->glSpectrum);
@ -343,7 +344,7 @@ SSBDemodGUI::SSBDemodGUI(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI, QWidg
SSBDemodGUI::~SSBDemodGUI() SSBDemodGUI::~SSBDemodGUI()
{ {
m_deviceAPI->removeChannelInstance(this); m_deviceUISet->removeChannelInstance(this);
delete m_ssbDemod; delete m_ssbDemod;
delete m_spectrumVis; delete m_spectrumVis;
delete ui; delete ui;

View File

@ -9,7 +9,7 @@
#include "ssbdemodsettings.h" #include "ssbdemodsettings.h"
class PluginAPI; class PluginAPI;
class DeviceSourceAPI; class DeviceUISet;
class AudioFifo; class AudioFifo;
class SSBDemod; class SSBDemod;
@ -23,7 +23,7 @@ class SSBDemodGUI : public RollupWidget, public PluginInstanceGUI {
Q_OBJECT Q_OBJECT
public: public:
static SSBDemodGUI* create(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI); static SSBDemodGUI* create(PluginAPI* pluginAPI, DeviceUISet *deviceUISet);
virtual void destroy(); virtual void destroy();
void setName(const QString& name); void setName(const QString& name);
@ -62,7 +62,7 @@ private slots:
private: private:
Ui::SSBDemodGUI* ui; Ui::SSBDemodGUI* ui;
PluginAPI* m_pluginAPI; PluginAPI* m_pluginAPI;
DeviceSourceAPI* m_deviceAPI; DeviceUISet* m_deviceUISet;
ChannelMarker m_channelMarker; ChannelMarker m_channelMarker;
SSBDemodSettings m_settings; SSBDemodSettings m_settings;
bool m_basicSettingsShown; bool m_basicSettingsShown;
@ -80,7 +80,7 @@ private:
SpectrumVis* m_spectrumVis; SpectrumVis* m_spectrumVis;
MessageQueue m_inputMessageQueue; MessageQueue m_inputMessageQueue;
explicit SSBDemodGUI(PluginAPI* pluginAPI, DeviceSourceAPI* deviceAPI, QWidget* parent = NULL); explicit SSBDemodGUI(PluginAPI* pluginAPI, DeviceUISet* deviceUISet, QWidget* parent = 0);
virtual ~SSBDemodGUI(); virtual ~SSBDemodGUI();
int getEffectiveLowCutoff(int lowCutoff); int getEffectiveLowCutoff(int lowCutoff);

View File

@ -1,13 +1,13 @@
#include "../../channelrx/demodssb/ssbplugin.h" #include "ssbplugin.h"
#include <device/devicesourceapi.h> #include <device/devicesourceapi.h>
#include <QtPlugin> #include <QtPlugin>
#include "plugin/pluginapi.h" #include "plugin/pluginapi.h"
#include "../../channelrx/demodssb/ssbdemodgui.h" #include "ssbdemodgui.h"
const PluginDescriptor SSBPlugin::m_pluginDescriptor = { const PluginDescriptor SSBPlugin::m_pluginDescriptor = {
QString("SSB Demodulator"), QString("SSB Demodulator"),
QString("3.7.3"), QString("3.7.9"),
QString("(c) Edouard Griffiths, F4EXB"), QString("(c) Edouard Griffiths, F4EXB"),
QString("https://github.com/f4exb/sdrangel"), QString("https://github.com/f4exb/sdrangel"),
true, true,
@ -33,18 +33,18 @@ void SSBPlugin::initPlugin(PluginAPI* pluginAPI)
m_pluginAPI->registerRxChannel(SSBDemodGUI::m_channelID, this); m_pluginAPI->registerRxChannel(SSBDemodGUI::m_channelID, this);
} }
PluginInstanceGUI* SSBPlugin::createRxChannel(const QString& channelName, DeviceSourceAPI *deviceAPI) PluginInstanceGUI* SSBPlugin::createRxChannel(const QString& channelName, DeviceUISet *deviceUISet)
{ {
if(channelName == SSBDemodGUI::m_channelID) if(channelName == SSBDemodGUI::m_channelID)
{ {
SSBDemodGUI* gui = SSBDemodGUI::create(m_pluginAPI, deviceAPI); SSBDemodGUI* gui = SSBDemodGUI::create(m_pluginAPI, deviceUISet);
return gui; return gui;
} else { } else {
return NULL; return NULL;
} }
} }
void SSBPlugin::createInstanceSSB(DeviceSourceAPI *deviceAPI) void SSBPlugin::createInstanceSSB(DeviceUISet *deviceUISet)
{ {
SSBDemodGUI::create(m_pluginAPI, deviceAPI); SSBDemodGUI::create(m_pluginAPI, deviceUISet);
} }

View File

@ -4,7 +4,7 @@
#include <QObject> #include <QObject>
#include "plugin/plugininterface.h" #include "plugin/plugininterface.h"
class DeviceSourceAPI; class DeviceUISet;
class SSBPlugin : public QObject, PluginInterface { class SSBPlugin : public QObject, PluginInterface {
Q_OBJECT Q_OBJECT
@ -17,7 +17,7 @@ public:
const PluginDescriptor& getPluginDescriptor() const; const PluginDescriptor& getPluginDescriptor() const;
void initPlugin(PluginAPI* pluginAPI); void initPlugin(PluginAPI* pluginAPI);
PluginInstanceGUI* createRxChannel(const QString& channelName, DeviceSourceAPI *deviceAPI); PluginInstanceGUI* createRxChannel(const QString& channelName, DeviceUISet *deviceUISet);
private: private:
static const PluginDescriptor m_pluginDescriptor; static const PluginDescriptor m_pluginDescriptor;
@ -25,7 +25,7 @@ private:
PluginAPI* m_pluginAPI; PluginAPI* m_pluginAPI;
private slots: private slots:
void createInstanceSSB(DeviceSourceAPI *deviceAPI); void createInstanceSSB(DeviceUISet *deviceUISet);
}; };
#endif // INCLUDE_SSBPLUGIN_H #endif // INCLUDE_SSBPLUGIN_H

View File

@ -1,6 +1,7 @@
#include "wfmdemodgui.h" #include "wfmdemodgui.h"
#include <device/devicesourceapi.h> #include <device/devicesourceapi.h>
#include "device/deviceuiset.h"
#include <dsp/downchannelizer.h> #include <dsp/downchannelizer.h>
#include <QDockWidget> #include <QDockWidget>
#include <QMainWindow> #include <QMainWindow>
@ -19,9 +20,9 @@
const QString WFMDemodGUI::m_channelID = "de.maintech.sdrangelove.channel.wfm"; const QString WFMDemodGUI::m_channelID = "de.maintech.sdrangelove.channel.wfm";
WFMDemodGUI* WFMDemodGUI::create(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI) WFMDemodGUI* WFMDemodGUI::create(PluginAPI* pluginAPI, DeviceUISet *deviceUISet)
{ {
WFMDemodGUI* gui = new WFMDemodGUI(pluginAPI, deviceAPI); WFMDemodGUI* gui = new WFMDemodGUI(pluginAPI, deviceUISet);
return gui; return gui;
} }
@ -143,11 +144,11 @@ void WFMDemodGUI::onMenuDialogCalled(const QPoint &p)
dialog.exec(); dialog.exec();
} }
WFMDemodGUI::WFMDemodGUI(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI, QWidget* parent) : WFMDemodGUI::WFMDemodGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, QWidget* parent) :
RollupWidget(parent), RollupWidget(parent),
ui(new Ui::WFMDemodGUI), ui(new Ui::WFMDemodGUI),
m_pluginAPI(pluginAPI), m_pluginAPI(pluginAPI),
m_deviceAPI(deviceAPI), m_deviceUISet(deviceUISet),
m_channelMarker(this), m_channelMarker(this),
m_basicSettingsShown(false), m_basicSettingsShown(false),
m_channelPowerDbAvg(20,0) m_channelPowerDbAvg(20,0)
@ -171,7 +172,7 @@ WFMDemodGUI::WFMDemodGUI(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI, QWidg
connect(this, SIGNAL(widgetRolled(QWidget*,bool)), this, SLOT(onWidgetRolled(QWidget*,bool))); connect(this, SIGNAL(widgetRolled(QWidget*,bool)), this, SLOT(onWidgetRolled(QWidget*,bool)));
connect(this, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(onMenuDialogCalled(const QPoint &))); connect(this, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(onMenuDialogCalled(const QPoint &)));
m_wfmDemod = new WFMDemod(m_deviceAPI); m_wfmDemod = new WFMDemod(m_deviceUISet->m_deviceSourceAPI);
connect(&MainWindow::getInstance()->getMasterTimer(), SIGNAL(timeout()), this, SLOT(tick())); connect(&MainWindow::getInstance()->getMasterTimer(), SIGNAL(timeout()), this, SLOT(tick()));
@ -184,9 +185,9 @@ WFMDemodGUI::WFMDemodGUI(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI, QWidg
connect(&m_channelMarker, SIGNAL(changed()), this, SLOT(channelMarkerChanged())); connect(&m_channelMarker, SIGNAL(changed()), this, SLOT(channelMarkerChanged()));
m_deviceAPI->registerChannelInstance(m_channelID, this); m_deviceUISet->registerChannelInstance(m_channelID, this);
m_deviceAPI->addChannelMarker(&m_channelMarker); m_deviceUISet->addChannelMarker(&m_channelMarker);
m_deviceAPI->addRollupWidget(this); m_deviceUISet->addRollupWidget(this);
m_settings.setChannelMarker(&m_channelMarker); m_settings.setChannelMarker(&m_channelMarker);
@ -196,7 +197,7 @@ WFMDemodGUI::WFMDemodGUI(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI, QWidg
WFMDemodGUI::~WFMDemodGUI() WFMDemodGUI::~WFMDemodGUI()
{ {
m_deviceAPI->removeChannelInstance(this); m_deviceUISet->removeChannelInstance(this);
delete m_wfmDemod; delete m_wfmDemod;
//delete m_channelMarker; //delete m_channelMarker;
delete ui; delete ui;

View File

@ -10,7 +10,7 @@
#include "wfmdemodsettings.h" #include "wfmdemodsettings.h"
class PluginAPI; class PluginAPI;
class DeviceSourceAPI; class DeviceUISet;
class WFMDemod; class WFMDemod;
@ -22,7 +22,7 @@ class WFMDemodGUI : public RollupWidget, public PluginInstanceGUI {
Q_OBJECT Q_OBJECT
public: public:
static WFMDemodGUI* create(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI); static WFMDemodGUI* create(PluginAPI* pluginAPI, DeviceUISet *deviceUISet);
virtual void destroy(); virtual void destroy();
void setName(const QString& name); void setName(const QString& name);
@ -53,7 +53,7 @@ private slots:
private: private:
Ui::WFMDemodGUI* ui; Ui::WFMDemodGUI* ui;
PluginAPI* m_pluginAPI; PluginAPI* m_pluginAPI;
DeviceSourceAPI* m_deviceAPI; DeviceUISet* m_deviceUISet;
ChannelMarker m_channelMarker; ChannelMarker m_channelMarker;
WFMDemodSettings m_settings; WFMDemodSettings m_settings;
bool m_basicSettingsShown; bool m_basicSettingsShown;
@ -65,7 +65,7 @@ private:
MovingAverage<double> m_channelPowerDbAvg; MovingAverage<double> m_channelPowerDbAvg;
MessageQueue m_inputMessageQueue; MessageQueue m_inputMessageQueue;
explicit WFMDemodGUI(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI, QWidget* parent = NULL); explicit WFMDemodGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, QWidget* parent = 0);
virtual ~WFMDemodGUI(); virtual ~WFMDemodGUI();
void blockApplySettings(bool block); void blockApplySettings(bool block);

View File

@ -7,7 +7,7 @@
const PluginDescriptor WFMPlugin::m_pluginDescriptor = { const PluginDescriptor WFMPlugin::m_pluginDescriptor = {
QString("WFM Demodulator"), QString("WFM Demodulator"),
QString("3.7.4"), QString("3.7.9"),
QString("(c) Edouard Griffiths, F4EXB"), QString("(c) Edouard Griffiths, F4EXB"),
QString("https://github.com/f4exb/sdrangel"), QString("https://github.com/f4exb/sdrangel"),
true, true,
@ -33,18 +33,18 @@ void WFMPlugin::initPlugin(PluginAPI* pluginAPI)
m_pluginAPI->registerRxChannel(WFMDemodGUI::m_channelID, this); m_pluginAPI->registerRxChannel(WFMDemodGUI::m_channelID, this);
} }
PluginInstanceGUI* WFMPlugin::createRxChannel(const QString& channelName, DeviceSourceAPI *deviceAPI) PluginInstanceGUI* WFMPlugin::createRxChannel(const QString& channelName, DeviceUISet *deviceUISet)
{ {
if(channelName == WFMDemodGUI::m_channelID) if(channelName == WFMDemodGUI::m_channelID)
{ {
WFMDemodGUI* gui = WFMDemodGUI::create(m_pluginAPI, deviceAPI); WFMDemodGUI* gui = WFMDemodGUI::create(m_pluginAPI, deviceUISet);
return gui; return gui;
} else { } else {
return NULL; return NULL;
} }
} }
void WFMPlugin::createInstanceWFM(DeviceSourceAPI *deviceAPI) void WFMPlugin::createInstanceWFM(DeviceUISet *deviceUISet)
{ {
WFMDemodGUI::create(m_pluginAPI, deviceAPI); WFMDemodGUI::create(m_pluginAPI, deviceUISet);
} }

View File

@ -4,7 +4,7 @@
#include <QObject> #include <QObject>
#include "plugin/plugininterface.h" #include "plugin/plugininterface.h"
class DeviceSourceAPI; class DeviceUISet;
class WFMPlugin : public QObject, PluginInterface { class WFMPlugin : public QObject, PluginInterface {
Q_OBJECT Q_OBJECT
@ -17,7 +17,7 @@ public:
const PluginDescriptor& getPluginDescriptor() const; const PluginDescriptor& getPluginDescriptor() const;
void initPlugin(PluginAPI* pluginAPI); void initPlugin(PluginAPI* pluginAPI);
PluginInstanceGUI* createRxChannel(const QString& channelName, DeviceSourceAPI *deviceAPI); PluginInstanceGUI* createRxChannel(const QString& channelName, DeviceUISet *deviceUISet);
private: private:
static const PluginDescriptor m_pluginDescriptor; static const PluginDescriptor m_pluginDescriptor;
@ -25,7 +25,7 @@ private:
PluginAPI* m_pluginAPI; PluginAPI* m_pluginAPI;
private slots: private slots:
void createInstanceWFM(DeviceSourceAPI *deviceAPI); void createInstanceWFM(DeviceUISet *deviceUISet);
}; };
#endif // INCLUDE_WFMPLUGIN_H #endif // INCLUDE_WFMPLUGIN_H

View File

@ -1,6 +1,7 @@
#include "tcpsrcgui.h" #include "tcpsrcgui.h"
#include <device/devicesourceapi.h> #include <device/devicesourceapi.h>
#include "device/deviceuiset.h"
#include "plugin/pluginapi.h" #include "plugin/pluginapi.h"
#include "dsp/spectrumvis.h" #include "dsp/spectrumvis.h"
#include "dsp/dspengine.h" #include "dsp/dspengine.h"
@ -13,9 +14,9 @@
const QString TCPSrcGUI::m_channelID = "sdrangel.channel.tcpsrc"; const QString TCPSrcGUI::m_channelID = "sdrangel.channel.tcpsrc";
TCPSrcGUI* TCPSrcGUI::create(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI) TCPSrcGUI* TCPSrcGUI::create(PluginAPI* pluginAPI, DeviceUISet *deviceUISet)
{ {
TCPSrcGUI* gui = new TCPSrcGUI(pluginAPI, deviceAPI); TCPSrcGUI* gui = new TCPSrcGUI(pluginAPI, deviceUISet);
return gui; return gui;
} }
@ -121,11 +122,11 @@ void TCPSrcGUI::tick()
ui->channelPower->setText(QString::number(m_channelPowerDbAvg.average(), 'f', 1)); ui->channelPower->setText(QString::number(m_channelPowerDbAvg.average(), 'f', 1));
} }
TCPSrcGUI::TCPSrcGUI(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI, QWidget* parent) : TCPSrcGUI::TCPSrcGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, QWidget* parent) :
RollupWidget(parent), RollupWidget(parent),
ui(new Ui::TCPSrcGUI), ui(new Ui::TCPSrcGUI),
m_pluginAPI(pluginAPI), m_pluginAPI(pluginAPI),
m_deviceAPI(deviceAPI), m_deviceUISet(deviceUISet),
m_tcpSrc(0), m_tcpSrc(0),
m_channelMarker(this), m_channelMarker(this),
m_channelPowerDbAvg(40,0), m_channelPowerDbAvg(40,0),
@ -140,7 +141,7 @@ TCPSrcGUI::TCPSrcGUI(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI, QWidget*
setAttribute(Qt::WA_DeleteOnClose, true); setAttribute(Qt::WA_DeleteOnClose, true);
m_spectrumVis = new SpectrumVis(ui->glSpectrum); m_spectrumVis = new SpectrumVis(ui->glSpectrum);
m_tcpSrc = new TCPSrc(m_deviceAPI); m_tcpSrc = new TCPSrc(m_deviceUISet->m_deviceSourceAPI);
m_tcpSrc->setSpectrum(m_spectrumVis); m_tcpSrc->setSpectrum(m_spectrumVis);
ui->deltaFrequencyLabel->setText(QString("%1f").arg(QChar(0x94, 0x03))); ui->deltaFrequencyLabel->setText(QString("%1f").arg(QChar(0x94, 0x03)));
@ -164,9 +165,9 @@ TCPSrcGUI::TCPSrcGUI(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI, QWidget*
connect(&m_channelMarker, SIGNAL(changed()), this, SLOT(channelMarkerChanged())); connect(&m_channelMarker, SIGNAL(changed()), this, SLOT(channelMarkerChanged()));
m_deviceAPI->registerChannelInstance(m_channelID, this); m_deviceUISet->registerChannelInstance(m_channelID, this);
m_deviceAPI->addChannelMarker(&m_channelMarker); m_deviceUISet->addChannelMarker(&m_channelMarker);
m_deviceAPI->addRollupWidget(this); m_deviceUISet->addRollupWidget(this);
ui->spectrumGUI->setBuddies(m_spectrumVis->getInputMessageQueue(), m_spectrumVis, ui->glSpectrum); ui->spectrumGUI->setBuddies(m_spectrumVis->getInputMessageQueue(), m_spectrumVis, ui->glSpectrum);
@ -178,7 +179,7 @@ TCPSrcGUI::TCPSrcGUI(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI, QWidget*
TCPSrcGUI::~TCPSrcGUI() TCPSrcGUI::~TCPSrcGUI()
{ {
m_deviceAPI->removeChannelInstance(this); m_deviceUISet->removeChannelInstance(this);
delete m_tcpSrc; delete m_tcpSrc;
delete m_spectrumVis; delete m_spectrumVis;
delete ui; delete ui;

View File

@ -13,7 +13,7 @@
#include "tcpsrcsettings.h" #include "tcpsrcsettings.h"
class PluginAPI; class PluginAPI;
class DeviceSourceAPI; class DeviceUISet;
class TCPSrc; class TCPSrc;
class SpectrumVis; class SpectrumVis;
@ -25,7 +25,7 @@ class TCPSrcGUI : public RollupWidget, public PluginInstanceGUI {
Q_OBJECT Q_OBJECT
public: public:
static TCPSrcGUI* create(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI); static TCPSrcGUI* create(PluginAPI* pluginAPI, DeviceUISet *deviceUISet);
virtual void destroy(); virtual void destroy();
void setName(const QString& name); void setName(const QString& name);
@ -57,7 +57,7 @@ private slots:
private: private:
Ui::TCPSrcGUI* ui; Ui::TCPSrcGUI* ui;
PluginAPI* m_pluginAPI; PluginAPI* m_pluginAPI;
DeviceSourceAPI* m_deviceAPI; DeviceUISet* m_deviceUISet;
TCPSrc* m_tcpSrc; TCPSrc* m_tcpSrc;
ChannelMarker m_channelMarker; ChannelMarker m_channelMarker;
MovingAverage<double> m_channelPowerDbAvg; MovingAverage<double> m_channelPowerDbAvg;
@ -77,7 +77,7 @@ private:
SpectrumVis* m_spectrumVis; SpectrumVis* m_spectrumVis;
MessageQueue m_inputMessageQueue; MessageQueue m_inputMessageQueue;
explicit TCPSrcGUI(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI, QWidget* parent = 0); explicit TCPSrcGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, QWidget* parent = 0);
virtual ~TCPSrcGUI(); virtual ~TCPSrcGUI();
void blockApplySettings(bool block); void blockApplySettings(bool block);

View File

@ -1,13 +1,13 @@
#include "../../channelrx/tcpsrc/tcpsrcplugin.h" #include "tcpsrcplugin.h"
#include <QtPlugin> #include <QtPlugin>
#include "plugin/pluginapi.h" #include "plugin/pluginapi.h"
#include "../../channelrx/tcpsrc/tcpsrcgui.h" #include "tcpsrcgui.h"
const PluginDescriptor TCPSrcPlugin::m_pluginDescriptor = { const PluginDescriptor TCPSrcPlugin::m_pluginDescriptor = {
QString("TCP Channel Source"), QString("TCP Channel Source"),
QString("3.7.4"), QString("3.7.9"),
QString("(c) Edouard Griffiths, F4EXB"), QString("(c) Edouard Griffiths, F4EXB"),
QString("https://github.com/f4exb/sdrangel"), QString("https://github.com/f4exb/sdrangel"),
true, true,
@ -33,11 +33,11 @@ void TCPSrcPlugin::initPlugin(PluginAPI* pluginAPI)
m_pluginAPI->registerRxChannel(TCPSrcGUI::m_channelID, this); m_pluginAPI->registerRxChannel(TCPSrcGUI::m_channelID, this);
} }
PluginInstanceGUI* TCPSrcPlugin::createRxChannel(const QString& channelName, DeviceSourceAPI *deviceAPI) PluginInstanceGUI* TCPSrcPlugin::createRxChannel(const QString& channelName, DeviceUISet *deviceUISet)
{ {
if(channelName == TCPSrcGUI::m_channelID) if(channelName == TCPSrcGUI::m_channelID)
{ {
TCPSrcGUI* gui = TCPSrcGUI::create(m_pluginAPI, deviceAPI); TCPSrcGUI* gui = TCPSrcGUI::create(m_pluginAPI, deviceUISet);
// deviceAPI->registerChannelInstance("sdrangel.channel.tcpsrc", gui); // deviceAPI->registerChannelInstance("sdrangel.channel.tcpsrc", gui);
// m_pluginAPI->addChannelRollup(gui); // m_pluginAPI->addChannelRollup(gui);
return gui; return gui;
@ -46,9 +46,9 @@ PluginInstanceGUI* TCPSrcPlugin::createRxChannel(const QString& channelName, Dev
} }
} }
void TCPSrcPlugin::createInstanceTCPSrc(DeviceSourceAPI *deviceAPI) void TCPSrcPlugin::createInstanceTCPSrc(DeviceUISet *deviceUISet)
{ {
TCPSrcGUI::create(m_pluginAPI, deviceAPI); TCPSrcGUI::create(m_pluginAPI, deviceUISet);
// deviceAPI->registerChannelInstance("sdrangel.channel.tcpsrc", gui); // deviceAPI->registerChannelInstance("sdrangel.channel.tcpsrc", gui);
// m_pluginAPI->addChannelRollup(gui); // m_pluginAPI->addChannelRollup(gui);
} }

View File

@ -4,7 +4,7 @@
#include <QObject> #include <QObject>
#include "plugin/plugininterface.h" #include "plugin/plugininterface.h"
class DeviceSourceAPI; class DeviceUISet;
class TCPSrcPlugin : public QObject, PluginInterface { class TCPSrcPlugin : public QObject, PluginInterface {
Q_OBJECT Q_OBJECT
@ -17,7 +17,7 @@ public:
const PluginDescriptor& getPluginDescriptor() const; const PluginDescriptor& getPluginDescriptor() const;
void initPlugin(PluginAPI* pluginAPI); void initPlugin(PluginAPI* pluginAPI);
PluginInstanceGUI* createRxChannel(const QString& channelName, DeviceSourceAPI *deviceAPI); PluginInstanceGUI* createRxChannel(const QString& channelName, DeviceUISet *deviceUISet);
private: private:
static const PluginDescriptor m_pluginDescriptor; static const PluginDescriptor m_pluginDescriptor;
@ -25,7 +25,7 @@ private:
PluginAPI* m_pluginAPI; PluginAPI* m_pluginAPI;
private slots: private slots:
void createInstanceTCPSrc(DeviceSourceAPI *deviceAPI); void createInstanceTCPSrc(DeviceUISet *deviceUISet);
}; };
#endif // INCLUDE_TCPSRCPLUGIN_H #endif // INCLUDE_TCPSRCPLUGIN_H

View File

@ -18,6 +18,7 @@
#include "udpsrcgui.h" #include "udpsrcgui.h"
#include "device/devicesourceapi.h" #include "device/devicesourceapi.h"
#include "device/deviceuiset.h"
#include "plugin/pluginapi.h" #include "plugin/pluginapi.h"
#include "dsp/spectrumvis.h" #include "dsp/spectrumvis.h"
#include "dsp/dspengine.h" #include "dsp/dspengine.h"
@ -31,9 +32,9 @@
const QString UDPSrcGUI::m_channelID = "sdrangel.channel.udpsrc"; const QString UDPSrcGUI::m_channelID = "sdrangel.channel.udpsrc";
UDPSrcGUI* UDPSrcGUI::create(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI) UDPSrcGUI* UDPSrcGUI::create(PluginAPI* pluginAPI, DeviceUISet *deviceUISet)
{ {
UDPSrcGUI* gui = new UDPSrcGUI(pluginAPI, deviceAPI); UDPSrcGUI* gui = new UDPSrcGUI(pluginAPI, deviceUISet);
return gui; return gui;
} }
@ -131,11 +132,11 @@ void UDPSrcGUI::tick()
m_tickCount++; m_tickCount++;
} }
UDPSrcGUI::UDPSrcGUI(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI, QWidget* parent) : UDPSrcGUI::UDPSrcGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, QWidget* parent) :
RollupWidget(parent), RollupWidget(parent),
ui(new Ui::UDPSrcGUI), ui(new Ui::UDPSrcGUI),
m_pluginAPI(pluginAPI), m_pluginAPI(pluginAPI),
m_deviceAPI(deviceAPI), m_deviceUISet(deviceUISet),
m_udpSrc(0), m_udpSrc(0),
m_channelMarker(this), m_channelMarker(this),
m_channelPowerAvg(4, 1e-10), m_channelPowerAvg(4, 1e-10),
@ -150,7 +151,7 @@ UDPSrcGUI::UDPSrcGUI(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI, QWidget*
setAttribute(Qt::WA_DeleteOnClose, true); setAttribute(Qt::WA_DeleteOnClose, true);
m_spectrumVis = new SpectrumVis(ui->glSpectrum); m_spectrumVis = new SpectrumVis(ui->glSpectrum);
m_udpSrc = new UDPSrc(m_deviceAPI); m_udpSrc = new UDPSrc(m_deviceUISet->m_deviceSourceAPI);
m_udpSrc->setSpectrum(m_spectrumVis); m_udpSrc->setSpectrum(m_spectrumVis);
ui->fmDeviation->setEnabled(false); ui->fmDeviation->setEnabled(false);
@ -184,9 +185,9 @@ UDPSrcGUI::UDPSrcGUI(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI, QWidget*
connect(&m_channelMarker, SIGNAL(changed()), this, SLOT(channelMarkerChanged())); connect(&m_channelMarker, SIGNAL(changed()), this, SLOT(channelMarkerChanged()));
m_deviceAPI->registerChannelInstance(m_channelID, this); m_deviceUISet->registerChannelInstance(m_channelID, this);
m_deviceAPI->addChannelMarker(&m_channelMarker); m_deviceUISet->addChannelMarker(&m_channelMarker);
m_deviceAPI->addRollupWidget(this); m_deviceUISet->addRollupWidget(this);
ui->spectrumGUI->setBuddies(m_spectrumVis->getInputMessageQueue(), m_spectrumVis, ui->glSpectrum); ui->spectrumGUI->setBuddies(m_spectrumVis->getInputMessageQueue(), m_spectrumVis, ui->glSpectrum);
@ -197,7 +198,7 @@ UDPSrcGUI::UDPSrcGUI(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI, QWidget*
UDPSrcGUI::~UDPSrcGUI() UDPSrcGUI::~UDPSrcGUI()
{ {
m_deviceAPI->removeChannelInstance(this); m_deviceUISet->removeChannelInstance(this);
delete m_udpSrc; delete m_udpSrc;
delete m_spectrumVis; delete m_spectrumVis;
delete ui; delete ui;

View File

@ -29,7 +29,7 @@
#include "udpsrcsettings.h" #include "udpsrcsettings.h"
class PluginAPI; class PluginAPI;
class DeviceSourceAPI; class DeviceUISet;
class UDPSrc; class UDPSrc;
class SpectrumVis; class SpectrumVis;
@ -41,7 +41,7 @@ class UDPSrcGUI : public RollupWidget, public PluginInstanceGUI {
Q_OBJECT Q_OBJECT
public: public:
static UDPSrcGUI* create(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI); static UDPSrcGUI* create(PluginAPI* pluginAPI, DeviceUISet *deviceUISet);
virtual void destroy(); virtual void destroy();
void setName(const QString& name); void setName(const QString& name);
@ -79,7 +79,7 @@ private slots:
private: private:
Ui::UDPSrcGUI* ui; Ui::UDPSrcGUI* ui;
PluginAPI* m_pluginAPI; PluginAPI* m_pluginAPI;
DeviceSourceAPI* m_deviceAPI; DeviceUISet* m_deviceUISet;
UDPSrc* m_udpSrc; UDPSrc* m_udpSrc;
UDPSrcSettings m_settings; UDPSrcSettings m_settings;
ChannelMarker m_channelMarker; ChannelMarker m_channelMarker;
@ -95,7 +95,7 @@ private:
// RF path // RF path
SpectrumVis* m_spectrumVis; SpectrumVis* m_spectrumVis;
explicit UDPSrcGUI(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI, QWidget* parent = 0); explicit UDPSrcGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, QWidget* parent = 0);
virtual ~UDPSrcGUI(); virtual ~UDPSrcGUI();
void blockApplySettings(bool block); void blockApplySettings(bool block);

View File

@ -24,7 +24,7 @@
const PluginDescriptor UDPSrcPlugin::m_pluginDescriptor = { const PluginDescriptor UDPSrcPlugin::m_pluginDescriptor = {
QString("UDP Channel Source"), QString("UDP Channel Source"),
QString("3.7.4"), QString("3.7.9"),
QString("(c) Edouard Griffiths, F4EXB"), QString("(c) Edouard Griffiths, F4EXB"),
QString("https://github.com/f4exb/sdrangel"), QString("https://github.com/f4exb/sdrangel"),
true, true,
@ -50,11 +50,11 @@ void UDPSrcPlugin::initPlugin(PluginAPI* pluginAPI)
m_pluginAPI->registerRxChannel(UDPSrcGUI::m_channelID, this); m_pluginAPI->registerRxChannel(UDPSrcGUI::m_channelID, this);
} }
PluginInstanceGUI* UDPSrcPlugin::createRxChannel(const QString& channelName, DeviceSourceAPI *deviceAPI) PluginInstanceGUI* UDPSrcPlugin::createRxChannel(const QString& channelName, DeviceUISet *deviceUISet)
{ {
if(channelName == UDPSrcGUI::m_channelID) if(channelName == UDPSrcGUI::m_channelID)
{ {
UDPSrcGUI* gui = UDPSrcGUI::create(m_pluginAPI, deviceAPI); UDPSrcGUI* gui = UDPSrcGUI::create(m_pluginAPI, deviceUISet);
// deviceAPI->registerChannelInstance("sdrangel.channel.udpsrc", gui); // deviceAPI->registerChannelInstance("sdrangel.channel.udpsrc", gui);
// m_pluginAPI->addChannelRollup(gui); // m_pluginAPI->addChannelRollup(gui);
return gui; return gui;
@ -63,9 +63,9 @@ PluginInstanceGUI* UDPSrcPlugin::createRxChannel(const QString& channelName, Dev
} }
} }
void UDPSrcPlugin::createInstanceUDPSrc(DeviceSourceAPI *deviceAPI) void UDPSrcPlugin::createInstanceUDPSrc(DeviceUISet *deviceUISet)
{ {
UDPSrcGUI::create(m_pluginAPI, deviceAPI); UDPSrcGUI::create(m_pluginAPI, deviceUISet);
// deviceAPI->registerChannelInstance("sdrangel.channel.udpsrc", gui); // deviceAPI->registerChannelInstance("sdrangel.channel.udpsrc", gui);
// m_pluginAPI->addChannelRollup(gui); // m_pluginAPI->addChannelRollup(gui);
} }

View File

@ -21,7 +21,7 @@
#include <QObject> #include <QObject>
#include "plugin/plugininterface.h" #include "plugin/plugininterface.h"
class DeviceSourceAPI; class DeviceUISet;
class UDPSrcPlugin : public QObject, PluginInterface { class UDPSrcPlugin : public QObject, PluginInterface {
Q_OBJECT Q_OBJECT
@ -34,7 +34,7 @@ public:
const PluginDescriptor& getPluginDescriptor() const; const PluginDescriptor& getPluginDescriptor() const;
void initPlugin(PluginAPI* pluginAPI); void initPlugin(PluginAPI* pluginAPI);
PluginInstanceGUI* createRxChannel(const QString& channelName, DeviceSourceAPI *deviceAPI); PluginInstanceGUI* createRxChannel(const QString& channelName, DeviceUISet *deviceUISet);
private: private:
static const PluginDescriptor m_pluginDescriptor; static const PluginDescriptor m_pluginDescriptor;
@ -42,7 +42,7 @@ private:
PluginAPI* m_pluginAPI; PluginAPI* m_pluginAPI;
private slots: private slots:
void createInstanceUDPSrc(DeviceSourceAPI *deviceAPI); void createInstanceUDPSrc(DeviceUISet *deviceUISet);
}; };
#endif // INCLUDE_UDPSRCPLUGIN_H #endif // INCLUDE_UDPSRCPLUGIN_H

View File

@ -1025,11 +1025,7 @@ void MainWindow::on_channel_addClicked(bool checked __attribute__((unused)))
if (deviceUI->m_deviceSourceEngine) // source device => Rx channels if (deviceUI->m_deviceSourceEngine) // source device => Rx channels
{ {
qDebug("MainWindow::on_channel_addClicked: channel name: %s", qPrintable(m_pluginManager->getRxChannelInstanceName(deviceUI->m_samplingDeviceControl->getChannelSelector()->currentIndex()))); qDebug("MainWindow::on_channel_addClicked: channel name: %s", qPrintable(m_pluginManager->getRxChannelInstanceName(deviceUI->m_samplingDeviceControl->getChannelSelector()->currentIndex())));
if (m_pluginManager->getRxChannelInstanceName(deviceUI->m_samplingDeviceControl->getChannelSelector()->currentIndex()) == "org.f4exb.sdrangelove.channel.chanalyzer") {
m_pluginManager->createRxChannelInstance(deviceUI->m_samplingDeviceControl->getChannelSelector()->currentIndex(), deviceUI); m_pluginManager->createRxChannelInstance(deviceUI->m_samplingDeviceControl->getChannelSelector()->currentIndex(), deviceUI);
} else {
m_pluginManager->createRxChannelInstance(deviceUI->m_samplingDeviceControl->getChannelSelector()->currentIndex(), deviceUI->m_deviceSourceAPI);
}
} }
else if (deviceUI->m_deviceSinkEngine) // sink device => Tx channels else if (deviceUI->m_deviceSinkEngine) // sink device => Tx channels
{ {