mirror of
https://github.com/f4exb/sdrangel.git
synced 2024-11-26 09:48:45 -05:00
Use the modulator constructor separated from the modulator GUI constructor
This commit is contained in:
parent
9c68da780e
commit
f2b53fe3aa
@ -34,14 +34,15 @@
|
|||||||
#include "dsp/dspengine.h"
|
#include "dsp/dspengine.h"
|
||||||
#include "mainwindow.h"
|
#include "mainwindow.h"
|
||||||
|
|
||||||
AMModGUI* AMModGUI::create(PluginAPI* pluginAPI, DeviceUISet *deviceUISet)
|
AMModGUI* AMModGUI::create(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, BasebandSampleSource *channelTx)
|
||||||
{
|
{
|
||||||
AMModGUI* gui = new AMModGUI(pluginAPI, deviceUISet);
|
AMModGUI* gui = new AMModGUI(pluginAPI, deviceUISet, channelTx);
|
||||||
return gui;
|
return gui;
|
||||||
}
|
}
|
||||||
|
|
||||||
void AMModGUI::destroy()
|
void AMModGUI::destroy()
|
||||||
{
|
{
|
||||||
|
delete this;
|
||||||
}
|
}
|
||||||
|
|
||||||
void AMModGUI::setName(const QString& name)
|
void AMModGUI::setName(const QString& name)
|
||||||
@ -266,7 +267,7 @@ void AMModGUI::onMenuDoubleClicked()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
AMModGUI::AMModGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, QWidget* parent) :
|
AMModGUI::AMModGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, BasebandSampleSource *channelTx, QWidget* parent) :
|
||||||
RollupWidget(parent),
|
RollupWidget(parent),
|
||||||
ui(new Ui::AMModGUI),
|
ui(new Ui::AMModGUI),
|
||||||
m_pluginAPI(pluginAPI),
|
m_pluginAPI(pluginAPI),
|
||||||
@ -287,7 +288,7 @@ AMModGUI::AMModGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, QWidget* pare
|
|||||||
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(menuDoubleClickEvent()), this, SLOT(onMenuDoubleClicked()));
|
connect(this, SIGNAL(menuDoubleClickEvent()), this, SLOT(onMenuDoubleClicked()));
|
||||||
|
|
||||||
m_amMod = new AMMod(m_deviceUISet->m_deviceSinkAPI);
|
m_amMod = (AMMod*) channelTx; //new AMMod(m_deviceUISet->m_deviceSinkAPI);
|
||||||
m_amMod->setMessageQueueToGUI(getInputMessageQueue());
|
m_amMod->setMessageQueueToGUI(getInputMessageQueue());
|
||||||
|
|
||||||
connect(&MainWindow::getInstance()->getMasterTimer(), SIGNAL(timeout()), this, SLOT(tick()));
|
connect(&MainWindow::getInstance()->getMasterTimer(), SIGNAL(timeout()), this, SLOT(tick()));
|
||||||
@ -326,7 +327,7 @@ AMModGUI::AMModGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, QWidget* pare
|
|||||||
AMModGUI::~AMModGUI()
|
AMModGUI::~AMModGUI()
|
||||||
{
|
{
|
||||||
m_deviceUISet->removeTxChannelInstance(this);
|
m_deviceUISet->removeTxChannelInstance(this);
|
||||||
delete m_amMod;
|
delete m_amMod; // TODO: check this: when the GUI closes it has to delete the modulator
|
||||||
delete ui;
|
delete ui;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -30,6 +30,7 @@ class PluginAPI;
|
|||||||
class DeviceUISet;
|
class DeviceUISet;
|
||||||
|
|
||||||
class AMMod;
|
class AMMod;
|
||||||
|
class BasebandSampleSource;
|
||||||
|
|
||||||
namespace Ui {
|
namespace Ui {
|
||||||
class AMModGUI;
|
class AMModGUI;
|
||||||
@ -39,7 +40,7 @@ class AMModGUI : public RollupWidget, public PluginInstanceGUI {
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static AMModGUI* create(PluginAPI* pluginAPI, DeviceUISet *deviceUISet);
|
static AMModGUI* create(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, BasebandSampleSource *channelTx);
|
||||||
virtual void destroy();
|
virtual void destroy();
|
||||||
|
|
||||||
void setName(const QString& name);
|
void setName(const QString& name);
|
||||||
@ -99,7 +100,7 @@ private:
|
|||||||
AMMod::AMModInputAF m_modAFInput;
|
AMMod::AMModInputAF m_modAFInput;
|
||||||
MessageQueue m_inputMessageQueue;
|
MessageQueue m_inputMessageQueue;
|
||||||
|
|
||||||
explicit AMModGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, QWidget* parent = 0);
|
explicit AMModGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, BasebandSampleSource *channelTx, QWidget* parent = 0);
|
||||||
virtual ~AMModGUI();
|
virtual ~AMModGUI();
|
||||||
|
|
||||||
void blockApplySettings(bool block);
|
void blockApplySettings(bool block);
|
||||||
|
@ -50,11 +50,11 @@ void AMModPlugin::initPlugin(PluginAPI* pluginAPI)
|
|||||||
m_pluginAPI->registerTxChannel(AMMod::m_channelID, this);
|
m_pluginAPI->registerTxChannel(AMMod::m_channelID, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
PluginInstanceGUI* AMModPlugin::createTxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet)
|
PluginInstanceGUI* AMModPlugin::createTxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSource *txChannel)
|
||||||
{
|
{
|
||||||
if(channelName == AMMod::m_channelID)
|
if(channelName == AMMod::m_channelID)
|
||||||
{
|
{
|
||||||
AMModGUI* gui = AMModGUI::create(m_pluginAPI, deviceUISet);
|
AMModGUI* gui = AMModGUI::create(m_pluginAPI, deviceUISet, txChannel);
|
||||||
return gui;
|
return gui;
|
||||||
} else {
|
} else {
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -34,7 +34,7 @@ public:
|
|||||||
const PluginDescriptor& getPluginDescriptor() const;
|
const PluginDescriptor& getPluginDescriptor() const;
|
||||||
void initPlugin(PluginAPI* pluginAPI);
|
void initPlugin(PluginAPI* pluginAPI);
|
||||||
|
|
||||||
PluginInstanceGUI* createTxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet);
|
PluginInstanceGUI* createTxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSource *txChannel);
|
||||||
BasebandSampleSource* createTxChannel(const QString& channelName, DeviceSinkAPI *deviceAPI);
|
BasebandSampleSource* createTxChannel(const QString& channelName, DeviceSinkAPI *deviceAPI);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@ -35,14 +35,15 @@
|
|||||||
#include "ui_atvmodgui.h"
|
#include "ui_atvmodgui.h"
|
||||||
#include "atvmodgui.h"
|
#include "atvmodgui.h"
|
||||||
|
|
||||||
ATVModGUI* ATVModGUI::create(PluginAPI* pluginAPI, DeviceUISet *deviceUISet)
|
ATVModGUI* ATVModGUI::create(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, BasebandSampleSource *channelTx)
|
||||||
{
|
{
|
||||||
ATVModGUI* gui = new ATVModGUI(pluginAPI, deviceUISet);
|
ATVModGUI* gui = new ATVModGUI(pluginAPI, deviceUISet, channelTx);
|
||||||
return gui;
|
return gui;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ATVModGUI::destroy()
|
void ATVModGUI::destroy()
|
||||||
{
|
{
|
||||||
|
delete this;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ATVModGUI::setName(const QString& name)
|
void ATVModGUI::setName(const QString& name)
|
||||||
@ -585,7 +586,7 @@ void ATVModGUI::onMenuDoubleClicked()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ATVModGUI::ATVModGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, QWidget* parent) :
|
ATVModGUI::ATVModGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, BasebandSampleSource *channelTx, QWidget* parent) :
|
||||||
RollupWidget(parent),
|
RollupWidget(parent),
|
||||||
ui(new Ui::ATVModGUI),
|
ui(new Ui::ATVModGUI),
|
||||||
m_pluginAPI(pluginAPI),
|
m_pluginAPI(pluginAPI),
|
||||||
@ -607,7 +608,7 @@ ATVModGUI::ATVModGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, QWidget* pa
|
|||||||
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(menuDoubleClickEvent()), this, SLOT(onMenuDoubleClicked()));
|
connect(this, SIGNAL(menuDoubleClickEvent()), this, SLOT(onMenuDoubleClicked()));
|
||||||
|
|
||||||
m_atvMod = new ATVMod(m_deviceUISet->m_deviceSinkAPI);
|
m_atvMod = (ATVMod*) channelTx; //new ATVMod(m_deviceUISet->m_deviceSinkAPI);
|
||||||
m_atvMod->setMessageQueueToGUI(getInputMessageQueue());
|
m_atvMod->setMessageQueueToGUI(getInputMessageQueue());
|
||||||
|
|
||||||
connect(&MainWindow::getInstance()->getMasterTimer(), SIGNAL(timeout()), this, SLOT(tick()));
|
connect(&MainWindow::getInstance()->getMasterTimer(), SIGNAL(timeout()), this, SLOT(tick()));
|
||||||
@ -652,7 +653,7 @@ ATVModGUI::ATVModGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, QWidget* pa
|
|||||||
ATVModGUI::~ATVModGUI()
|
ATVModGUI::~ATVModGUI()
|
||||||
{
|
{
|
||||||
m_deviceUISet->removeTxChannelInstance(this);
|
m_deviceUISet->removeTxChannelInstance(this);
|
||||||
delete m_atvMod;
|
delete m_atvMod; // TODO: check this: when the GUI closes it has to delete the modulator
|
||||||
delete ui;
|
delete ui;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -28,8 +28,7 @@
|
|||||||
|
|
||||||
class PluginAPI;
|
class PluginAPI;
|
||||||
class DeviceUISet;
|
class DeviceUISet;
|
||||||
|
class BasebandSampleSource;
|
||||||
class ATVMod;
|
|
||||||
class QMessageBox;
|
class QMessageBox;
|
||||||
|
|
||||||
namespace Ui {
|
namespace Ui {
|
||||||
@ -40,7 +39,7 @@ class ATVModGUI : public RollupWidget, public PluginInstanceGUI {
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static ATVModGUI* create(PluginAPI* pluginAPI, DeviceUISet *deviceUISet);
|
static ATVModGUI* create(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, BasebandSampleSource *channelTx);
|
||||||
virtual void destroy();
|
virtual void destroy();
|
||||||
|
|
||||||
void setName(const QString& name);
|
void setName(const QString& name);
|
||||||
@ -117,7 +116,7 @@ private:
|
|||||||
int m_rfSliderDivisor;
|
int m_rfSliderDivisor;
|
||||||
MessageQueue m_inputMessageQueue;
|
MessageQueue m_inputMessageQueue;
|
||||||
|
|
||||||
explicit ATVModGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, QWidget* parent = 0);
|
explicit ATVModGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, BasebandSampleSource *channelTx, QWidget* parent = 0);
|
||||||
virtual ~ATVModGUI();
|
virtual ~ATVModGUI();
|
||||||
|
|
||||||
void blockApplySettings(bool block);
|
void blockApplySettings(bool block);
|
||||||
|
@ -50,11 +50,11 @@ void ATVModPlugin::initPlugin(PluginAPI* pluginAPI)
|
|||||||
m_pluginAPI->registerTxChannel(ATVMod::m_channelID, this);
|
m_pluginAPI->registerTxChannel(ATVMod::m_channelID, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
PluginInstanceGUI* ATVModPlugin::createTxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet)
|
PluginInstanceGUI* ATVModPlugin::createTxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSource *txChannel)
|
||||||
{
|
{
|
||||||
if(channelName == ATVMod::m_channelID)
|
if(channelName == ATVMod::m_channelID)
|
||||||
{
|
{
|
||||||
ATVModGUI* gui = ATVModGUI::create(m_pluginAPI, deviceUISet);
|
ATVModGUI* gui = ATVModGUI::create(m_pluginAPI, deviceUISet, txChannel);
|
||||||
return gui;
|
return gui;
|
||||||
} else {
|
} else {
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -34,7 +34,7 @@ public:
|
|||||||
const PluginDescriptor& getPluginDescriptor() const;
|
const PluginDescriptor& getPluginDescriptor() const;
|
||||||
void initPlugin(PluginAPI* pluginAPI);
|
void initPlugin(PluginAPI* pluginAPI);
|
||||||
|
|
||||||
PluginInstanceGUI* createTxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet);
|
PluginInstanceGUI* createTxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSource *txChannel);
|
||||||
BasebandSampleSource* createTxChannel(const QString& channelName, DeviceSinkAPI *deviceAPI);
|
BasebandSampleSource* createTxChannel(const QString& channelName, DeviceSinkAPI *deviceAPI);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@ -33,14 +33,15 @@
|
|||||||
#include "nfmmodgui.h"
|
#include "nfmmodgui.h"
|
||||||
|
|
||||||
|
|
||||||
NFMModGUI* NFMModGUI::create(PluginAPI* pluginAPI, DeviceUISet *deviceUISet)
|
NFMModGUI* NFMModGUI::create(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, BasebandSampleSource *channelTx)
|
||||||
{
|
{
|
||||||
NFMModGUI* gui = new NFMModGUI(pluginAPI, deviceUISet);
|
NFMModGUI* gui = new NFMModGUI(pluginAPI, deviceUISet, channelTx);
|
||||||
return gui;
|
return gui;
|
||||||
}
|
}
|
||||||
|
|
||||||
void NFMModGUI::destroy()
|
void NFMModGUI::destroy()
|
||||||
{
|
{
|
||||||
|
delete this;
|
||||||
}
|
}
|
||||||
|
|
||||||
void NFMModGUI::setName(const QString& name)
|
void NFMModGUI::setName(const QString& name)
|
||||||
@ -283,7 +284,7 @@ void NFMModGUI::onMenuDoubleClicked()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
NFMModGUI::NFMModGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, QWidget* parent) :
|
NFMModGUI::NFMModGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, BasebandSampleSource *channelTx, QWidget* parent) :
|
||||||
RollupWidget(parent),
|
RollupWidget(parent),
|
||||||
ui(new Ui::NFMModGUI),
|
ui(new Ui::NFMModGUI),
|
||||||
m_pluginAPI(pluginAPI),
|
m_pluginAPI(pluginAPI),
|
||||||
@ -315,7 +316,7 @@ NFMModGUI::NFMModGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, QWidget* pa
|
|||||||
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(menuDoubleClickEvent()), this, SLOT(onMenuDoubleClicked()));
|
connect(this, SIGNAL(menuDoubleClickEvent()), this, SLOT(onMenuDoubleClicked()));
|
||||||
|
|
||||||
m_nfmMod = new NFMMod(m_deviceUISet->m_deviceSinkAPI);
|
m_nfmMod = (NFMMod*) channelTx; //new NFMMod(m_deviceUISet->m_deviceSinkAPI);
|
||||||
m_nfmMod->setMessageQueueToGUI(getInputMessageQueue());
|
m_nfmMod->setMessageQueueToGUI(getInputMessageQueue());
|
||||||
|
|
||||||
connect(&MainWindow::getInstance()->getMasterTimer(), SIGNAL(timeout()), this, SLOT(tick()));
|
connect(&MainWindow::getInstance()->getMasterTimer(), SIGNAL(timeout()), this, SLOT(tick()));
|
||||||
@ -358,7 +359,7 @@ NFMModGUI::NFMModGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, QWidget* pa
|
|||||||
NFMModGUI::~NFMModGUI()
|
NFMModGUI::~NFMModGUI()
|
||||||
{
|
{
|
||||||
m_deviceUISet->removeTxChannelInstance(this);
|
m_deviceUISet->removeTxChannelInstance(this);
|
||||||
delete m_nfmMod;
|
delete m_nfmMod; // TODO: check this: when the GUI closes it has to delete the modulator
|
||||||
delete ui;
|
delete ui;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -28,7 +28,7 @@
|
|||||||
|
|
||||||
class PluginAPI;
|
class PluginAPI;
|
||||||
class DeviceUISet;
|
class DeviceUISet;
|
||||||
class NFMMod;
|
class BasebandSampleSource;
|
||||||
|
|
||||||
namespace Ui {
|
namespace Ui {
|
||||||
class NFMModGUI;
|
class NFMModGUI;
|
||||||
@ -38,7 +38,7 @@ class NFMModGUI : public RollupWidget, public PluginInstanceGUI {
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static NFMModGUI* create(PluginAPI* pluginAPI, DeviceUISet *deviceUISet);
|
static NFMModGUI* create(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, BasebandSampleSource *channelTx);
|
||||||
virtual void destroy();
|
virtual void destroy();
|
||||||
|
|
||||||
void setName(const QString& name);
|
void setName(const QString& name);
|
||||||
@ -102,7 +102,7 @@ private:
|
|||||||
NFMMod::NFMModInputAF m_modAFInput;
|
NFMMod::NFMModInputAF m_modAFInput;
|
||||||
MessageQueue m_inputMessageQueue;
|
MessageQueue m_inputMessageQueue;
|
||||||
|
|
||||||
explicit NFMModGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, QWidget* parent = 0);
|
explicit NFMModGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, BasebandSampleSource *channelTx, QWidget* parent = 0);
|
||||||
virtual ~NFMModGUI();
|
virtual ~NFMModGUI();
|
||||||
|
|
||||||
void blockApplySettings(bool block);
|
void blockApplySettings(bool block);
|
||||||
|
@ -49,11 +49,11 @@ void NFMModPlugin::initPlugin(PluginAPI* pluginAPI)
|
|||||||
m_pluginAPI->registerTxChannel(NFMMod::m_channelID, this);
|
m_pluginAPI->registerTxChannel(NFMMod::m_channelID, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
PluginInstanceGUI* NFMModPlugin::createTxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet)
|
PluginInstanceGUI* NFMModPlugin::createTxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSource *txChannel)
|
||||||
{
|
{
|
||||||
if(channelName == NFMMod::m_channelID)
|
if(channelName == NFMMod::m_channelID)
|
||||||
{
|
{
|
||||||
NFMModGUI* gui = NFMModGUI::create(m_pluginAPI, deviceUISet);
|
NFMModGUI* gui = NFMModGUI::create(m_pluginAPI, deviceUISet, txChannel);
|
||||||
return gui;
|
return gui;
|
||||||
} else {
|
} else {
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -34,7 +34,7 @@ public:
|
|||||||
const PluginDescriptor& getPluginDescriptor() const;
|
const PluginDescriptor& getPluginDescriptor() const;
|
||||||
void initPlugin(PluginAPI* pluginAPI);
|
void initPlugin(PluginAPI* pluginAPI);
|
||||||
|
|
||||||
PluginInstanceGUI* createTxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet);
|
PluginInstanceGUI* createTxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSource *rxChannel);
|
||||||
BasebandSampleSource* createTxChannel(const QString& channelName, DeviceSinkAPI *deviceAPI);
|
BasebandSampleSource* createTxChannel(const QString& channelName, DeviceSinkAPI *deviceAPI);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@ -33,14 +33,15 @@
|
|||||||
#include "dsp/dspengine.h"
|
#include "dsp/dspengine.h"
|
||||||
#include "mainwindow.h"
|
#include "mainwindow.h"
|
||||||
|
|
||||||
SSBModGUI* SSBModGUI::create(PluginAPI* pluginAPI, DeviceUISet *deviceUISet)
|
SSBModGUI* SSBModGUI::create(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, BasebandSampleSource *channelTx)
|
||||||
{
|
{
|
||||||
SSBModGUI* gui = new SSBModGUI(pluginAPI, deviceUISet);
|
SSBModGUI* gui = new SSBModGUI(pluginAPI, deviceUISet, channelTx);
|
||||||
return gui;
|
return gui;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SSBModGUI::destroy()
|
void SSBModGUI::destroy()
|
||||||
{
|
{
|
||||||
|
delete this;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SSBModGUI::setName(const QString& name)
|
void SSBModGUI::setName(const QString& name)
|
||||||
@ -350,7 +351,7 @@ void SSBModGUI::onMenuDoubleClicked()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
SSBModGUI::SSBModGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, QWidget* parent) :
|
SSBModGUI::SSBModGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, BasebandSampleSource *channelTx, QWidget* parent) :
|
||||||
RollupWidget(parent),
|
RollupWidget(parent),
|
||||||
ui(new Ui::SSBModGUI),
|
ui(new Ui::SSBModGUI),
|
||||||
m_pluginAPI(pluginAPI),
|
m_pluginAPI(pluginAPI),
|
||||||
@ -373,7 +374,7 @@ SSBModGUI::SSBModGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, QWidget* pa
|
|||||||
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_ssbMod = new SSBMod(m_deviceUISet->m_deviceSinkAPI);
|
m_ssbMod = (SSBMod*) channelTx; //new SSBMod(m_deviceUISet->m_deviceSinkAPI);
|
||||||
m_ssbMod->setSpectrumSampleSink(m_spectrumVis);
|
m_ssbMod->setSpectrumSampleSink(m_spectrumVis);
|
||||||
m_ssbMod->setMessageQueueToGUI(getInputMessageQueue());
|
m_ssbMod->setMessageQueueToGUI(getInputMessageQueue());
|
||||||
|
|
||||||
@ -425,7 +426,7 @@ SSBModGUI::SSBModGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, QWidget* pa
|
|||||||
SSBModGUI::~SSBModGUI()
|
SSBModGUI::~SSBModGUI()
|
||||||
{
|
{
|
||||||
m_deviceUISet->removeRxChannelInstance(this);
|
m_deviceUISet->removeRxChannelInstance(this);
|
||||||
delete m_ssbMod;
|
delete m_ssbMod; // TODO: check this: when the GUI closes it has to delete the modulator
|
||||||
delete m_spectrumVis;
|
delete m_spectrumVis;
|
||||||
delete ui;
|
delete ui;
|
||||||
}
|
}
|
||||||
|
@ -28,8 +28,7 @@
|
|||||||
|
|
||||||
class PluginAPI;
|
class PluginAPI;
|
||||||
class DeviceUISet;
|
class DeviceUISet;
|
||||||
|
class BasebandSampleSource;
|
||||||
class SSBMod;
|
|
||||||
class SpectrumVis;
|
class SpectrumVis;
|
||||||
|
|
||||||
namespace Ui {
|
namespace Ui {
|
||||||
@ -40,7 +39,7 @@ class SSBModGUI : public RollupWidget, public PluginInstanceGUI {
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static SSBModGUI* create(PluginAPI* pluginAPI, DeviceUISet *deviceUISet);
|
static SSBModGUI* create(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, BasebandSampleSource *channelTx);
|
||||||
virtual void destroy();
|
virtual void destroy();
|
||||||
|
|
||||||
void setName(const QString& name);
|
void setName(const QString& name);
|
||||||
@ -111,7 +110,7 @@ private:
|
|||||||
SSBMod::SSBModInputAF m_modAFInput;
|
SSBMod::SSBModInputAF m_modAFInput;
|
||||||
MessageQueue m_inputMessageQueue;
|
MessageQueue m_inputMessageQueue;
|
||||||
|
|
||||||
explicit SSBModGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, QWidget* parent = 0);
|
explicit SSBModGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, BasebandSampleSource *channelTx, QWidget* parent = 0);
|
||||||
virtual ~SSBModGUI();
|
virtual ~SSBModGUI();
|
||||||
|
|
||||||
bool blockApplySettings(bool block);
|
bool blockApplySettings(bool block);
|
||||||
|
@ -50,11 +50,11 @@ void SSBModPlugin::initPlugin(PluginAPI* pluginAPI)
|
|||||||
m_pluginAPI->registerTxChannel(SSBMod::m_channelID, this);
|
m_pluginAPI->registerTxChannel(SSBMod::m_channelID, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
PluginInstanceGUI* SSBModPlugin::createTxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet)
|
PluginInstanceGUI* SSBModPlugin::createTxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSource *txChannel)
|
||||||
{
|
{
|
||||||
if(channelName == SSBMod::m_channelID)
|
if(channelName == SSBMod::m_channelID)
|
||||||
{
|
{
|
||||||
SSBModGUI* gui = SSBModGUI::create(m_pluginAPI, deviceUISet);
|
SSBModGUI* gui = SSBModGUI::create(m_pluginAPI, deviceUISet, txChannel);
|
||||||
return gui;
|
return gui;
|
||||||
} else {
|
} else {
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -34,7 +34,7 @@ public:
|
|||||||
const PluginDescriptor& getPluginDescriptor() const;
|
const PluginDescriptor& getPluginDescriptor() const;
|
||||||
void initPlugin(PluginAPI* pluginAPI);
|
void initPlugin(PluginAPI* pluginAPI);
|
||||||
|
|
||||||
PluginInstanceGUI* createTxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet);
|
PluginInstanceGUI* createTxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSource *txChannel);
|
||||||
BasebandSampleSource* createTxChannel(const QString& channelName, DeviceSinkAPI *deviceAPI);
|
BasebandSampleSource* createTxChannel(const QString& channelName, DeviceSinkAPI *deviceAPI);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@ -34,14 +34,15 @@
|
|||||||
#include "ui_wfmmodgui.h"
|
#include "ui_wfmmodgui.h"
|
||||||
#include "wfmmodgui.h"
|
#include "wfmmodgui.h"
|
||||||
|
|
||||||
WFMModGUI* WFMModGUI::create(PluginAPI* pluginAPI, DeviceUISet *deviceUISet)
|
WFMModGUI* WFMModGUI::create(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, BasebandSampleSource *channelTx)
|
||||||
{
|
{
|
||||||
WFMModGUI* gui = new WFMModGUI(pluginAPI, deviceUISet);
|
WFMModGUI* gui = new WFMModGUI(pluginAPI, deviceUISet, channelTx);
|
||||||
return gui;
|
return gui;
|
||||||
}
|
}
|
||||||
|
|
||||||
void WFMModGUI::destroy()
|
void WFMModGUI::destroy()
|
||||||
{
|
{
|
||||||
|
delete this;
|
||||||
}
|
}
|
||||||
|
|
||||||
void WFMModGUI::setName(const QString& name)
|
void WFMModGUI::setName(const QString& name)
|
||||||
@ -272,7 +273,7 @@ void WFMModGUI::onMenuDoubleClicked()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
WFMModGUI::WFMModGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, QWidget* parent) :
|
WFMModGUI::WFMModGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, BasebandSampleSource *channelTx, QWidget* parent) :
|
||||||
RollupWidget(parent),
|
RollupWidget(parent),
|
||||||
ui(new Ui::WFMModGUI),
|
ui(new Ui::WFMModGUI),
|
||||||
m_pluginAPI(pluginAPI),
|
m_pluginAPI(pluginAPI),
|
||||||
@ -304,7 +305,7 @@ WFMModGUI::WFMModGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, QWidget* pa
|
|||||||
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(menuDoubleClickEvent()), this, SLOT(onMenuDoubleClicked()));
|
connect(this, SIGNAL(menuDoubleClickEvent()), this, SLOT(onMenuDoubleClicked()));
|
||||||
|
|
||||||
m_wfmMod = new WFMMod(m_deviceUISet->m_deviceSinkAPI);
|
m_wfmMod = (WFMMod*) channelTx; //new WFMMod(m_deviceUISet->m_deviceSinkAPI);
|
||||||
m_wfmMod->setMessageQueueToGUI(getInputMessageQueue());
|
m_wfmMod->setMessageQueueToGUI(getInputMessageQueue());
|
||||||
|
|
||||||
connect(&MainWindow::getInstance()->getMasterTimer(), SIGNAL(timeout()), this, SLOT(tick()));
|
connect(&MainWindow::getInstance()->getMasterTimer(), SIGNAL(timeout()), this, SLOT(tick()));
|
||||||
@ -342,7 +343,7 @@ WFMModGUI::WFMModGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, QWidget* pa
|
|||||||
WFMModGUI::~WFMModGUI()
|
WFMModGUI::~WFMModGUI()
|
||||||
{
|
{
|
||||||
m_deviceUISet->removeTxChannelInstance(this);
|
m_deviceUISet->removeTxChannelInstance(this);
|
||||||
delete m_wfmMod;
|
delete m_wfmMod; // TODO: check this: when the GUI closes it has to delete the modulator
|
||||||
delete ui;
|
delete ui;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -28,10 +28,9 @@
|
|||||||
|
|
||||||
class PluginAPI;
|
class PluginAPI;
|
||||||
class DeviceUISet;
|
class DeviceUISet;
|
||||||
|
class BasebandSampleSource;
|
||||||
class ThreadedBasebandSampleSource;
|
class ThreadedBasebandSampleSource;
|
||||||
class UpChannelizer;
|
class UpChannelizer;
|
||||||
class WFMMod;
|
|
||||||
|
|
||||||
namespace Ui {
|
namespace Ui {
|
||||||
class WFMModGUI;
|
class WFMModGUI;
|
||||||
@ -41,7 +40,7 @@ class WFMModGUI : public RollupWidget, public PluginInstanceGUI {
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static WFMModGUI* create(PluginAPI* pluginAPI, DeviceUISet *deviceUISet);
|
static WFMModGUI* create(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, BasebandSampleSource *channelTx);
|
||||||
virtual void destroy();
|
virtual void destroy();
|
||||||
|
|
||||||
void setName(const QString& name);
|
void setName(const QString& name);
|
||||||
@ -104,7 +103,7 @@ private:
|
|||||||
WFMMod::WFMModInputAF m_modAFInput;
|
WFMMod::WFMModInputAF m_modAFInput;
|
||||||
MessageQueue m_inputMessageQueue;
|
MessageQueue m_inputMessageQueue;
|
||||||
|
|
||||||
explicit WFMModGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, QWidget* parent = 0);
|
explicit WFMModGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, BasebandSampleSource *channelTx, QWidget* parent = 0);
|
||||||
virtual ~WFMModGUI();
|
virtual ~WFMModGUI();
|
||||||
|
|
||||||
void blockApplySettings(bool block);
|
void blockApplySettings(bool block);
|
||||||
|
@ -50,11 +50,11 @@ void WFMModPlugin::initPlugin(PluginAPI* pluginAPI)
|
|||||||
m_pluginAPI->registerTxChannel(WFMMod::m_channelID, this);
|
m_pluginAPI->registerTxChannel(WFMMod::m_channelID, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
PluginInstanceGUI* WFMModPlugin::createTxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet)
|
PluginInstanceGUI* WFMModPlugin::createTxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSource *txChannel)
|
||||||
{
|
{
|
||||||
if(channelName == WFMMod::m_channelID)
|
if(channelName == WFMMod::m_channelID)
|
||||||
{
|
{
|
||||||
WFMModGUI* gui = WFMModGUI::create(m_pluginAPI, deviceUISet);
|
WFMModGUI* gui = WFMModGUI::create(m_pluginAPI, deviceUISet, txChannel);
|
||||||
return gui;
|
return gui;
|
||||||
} else {
|
} else {
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -33,7 +33,7 @@ public:
|
|||||||
const PluginDescriptor& getPluginDescriptor() const;
|
const PluginDescriptor& getPluginDescriptor() const;
|
||||||
void initPlugin(PluginAPI* pluginAPI);
|
void initPlugin(PluginAPI* pluginAPI);
|
||||||
|
|
||||||
PluginInstanceGUI* createTxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet);
|
PluginInstanceGUI* createTxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSource *txChannel);
|
||||||
BasebandSampleSource* createTxChannel(const QString& channelName, DeviceSinkAPI *deviceAPI);
|
BasebandSampleSource* createTxChannel(const QString& channelName, DeviceSinkAPI *deviceAPI);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@ -27,14 +27,15 @@
|
|||||||
#include "udpsinkgui.h"
|
#include "udpsinkgui.h"
|
||||||
#include "ui_udpsinkgui.h"
|
#include "ui_udpsinkgui.h"
|
||||||
|
|
||||||
UDPSinkGUI* UDPSinkGUI::create(PluginAPI* pluginAPI, DeviceUISet *deviceUISet)
|
UDPSinkGUI* UDPSinkGUI::create(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, BasebandSampleSource *channelTx)
|
||||||
{
|
{
|
||||||
UDPSinkGUI* gui = new UDPSinkGUI(pluginAPI, deviceUISet);
|
UDPSinkGUI* gui = new UDPSinkGUI(pluginAPI, deviceUISet, channelTx);
|
||||||
return gui;
|
return gui;
|
||||||
}
|
}
|
||||||
|
|
||||||
void UDPSinkGUI::destroy()
|
void UDPSinkGUI::destroy()
|
||||||
{
|
{
|
||||||
|
delete this;
|
||||||
}
|
}
|
||||||
|
|
||||||
void UDPSinkGUI::setName(const QString& name)
|
void UDPSinkGUI::setName(const QString& name)
|
||||||
@ -101,7 +102,7 @@ void UDPSinkGUI::handleSourceMessages()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
UDPSinkGUI::UDPSinkGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, QWidget* parent) :
|
UDPSinkGUI::UDPSinkGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, BasebandSampleSource *channelTx, QWidget* parent) :
|
||||||
RollupWidget(parent),
|
RollupWidget(parent),
|
||||||
ui(new Ui::UDPSinkGUI),
|
ui(new Ui::UDPSinkGUI),
|
||||||
m_pluginAPI(pluginAPI),
|
m_pluginAPI(pluginAPI),
|
||||||
@ -119,7 +120,7 @@ UDPSinkGUI::UDPSinkGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, QWidget*
|
|||||||
setAttribute(Qt::WA_DeleteOnClose, true);
|
setAttribute(Qt::WA_DeleteOnClose, true);
|
||||||
|
|
||||||
m_spectrumVis = new SpectrumVis(ui->glSpectrum);
|
m_spectrumVis = new SpectrumVis(ui->glSpectrum);
|
||||||
m_udpSink = new UDPSink(m_deviceUISet->m_deviceSinkAPI);
|
m_udpSink = (UDPSink*) channelTx; //new UDPSink(m_deviceUISet->m_deviceSinkAPI);
|
||||||
m_udpSink->setSpectrumSink(m_spectrumVis);
|
m_udpSink->setSpectrumSink(m_spectrumVis);
|
||||||
m_udpSink->setMessageQueueToGUI(getInputMessageQueue());
|
m_udpSink->setMessageQueueToGUI(getInputMessageQueue());
|
||||||
|
|
||||||
@ -162,7 +163,7 @@ UDPSinkGUI::UDPSinkGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, QWidget*
|
|||||||
UDPSinkGUI::~UDPSinkGUI()
|
UDPSinkGUI::~UDPSinkGUI()
|
||||||
{
|
{
|
||||||
m_deviceUISet->removeTxChannelInstance(this);
|
m_deviceUISet->removeTxChannelInstance(this);
|
||||||
delete m_udpSink;
|
delete m_udpSink; // TODO: check this: when the GUI closes it has to delete the modulator
|
||||||
delete m_spectrumVis;
|
delete m_spectrumVis;
|
||||||
delete ui;
|
delete ui;
|
||||||
}
|
}
|
||||||
|
@ -29,7 +29,7 @@
|
|||||||
|
|
||||||
class PluginAPI;
|
class PluginAPI;
|
||||||
class DeviceUISet;
|
class DeviceUISet;
|
||||||
class UDPSink;
|
class BasebandSampleSource;
|
||||||
class SpectrumVis;
|
class SpectrumVis;
|
||||||
|
|
||||||
namespace Ui {
|
namespace Ui {
|
||||||
@ -40,7 +40,7 @@ class UDPSinkGUI : public RollupWidget, public PluginInstanceGUI {
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static UDPSinkGUI* create(PluginAPI* pluginAPI, DeviceUISet *deviceUISet);
|
static UDPSinkGUI* create(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, BasebandSampleSource *channelTx);
|
||||||
virtual void destroy();
|
virtual void destroy();
|
||||||
|
|
||||||
void setName(const QString& name);
|
void setName(const QString& name);
|
||||||
@ -92,7 +92,7 @@ private:
|
|||||||
bool m_doApplySettings;
|
bool m_doApplySettings;
|
||||||
MessageQueue m_inputMessageQueue;
|
MessageQueue m_inputMessageQueue;
|
||||||
|
|
||||||
explicit UDPSinkGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, QWidget* parent = NULL);
|
explicit UDPSinkGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, BasebandSampleSource *channelTx, QWidget* parent = NULL);
|
||||||
virtual ~UDPSinkGUI();
|
virtual ~UDPSinkGUI();
|
||||||
|
|
||||||
void blockApplySettings(bool block);
|
void blockApplySettings(bool block);
|
||||||
|
@ -50,11 +50,11 @@ void UDPSinkPlugin::initPlugin(PluginAPI* pluginAPI)
|
|||||||
m_pluginAPI->registerTxChannel(UDPSink::m_channelID, this);
|
m_pluginAPI->registerTxChannel(UDPSink::m_channelID, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
PluginInstanceGUI* UDPSinkPlugin::createTxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet)
|
PluginInstanceGUI* UDPSinkPlugin::createTxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSource *txChannel)
|
||||||
{
|
{
|
||||||
if(channelName == UDPSink::m_channelID)
|
if(channelName == UDPSink::m_channelID)
|
||||||
{
|
{
|
||||||
UDPSinkGUI* gui = UDPSinkGUI::create(m_pluginAPI, deviceUISet);
|
UDPSinkGUI* gui = UDPSinkGUI::create(m_pluginAPI, deviceUISet, txChannel);
|
||||||
// deviceAPI->registerChannelInstance("sdrangel.channel.udpsrc", gui);
|
// deviceAPI->registerChannelInstance("sdrangel.channel.udpsrc", gui);
|
||||||
// m_pluginAPI->addChannelRollup(gui);
|
// m_pluginAPI->addChannelRollup(gui);
|
||||||
return gui;
|
return gui;
|
||||||
|
@ -35,7 +35,7 @@ public:
|
|||||||
const PluginDescriptor& getPluginDescriptor() const;
|
const PluginDescriptor& getPluginDescriptor() const;
|
||||||
void initPlugin(PluginAPI* pluginAPI);
|
void initPlugin(PluginAPI* pluginAPI);
|
||||||
|
|
||||||
PluginInstanceGUI* createTxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet);
|
PluginInstanceGUI* createTxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSource *txChannel);
|
||||||
BasebandSampleSource* createTxChannel(const QString& channelName, DeviceSinkAPI *deviceAPI);
|
BasebandSampleSource* createTxChannel(const QString& channelName, DeviceSinkAPI *deviceAPI);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@ -87,7 +87,8 @@ public:
|
|||||||
|
|
||||||
virtual PluginInstanceGUI* createTxChannelGUI(
|
virtual PluginInstanceGUI* createTxChannelGUI(
|
||||||
const QString& channelName __attribute__((unused)),
|
const QString& channelName __attribute__((unused)),
|
||||||
DeviceUISet *deviceUISet __attribute__((unused)) )
|
DeviceUISet *deviceUISet __attribute__((unused)),
|
||||||
|
BasebandSampleSource *txChannel __attribute__((unused)))
|
||||||
{ return 0; }
|
{ return 0; }
|
||||||
|
|
||||||
virtual BasebandSampleSource* createTxChannel(
|
virtual BasebandSampleSource* createTxChannel(
|
||||||
|
@ -186,11 +186,13 @@ void PluginManager::createRxChannelInstance(int channelPluginIndex, DeviceUISet
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void PluginManager::createTxChannelInstance(int channelPluginIndex, DeviceUISet *deviceUISet)
|
void PluginManager::createTxChannelInstance(int channelPluginIndex, DeviceUISet *deviceUISet, DeviceSinkAPI *deviceAPI)
|
||||||
{
|
{
|
||||||
if (channelPluginIndex < m_txChannelRegistrations.size())
|
if (channelPluginIndex < m_txChannelRegistrations.size())
|
||||||
{
|
{
|
||||||
PluginInterface *pluginInterface = m_txChannelRegistrations[channelPluginIndex].m_plugin;
|
PluginInterface *pluginInterface = m_txChannelRegistrations[channelPluginIndex].m_plugin;
|
||||||
pluginInterface->createTxChannelGUI(m_txChannelRegistrations[channelPluginIndex].m_channelId, deviceUISet);
|
BasebandSampleSource *txChannel = pluginInterface->createTxChannel(
|
||||||
|
m_txChannelRegistrations[channelPluginIndex].m_channelId, deviceAPI);
|
||||||
|
pluginInterface->createTxChannelGUI(m_txChannelRegistrations[channelPluginIndex].m_channelId, deviceUISet, txChannel);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -59,7 +59,7 @@ public:
|
|||||||
void createRxChannelInstance(int channelPluginIndex, DeviceUISet *deviceUISet);
|
void createRxChannelInstance(int channelPluginIndex, DeviceUISet *deviceUISet);
|
||||||
void listRxChannels(QList<QString>& list);
|
void listRxChannels(QList<QString>& list);
|
||||||
|
|
||||||
void createTxChannelInstance(int channelPluginIndex, DeviceUISet *deviceUISet);
|
void createTxChannelInstance(int channelPluginIndex, DeviceUISet *deviceUISet, DeviceSinkAPI *deviceAPI);
|
||||||
void listTxChannels(QList<QString>& list);
|
void listTxChannels(QList<QString>& list);
|
||||||
|
|
||||||
static const QString& getFileSourceDeviceId() { return m_fileSourceDeviceTypeID; }
|
static const QString& getFileSourceDeviceId() { return m_fileSourceDeviceTypeID; }
|
||||||
|
@ -274,7 +274,13 @@ void DeviceUISet::loadTxChannelSettings(const Preset *preset, PluginAPI *pluginA
|
|||||||
if((*channelRegistrations)[i].m_channelId == channelConfig.m_channel)
|
if((*channelRegistrations)[i].m_channelId == channelConfig.m_channel)
|
||||||
{
|
{
|
||||||
qDebug("DeviceUISet::loadChannelSettings: creating new channel [%s]", qPrintable(channelConfig.m_channel));
|
qDebug("DeviceUISet::loadChannelSettings: creating new channel [%s]", qPrintable(channelConfig.m_channel));
|
||||||
reg = ChannelInstanceRegistration(channelConfig.m_channel, (*channelRegistrations)[i].m_plugin->createTxChannelGUI(channelConfig.m_channel, this));
|
// TODO: create modulator core
|
||||||
|
BasebandSampleSource *txChannel = (*channelRegistrations)[i].m_plugin->createTxChannel(
|
||||||
|
channelConfig.m_channel, m_deviceSinkAPI);
|
||||||
|
PluginInstanceGUI *txChannelGUI = (*channelRegistrations)[i].m_plugin->createTxChannelGUI(
|
||||||
|
channelConfig.m_channel, this, txChannel);
|
||||||
|
reg = ChannelInstanceRegistration(
|
||||||
|
channelConfig.m_channel, txChannelGUI);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1070,7 +1070,7 @@ void MainWindow::on_channel_addClicked(bool checked __attribute__((unused)))
|
|||||||
QMessageBox::information(this, tr("Message"), tr("%1 channel(s) already in use. Multiple transmission channels is experimental. You may experience performance problems").arg(nbSources));
|
QMessageBox::information(this, tr("Message"), tr("%1 channel(s) already in use. Multiple transmission channels is experimental. You may experience performance problems").arg(nbSources));
|
||||||
}
|
}
|
||||||
|
|
||||||
m_pluginManager->createTxChannelInstance(deviceUI->m_samplingDeviceControl->getChannelSelector()->currentIndex(), deviceUI);
|
m_pluginManager->createTxChannelInstance(deviceUI->m_samplingDeviceControl->getChannelSelector()->currentIndex(), deviceUI, deviceUI->m_deviceSinkAPI);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user