Added mod constructor interface in the plugin API. Created method in all Tx channel plugins

pull/127/head
f4exb 2017-11-08 17:09:25 +01:00
rodzic 4ad038ed9d
commit 9c68da780e
36 zmienionych plików z 133 dodań i 52 usunięć

Wyświetl plik

@ -36,6 +36,7 @@ MESSAGE_CLASS_DEFINITION(AMMod::MsgConfigureFileSourceStreamTiming, Message)
MESSAGE_CLASS_DEFINITION(AMMod::MsgReportFileSourceStreamData, Message)
MESSAGE_CLASS_DEFINITION(AMMod::MsgReportFileSourceStreamTiming, Message)
const QString AMMod::m_channelID = "sdrangel.channeltx.modam";
const int AMMod::m_levelNbSamples = 480; // every 10ms
AMMod::AMMod(DeviceSinkAPI *deviceAPI) :

Wyświetl plik

@ -238,6 +238,8 @@ public:
CWKeyer *getCWKeyer() { return &m_cwKeyer; }
static const QString m_channelID;
signals:
/**
* Level changed

Wyświetl plik

@ -34,8 +34,6 @@
#include "dsp/dspengine.h"
#include "mainwindow.h"
const QString AMModGUI::m_channelID = "sdrangel.channeltx.modam";
AMModGUI* AMModGUI::create(PluginAPI* pluginAPI, DeviceUISet *deviceUISet)
{
AMModGUI* gui = new AMModGUI(pluginAPI, deviceUISet);
@ -306,7 +304,7 @@ AMModGUI::AMModGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, QWidget* pare
connect(&m_channelMarker, SIGNAL(changed()), this, SLOT(channelMarkerChanged()));
m_deviceUISet->registerTxChannelInstance(m_channelID, this);
m_deviceUISet->registerTxChannelInstance(AMMod::m_channelID, this);
m_deviceUISet->addChannelMarker(&m_channelMarker);
m_deviceUISet->addRollupWidget(this);

Wyświetl plik

@ -53,8 +53,6 @@ public:
virtual MessageQueue *getInputMessageQueue() { return &m_inputMessageQueue; }
virtual bool handleMessage(const Message& message);
static const QString m_channelID;
private slots:
void channelMarkerChanged();
void handleSourceMessages();

Wyświetl plik

@ -19,11 +19,12 @@
#include "plugin/pluginapi.h"
#include "ammodgui.h"
#include "ammod.h"
#include "ammodplugin.h"
const PluginDescriptor AMModPlugin::m_pluginDescriptor = {
QString("AM Modulator"),
QString("3.8.0"),
QString("3.8.2"),
QString("(c) Edouard Griffiths, F4EXB"),
QString("https://github.com/f4exb/sdrangel"),
true,
@ -46,12 +47,12 @@ void AMModPlugin::initPlugin(PluginAPI* pluginAPI)
m_pluginAPI = pluginAPI;
// register AM modulator
m_pluginAPI->registerTxChannel(AMModGUI::m_channelID, this);
m_pluginAPI->registerTxChannel(AMMod::m_channelID, this);
}
PluginInstanceGUI* AMModPlugin::createTxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet)
{
if(channelName == AMModGUI::m_channelID)
if(channelName == AMMod::m_channelID)
{
AMModGUI* gui = AMModGUI::create(m_pluginAPI, deviceUISet);
return gui;
@ -59,3 +60,14 @@ PluginInstanceGUI* AMModPlugin::createTxChannelGUI(const QString& channelName, D
return 0;
}
}
BasebandSampleSource* AMModPlugin::createTxChannel(const QString& channelName, DeviceSinkAPI *deviceAPI)
{
if(channelName == AMMod::m_channelID)
{
AMMod* source = new AMMod(deviceAPI);
return source;
} else {
return 0;
}
}

Wyświetl plik

@ -21,6 +21,7 @@
#include "plugin/plugininterface.h"
class DeviceUISet;
class BasebandSampleSource;
class AMModPlugin : public QObject, PluginInterface {
Q_OBJECT
@ -34,6 +35,7 @@ public:
void initPlugin(PluginAPI* pluginAPI);
PluginInstanceGUI* createTxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet);
BasebandSampleSource* createTxChannel(const QString& channelName, DeviceSinkAPI *deviceAPI);
private:
static const PluginDescriptor m_pluginDescriptor;

Wyświetl plik

@ -40,6 +40,7 @@ MESSAGE_CLASS_DEFINITION(ATVMod::MsgConfigureOverlayText, Message)
MESSAGE_CLASS_DEFINITION(ATVMod::MsgConfigureShowOverlayText, Message)
MESSAGE_CLASS_DEFINITION(ATVMod::MsgReportEffectiveSampleRate, Message)
const QString ATVMod::m_channelID = "sdrangel.channeltx.modatv";
const float ATVMod::m_blackLevel = 0.3f;
const float ATVMod::m_spanLevel = 0.7f;
const int ATVMod::m_levelNbSamples = 10000; // every 10ms

Wyświetl plik

@ -407,6 +407,8 @@ public:
static void getBaseValues(int outputSampleRate, int linesPerSecond, int& sampleRateUnits, uint32_t& nbPointsPerRateUnit);
static float getRFBandwidthDivisor(ATVModSettings::ATVModulation modulation);
static const QString m_channelID;
signals:
/**
* Level changed

Wyświetl plik

@ -35,8 +35,6 @@
#include "ui_atvmodgui.h"
#include "atvmodgui.h"
const QString ATVModGUI::m_channelID = "sdrangel.channeltx.modatv";
ATVModGUI* ATVModGUI::create(PluginAPI* pluginAPI, DeviceUISet *deviceUISet)
{
ATVModGUI* gui = new ATVModGUI(pluginAPI, deviceUISet);
@ -628,7 +626,7 @@ ATVModGUI::ATVModGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, QWidget* pa
connect(&m_channelMarker, SIGNAL(changed()), this, SLOT(channelMarkerChanged()));
m_deviceUISet->registerTxChannelInstance(m_channelID, this);
m_deviceUISet->registerTxChannelInstance(ATVMod::m_channelID, this);
m_deviceUISet->addChannelMarker(&m_channelMarker);
m_deviceUISet->addRollupWidget(this);

Wyświetl plik

@ -54,8 +54,6 @@ public:
virtual MessageQueue *getInputMessageQueue() { return &m_inputMessageQueue; }
virtual bool handleMessage(const Message& message);
static const QString m_channelID;
private slots:
void channelMarkerChanged();
void handleSourceMessages();

Wyświetl plik

@ -19,6 +19,7 @@
#include "plugin/pluginapi.h"
#include "atvmodgui.h"
#include "atvmod.h"
#include "atvmodplugin.h"
const PluginDescriptor ATVModPlugin::m_pluginDescriptor = {
@ -46,12 +47,12 @@ void ATVModPlugin::initPlugin(PluginAPI* pluginAPI)
m_pluginAPI = pluginAPI;
// register ATV modulator
m_pluginAPI->registerTxChannel(ATVModGUI::m_channelID, this);
m_pluginAPI->registerTxChannel(ATVMod::m_channelID, this);
}
PluginInstanceGUI* ATVModPlugin::createTxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet)
{
if(channelName == ATVModGUI::m_channelID)
if(channelName == ATVMod::m_channelID)
{
ATVModGUI* gui = ATVModGUI::create(m_pluginAPI, deviceUISet);
return gui;
@ -60,5 +61,15 @@ PluginInstanceGUI* ATVModPlugin::createTxChannelGUI(const QString& channelName,
}
}
BasebandSampleSource* ATVModPlugin::createTxChannel(const QString& channelName, DeviceSinkAPI *deviceAPI)
{
if(channelName == ATVMod::m_channelID)
{
ATVMod* source = new ATVMod(deviceAPI);
return source;
} else {
return 0;
}
}

Wyświetl plik

@ -21,6 +21,7 @@
#include "plugin/plugininterface.h"
class DeviceSinkAPI;
class BasebandSampleSource;
class ATVModPlugin : public QObject, PluginInterface {
Q_OBJECT
@ -34,6 +35,7 @@ public:
void initPlugin(PluginAPI* pluginAPI);
PluginInstanceGUI* createTxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet);
BasebandSampleSource* createTxChannel(const QString& channelName, DeviceSinkAPI *deviceAPI);
private:
static const PluginDescriptor m_pluginDescriptor;

Wyświetl plik

@ -39,6 +39,7 @@ MESSAGE_CLASS_DEFINITION(NFMMod::MsgConfigureFileSourceStreamTiming, Message)
MESSAGE_CLASS_DEFINITION(NFMMod::MsgReportFileSourceStreamData, Message)
MESSAGE_CLASS_DEFINITION(NFMMod::MsgReportFileSourceStreamTiming, Message)
const QString NFMMod::m_channelID = "sdrangel.channeltx.modnfm";
const int NFMMod::m_levelNbSamples = 480; // every 10ms
NFMMod::NFMMod(DeviceSinkAPI *deviceAPI) :

Wyświetl plik

@ -240,6 +240,8 @@ public:
CWKeyer *getCWKeyer() { return &m_cwKeyer; }
static const QString m_channelID;
signals:
/**
* Level changed

Wyświetl plik

@ -32,8 +32,6 @@
#include "ui_nfmmodgui.h"
#include "nfmmodgui.h"
const QString NFMModGUI::m_channelID = "sdrangel.channeltx.modnfm";
NFMModGUI* NFMModGUI::create(PluginAPI* pluginAPI, DeviceUISet *deviceUISet)
{
@ -331,7 +329,7 @@ NFMModGUI::NFMModGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, QWidget* pa
connect(&m_channelMarker, SIGNAL(changed()), this, SLOT(channelMarkerChanged()));
m_deviceUISet->registerTxChannelInstance(m_channelID, this);
m_deviceUISet->registerTxChannelInstance(NFMMod::m_channelID, this);
m_deviceUISet->addChannelMarker(&m_channelMarker);
m_deviceUISet->addRollupWidget(this);

Wyświetl plik

@ -52,8 +52,6 @@ public:
virtual MessageQueue *getInputMessageQueue() { return &m_inputMessageQueue; }
virtual bool handleMessage(const Message& message);
static const QString m_channelID;
private slots:
void channelMarkerChanged();
void handleSourceMessages();

Wyświetl plik

@ -46,12 +46,12 @@ void NFMModPlugin::initPlugin(PluginAPI* pluginAPI)
m_pluginAPI = pluginAPI;
// register AM modulator
m_pluginAPI->registerTxChannel(NFMModGUI::m_channelID, this);
m_pluginAPI->registerTxChannel(NFMMod::m_channelID, this);
}
PluginInstanceGUI* NFMModPlugin::createTxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet)
{
if(channelName == NFMModGUI::m_channelID)
if(channelName == NFMMod::m_channelID)
{
NFMModGUI* gui = NFMModGUI::create(m_pluginAPI, deviceUISet);
return gui;
@ -59,3 +59,14 @@ PluginInstanceGUI* NFMModPlugin::createTxChannelGUI(const QString& channelName,
return 0;
}
}
BasebandSampleSource* NFMModPlugin::createTxChannel(const QString& channelName, DeviceSinkAPI *deviceAPI)
{
if(channelName == NFMMod::m_channelID)
{
NFMMod* source = new NFMMod(deviceAPI);
return source;
} else {
return 0;
}
}

Wyświetl plik

@ -21,6 +21,7 @@
#include "plugin/plugininterface.h"
class DeviceUISet;
class BasebandSampleSource;
class NFMModPlugin : public QObject, PluginInterface {
Q_OBJECT
@ -34,6 +35,7 @@ public:
void initPlugin(PluginAPI* pluginAPI);
PluginInstanceGUI* createTxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet);
BasebandSampleSource* createTxChannel(const QString& channelName, DeviceSinkAPI *deviceAPI);
private:
static const PluginDescriptor m_pluginDescriptor;

Wyświetl plik

@ -37,10 +37,11 @@ MESSAGE_CLASS_DEFINITION(SSBMod::MsgConfigureFileSourceStreamTiming, Message)
MESSAGE_CLASS_DEFINITION(SSBMod::MsgReportFileSourceStreamData, Message)
MESSAGE_CLASS_DEFINITION(SSBMod::MsgReportFileSourceStreamTiming, Message)
const QString SSBMod::m_channelID = "sdrangel.channeltx.modssb";
const int SSBMod::m_levelNbSamples = 480; // every 10ms
const int SSBMod::m_ssbFftLen = 1024;
SSBMod::SSBMod(DeviceSinkAPI *deviceAPI, BasebandSampleSink* sampleSink) :
SSBMod::SSBMod(DeviceSinkAPI *deviceAPI) :
m_deviceAPI(deviceAPI),
m_SSBFilter(0),
m_DSBFilter(0),
@ -48,7 +49,7 @@ SSBMod::SSBMod(DeviceSinkAPI *deviceAPI, BasebandSampleSink* sampleSink) :
m_DSBFilterBuffer(0),
m_SSBFilterBufferIndex(0),
m_DSBFilterBufferIndex(0),
m_sampleSink(sampleSink),
m_sampleSink(0),
m_movingAverage(40, 0),
m_audioFifo(4800),
m_settingsMutex(QMutex::Recursive),

Wyświetl plik

@ -226,9 +226,11 @@ public:
//=================================================================
SSBMod(DeviceSinkAPI *deviceAPI, BasebandSampleSink* sampleSink);
SSBMod(DeviceSinkAPI *deviceAPI);
~SSBMod();
void setSpectrumSampleSink(BasebandSampleSink* sampleSink) { m_sampleSink = sampleSink; }
virtual void pull(Sample& sample);
virtual void pullAudio(int nbSamples);
virtual void start();
@ -239,6 +241,8 @@ public:
CWKeyer *getCWKeyer() { return &m_cwKeyer; }
static const QString m_channelID;
signals:
/**
* Level changed

Wyświetl plik

@ -33,8 +33,6 @@
#include "dsp/dspengine.h"
#include "mainwindow.h"
const QString SSBModGUI::m_channelID = "sdrangel.channeltx.modssb";
SSBModGUI* SSBModGUI::create(PluginAPI* pluginAPI, DeviceUISet *deviceUISet)
{
SSBModGUI* gui = new SSBModGUI(pluginAPI, deviceUISet);
@ -375,7 +373,8 @@ SSBModGUI::SSBModGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, QWidget* pa
connect(this, SIGNAL(menuDoubleClickEvent()), this, SLOT(onMenuDoubleClicked()));
m_spectrumVis = new SpectrumVis(ui->glSpectrum);
m_ssbMod = new SSBMod(m_deviceUISet->m_deviceSinkAPI, m_spectrumVis);
m_ssbMod = new SSBMod(m_deviceUISet->m_deviceSinkAPI);
m_ssbMod->setSpectrumSampleSink(m_spectrumVis);
m_ssbMod->setMessageQueueToGUI(getInputMessageQueue());
resetToDefaults();
@ -405,7 +404,7 @@ SSBModGUI::SSBModGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, QWidget* pa
connect(&m_channelMarker, SIGNAL(changed()), this, SLOT(channelMarkerChanged()));
m_deviceUISet->registerTxChannelInstance(m_channelID, this);
m_deviceUISet->registerTxChannelInstance(SSBMod::m_channelID, this);
m_deviceUISet->addChannelMarker(&m_channelMarker);
m_deviceUISet->addRollupWidget(this);

Wyświetl plik

@ -54,8 +54,6 @@ public:
virtual MessageQueue *getInputMessageQueue() { return &m_inputMessageQueue; }
virtual bool handleMessage(const Message& message);
static const QString m_channelID;
private slots:
void handleSourceMessages();
void channelMarkerChanged();

Wyświetl plik

@ -19,6 +19,7 @@
#include "plugin/pluginapi.h"
#include "ssbmodgui.h"
#include "ssbmod.h"
#include "ssbmodplugin.h"
const PluginDescriptor SSBModPlugin::m_pluginDescriptor = {
@ -46,12 +47,12 @@ void SSBModPlugin::initPlugin(PluginAPI* pluginAPI)
m_pluginAPI = pluginAPI;
// register SSB modulator
m_pluginAPI->registerTxChannel(SSBModGUI::m_channelID, this);
m_pluginAPI->registerTxChannel(SSBMod::m_channelID, this);
}
PluginInstanceGUI* SSBModPlugin::createTxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet)
{
if(channelName == SSBModGUI::m_channelID)
if(channelName == SSBMod::m_channelID)
{
SSBModGUI* gui = SSBModGUI::create(m_pluginAPI, deviceUISet);
return gui;
@ -59,3 +60,14 @@ PluginInstanceGUI* SSBModPlugin::createTxChannelGUI(const QString& channelName,
return 0;
}
}
BasebandSampleSource* SSBModPlugin::createTxChannel(const QString& channelName, DeviceSinkAPI *deviceAPI)
{
if(channelName == SSBMod::m_channelID)
{
SSBMod* source = new SSBMod(deviceAPI);
return source;
} else {
return 0;
}
}

Wyświetl plik

@ -21,6 +21,7 @@
#include "plugin/plugininterface.h"
class DeviceUISet;
class BasebandSampleSource;
class SSBModPlugin : public QObject, PluginInterface {
Q_OBJECT
@ -34,6 +35,7 @@ public:
void initPlugin(PluginAPI* pluginAPI);
PluginInstanceGUI* createTxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet);
BasebandSampleSource* createTxChannel(const QString& channelName, DeviceSinkAPI *deviceAPI);
private:
static const PluginDescriptor m_pluginDescriptor;

Wyświetl plik

@ -39,6 +39,7 @@ MESSAGE_CLASS_DEFINITION(WFMMod::MsgConfigureFileSourceStreamTiming, Message)
MESSAGE_CLASS_DEFINITION(WFMMod::MsgReportFileSourceStreamData, Message)
MESSAGE_CLASS_DEFINITION(WFMMod::MsgReportFileSourceStreamTiming, Message)
const QString WFMMod::m_channelID = "sdrangel.channeltx.modwfm";
const int WFMMod::m_levelNbSamples = 480; // every 10ms
const int WFMMod::m_rfFilterFFTLength = 1024;

Wyświetl plik

@ -239,6 +239,8 @@ public:
CWKeyer *getCWKeyer() { return &m_cwKeyer; }
static const QString m_channelID;
signals:
/**
* Level changed

Wyświetl plik

@ -34,8 +34,6 @@
#include "ui_wfmmodgui.h"
#include "wfmmodgui.h"
const QString WFMModGUI::m_channelID = "sdrangel.channeltx.modwfm";
WFMModGUI* WFMModGUI::create(PluginAPI* pluginAPI, DeviceUISet *deviceUISet)
{
WFMModGUI* gui = new WFMModGUI(pluginAPI, deviceUISet);
@ -320,7 +318,7 @@ WFMModGUI::WFMModGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, QWidget* pa
connect(&m_channelMarker, SIGNAL(changed()), this, SLOT(channelMarkerChanged()));
m_deviceUISet->registerTxChannelInstance(m_channelID, this);
m_deviceUISet->registerTxChannelInstance(WFMMod::m_channelID, this);
m_deviceUISet->addChannelMarker(&m_channelMarker);
m_deviceUISet->addRollupWidget(this);

Wyświetl plik

@ -55,8 +55,6 @@ public:
virtual MessageQueue *getInputMessageQueue() { return &m_inputMessageQueue; }
virtual bool handleMessage(const Message& message);
static const QString m_channelID;
private slots:
void channelMarkerChanged();
void handleSourceMessages();

Wyświetl plik

@ -19,6 +19,7 @@
#include "plugin/pluginapi.h"
#include "wfmmodgui.h"
#include "wfmmod.h"
#include "wfmmodplugin.h"
const PluginDescriptor WFMModPlugin::m_pluginDescriptor = {
@ -46,12 +47,12 @@ void WFMModPlugin::initPlugin(PluginAPI* pluginAPI)
m_pluginAPI = pluginAPI;
// register AM modulator
m_pluginAPI->registerTxChannel(WFMModGUI::m_channelID, this);
m_pluginAPI->registerTxChannel(WFMMod::m_channelID, this);
}
PluginInstanceGUI* WFMModPlugin::createTxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet)
{
if(channelName == WFMModGUI::m_channelID)
if(channelName == WFMMod::m_channelID)
{
WFMModGUI* gui = WFMModGUI::create(m_pluginAPI, deviceUISet);
return gui;
@ -59,3 +60,14 @@ PluginInstanceGUI* WFMModPlugin::createTxChannelGUI(const QString& channelName,
return 0;
}
}
BasebandSampleSource* WFMModPlugin::createTxChannel(const QString& channelName, DeviceSinkAPI *deviceAPI)
{
if(channelName == WFMMod::m_channelID)
{
WFMMod* source = new WFMMod(deviceAPI);
return source;
} else {
return 0;
}
}

Wyświetl plik

@ -34,6 +34,7 @@ public:
void initPlugin(PluginAPI* pluginAPI);
PluginInstanceGUI* createTxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet);
BasebandSampleSource* createTxChannel(const QString& channelName, DeviceSinkAPI *deviceAPI);
private:
static const PluginDescriptor m_pluginDescriptor;

Wyświetl plik

@ -29,10 +29,12 @@ MESSAGE_CLASS_DEFINITION(UDPSink::MsgConfigureChannelizer, Message)
MESSAGE_CLASS_DEFINITION(UDPSink::MsgUDPSinkSpectrum, Message)
MESSAGE_CLASS_DEFINITION(UDPSink::MsgResetReadIndex, Message)
UDPSink::UDPSink(DeviceSinkAPI *deviceAPI, BasebandSampleSink* spectrum) :
const QString UDPSink::m_channelID = "sdrangel.channeltx.udpsink";
UDPSink::UDPSink(DeviceSinkAPI *deviceAPI) :
m_deviceAPI(deviceAPI),
m_squelch(1e-6),
m_spectrum(spectrum),
m_spectrum(0),
m_spectrumEnabled(false),
m_spectrumChunkSize(2160),
m_spectrumChunkCounter(0),
@ -255,7 +257,7 @@ void UDPSink::modulateSample()
m_sampleBuffer.push_back(s);
m_spectrumChunkCounter++;
}
else
else if (m_spectrum)
{
m_spectrum->feed(m_sampleBuffer.begin(), m_sampleBuffer.end(), false);
m_sampleBuffer.clear();

Wyświetl plik

@ -85,9 +85,11 @@ public:
{ }
};
UDPSink(DeviceSinkAPI *deviceAPI, BasebandSampleSink* spectrum);
UDPSink(DeviceSinkAPI *deviceAPI);
virtual ~UDPSink();
void setSpectrumSink(BasebandSampleSink* spectrum) { m_spectrum = spectrum; }
virtual void start();
virtual void stop();
virtual void pull(Sample& sample);
@ -101,6 +103,8 @@ public:
void setSpectrum(bool enabled);
void resetReadIndex();
static const QString m_channelID;
signals:
/**
* Level changed

Wyświetl plik

@ -27,8 +27,6 @@
#include "udpsinkgui.h"
#include "ui_udpsinkgui.h"
const QString UDPSinkGUI::m_channelID = "sdrangel.channeltx.udpsink";
UDPSinkGUI* UDPSinkGUI::create(PluginAPI* pluginAPI, DeviceUISet *deviceUISet)
{
UDPSinkGUI* gui = new UDPSinkGUI(pluginAPI, deviceUISet);
@ -121,7 +119,8 @@ UDPSinkGUI::UDPSinkGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, QWidget*
setAttribute(Qt::WA_DeleteOnClose, true);
m_spectrumVis = new SpectrumVis(ui->glSpectrum);
m_udpSink = new UDPSink(m_deviceUISet->m_deviceSinkAPI, m_spectrumVis);
m_udpSink = new UDPSink(m_deviceUISet->m_deviceSinkAPI);
m_udpSink->setSpectrumSink(m_spectrumVis);
m_udpSink->setMessageQueueToGUI(getInputMessageQueue());
ui->fmDeviation->setEnabled(false);
@ -147,7 +146,7 @@ UDPSinkGUI::UDPSinkGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, QWidget*
connect(&m_channelMarker, SIGNAL(changed()), this, SLOT(channelMarkerChanged()));
m_deviceUISet->registerTxChannelInstance(m_channelID, this);
m_deviceUISet->registerTxChannelInstance(UDPSink::m_channelID, this);
m_deviceUISet->addChannelMarker(&m_channelMarker);
m_deviceUISet->addRollupWidget(this);

Wyświetl plik

@ -53,8 +53,6 @@ public:
virtual MessageQueue *getInputMessageQueue() { return &m_inputMessageQueue; }
virtual bool handleMessage(const Message& message);
static const QString m_channelID;
private slots:
void handleSourceMessages();
void channelMarkerChanged();

Wyświetl plik

@ -47,12 +47,12 @@ void UDPSinkPlugin::initPlugin(PluginAPI* pluginAPI)
m_pluginAPI = pluginAPI;
// register TCP Channel Source
m_pluginAPI->registerTxChannel(UDPSinkGUI::m_channelID, this);
m_pluginAPI->registerTxChannel(UDPSink::m_channelID, this);
}
PluginInstanceGUI* UDPSinkPlugin::createTxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet)
{
if(channelName == UDPSinkGUI::m_channelID)
if(channelName == UDPSink::m_channelID)
{
UDPSinkGUI* gui = UDPSinkGUI::create(m_pluginAPI, deviceUISet);
// deviceAPI->registerChannelInstance("sdrangel.channel.udpsrc", gui);
@ -62,3 +62,14 @@ PluginInstanceGUI* UDPSinkPlugin::createTxChannelGUI(const QString& channelName,
return 0;
}
}
BasebandSampleSource* UDPSinkPlugin::createTxChannel(const QString& channelName, DeviceSinkAPI *deviceAPI)
{
if(channelName == UDPSink::m_channelID)
{
UDPSink* source = new UDPSink(deviceAPI);
return source;
} else {
return 0;
}
}

Wyświetl plik

@ -22,6 +22,7 @@
#include "plugin/plugininterface.h"
class DeviceUISet;
class BasebandSampleSource;
class UDPSinkPlugin : public QObject, PluginInterface {
Q_OBJECT
@ -35,6 +36,7 @@ public:
void initPlugin(PluginAPI* pluginAPI);
PluginInstanceGUI* createTxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet);
BasebandSampleSource* createTxChannel(const QString& channelName, DeviceSinkAPI *deviceAPI);
private:
static const PluginDescriptor m_pluginDescriptor;