1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2025-05-24 11:12:27 -04:00

Single DeviceAPI interface (1)

This commit is contained in:
f4exb 2019-05-08 22:11:53 +02:00
parent 69313daeae
commit 89e53cf179
255 changed files with 1632 additions and 1717 deletions

View File

@ -180,7 +180,7 @@ Note that the following would also work for multiple sample channels Rx or Tx on
In SDRangel there is a complete receiver or transmitter per I/Q sample flow. These transmitters and receivers are visually represented by the Rn and Tn tabs in the main window. They are created and disposed in the way explained in the previous paragraph using the source or sink selection confirmation button. In fact it acts as if each receiver or transmitter was controlled independently. In single input or single output (none at the moment) devices this is a true independence but with SISO or MIMO devices this cannot be the case and although each receiver or transmitter looks like it was handled independently there are things in common that have to be taken into account. For example in all cases the device handle should be unique and opening and closing the device has to be done only once per physical device usage cycle. In SDRangel there is a complete receiver or transmitter per I/Q sample flow. These transmitters and receivers are visually represented by the Rn and Tn tabs in the main window. They are created and disposed in the way explained in the previous paragraph using the source or sink selection confirmation button. In fact it acts as if each receiver or transmitter was controlled independently. In single input or single output (none at the moment) devices this is a true independence but with SISO or MIMO devices this cannot be the case and although each receiver or transmitter looks like it was handled independently there are things in common that have to be taken into account. For example in all cases the device handle should be unique and opening and closing the device has to be done only once per physical device usage cycle.
This is where the "buddies list" come into play. Receivers exhibit a generic interface in the form of the DeviceSourceAPI class and transmitter have the DeviceSinkAPI with the same role. Through these APIs some information and control can flow between receivers and transmitters. The point is that all receivers and/or transmitters pertaining to the same physical device must "know" each other in order to be able to exchange information or control each other. For this purpose the DeviceSourceAPI or DeviceSinkAPI maintain a list of DeviceSourceAPI siblings and a list of DeviceSinkAPI siblings called "buddies". Thus any multi flow Rx/Tx configuration can be handled. This is where the "buddies list" come into play. Devices exhibit a generic interface in the form of the DeviceAPI class. Through this API some information and control can flow between receivers and transmitters. The point is that all receivers and/or transmitters pertaining to the same physical device must "know" each other in order to be able to exchange information or control each other. For this purpose the DeviceAPI maintain a list of DeviceAPI siblings called "buddies". Thus any multi flow Rx/Tx configuration can be handled.
The exact behaviour of these coupled receivers and/or transmitters is dependent on the hardware therefore a generic pointer attached to the API can be used to convey any kind of class or structure tailored for the exact hardware use case. Through this structure the state of the receiver or transmitter can be exposed therefore there is one structure per receiver and transmitter in the device interface. This structure may contain pointers to common areas (dynamically allocated) related to the physical device. One such "area" is the device handle which is present in all cases. The exact behaviour of these coupled receivers and/or transmitters is dependent on the hardware therefore a generic pointer attached to the API can be used to convey any kind of class or structure tailored for the exact hardware use case. Through this structure the state of the receiver or transmitter can be exposed therefore there is one structure per receiver and transmitter in the device interface. This structure may contain pointers to common areas (dynamically allocated) related to the physical device. One such "area" is the device handle which is present in all cases.

View File

@ -24,7 +24,7 @@
/** /**
* This structure refers to one physical device shared among parties (logical devices represented by * This structure refers to one physical device shared among parties (logical devices represented by
* the DeviceSinkAPI or DeviceSourceAPI). * the DeviceAPI with single Rx or Tx stream type).
* It allows storing information on the common resources in one place and is shared among participants. * It allows storing information on the common resources in one place and is shared among participants.
* There is only one copy that is constructed by the first participant and destroyed by the last. * There is only one copy that is constructed by the first participant and destroyed by the last.
* A participant knows it is the first or last by checking the lists of buddies (Rx + Tx). * A participant knows it is the first or last by checking the lists of buddies (Rx + Tx).

View File

@ -26,7 +26,7 @@ class DEVICES_API DevicePlutoSDRBox;
/** /**
* This structure refers to one physical device shared among parties (logical devices represented by * This structure refers to one physical device shared among parties (logical devices represented by
* the DeviceSinkAPI or DeviceSourceAPI). * the DeviceAPI with single Rx or Tx stream type).
* It allows storing information on the common resources in one place and is shared among participants. * It allows storing information on the common resources in one place and is shared among participants.
* There is only one copy that is constructed by the first participant and destroyed by the last. * There is only one copy that is constructed by the first participant and destroyed by the last.
* A participant knows it is the first or last by checking the lists of buddies (Rx + Tx). * A participant knows it is the first or last by checking the lists of buddies (Rx + Tx).

View File

@ -28,7 +28,7 @@
/** /**
* This structure refers to one physical device shared among parties (logical devices represented by * This structure refers to one physical device shared among parties (logical devices represented by
* the DeviceSinkAPI or DeviceSourceAPI). * the DeviceAPI with single Rx or Tx stream type).
* It allows storing information on the common resources in one place and is shared among participants. * It allows storing information on the common resources in one place and is shared among participants.
* There is only one copy that is constructed by the first participant and destroyed by the last. * There is only one copy that is constructed by the first participant and destroyed by the last.
* A participant knows it is the first or last by checking the lists of buddies (Rx + Tx). * A participant knows it is the first or last by checking the lists of buddies (Rx + Tx).

View File

@ -19,7 +19,7 @@
#include <QDebug> #include <QDebug>
#include <stdio.h> #include <stdio.h>
#include "device/devicesourceapi.h" #include "device/deviceapi.h"
#include "audio/audiooutput.h" #include "audio/audiooutput.h"
#include "dsp/threadedbasebandsamplesink.h" #include "dsp/threadedbasebandsamplesink.h"
#include "dsp/downchannelizer.h" #include "dsp/downchannelizer.h"
@ -32,7 +32,7 @@ MESSAGE_CLASS_DEFINITION(ChannelAnalyzer::MsgReportChannelSampleRateChanged, Mes
const QString ChannelAnalyzer::m_channelIdURI = "sdrangel.channel.chanalyzer"; const QString ChannelAnalyzer::m_channelIdURI = "sdrangel.channel.chanalyzer";
const QString ChannelAnalyzer::m_channelId = "ChannelAnalyzer"; const QString ChannelAnalyzer::m_channelId = "ChannelAnalyzer";
ChannelAnalyzer::ChannelAnalyzer(DeviceSourceAPI *deviceAPI) : ChannelAnalyzer::ChannelAnalyzer(DeviceAPI *deviceAPI) :
ChannelSinkAPI(m_channelIdURI), ChannelSinkAPI(m_channelIdURI),
m_deviceAPI(deviceAPI), m_deviceAPI(deviceAPI),
m_sampleSink(0), m_sampleSink(0),
@ -60,14 +60,14 @@ ChannelAnalyzer::ChannelAnalyzer(DeviceSourceAPI *deviceAPI) :
m_channelizer = new DownChannelizer(this); m_channelizer = new DownChannelizer(this);
m_threadedChannelizer = new ThreadedBasebandSampleSink(m_channelizer, this); m_threadedChannelizer = new ThreadedBasebandSampleSink(m_channelizer, this);
m_deviceAPI->addThreadedSink(m_threadedChannelizer); m_deviceAPI->addChannelSink(m_threadedChannelizer);
m_deviceAPI->addChannelAPI(this); m_deviceAPI->addChannelSinkAPI(this);
} }
ChannelAnalyzer::~ChannelAnalyzer() ChannelAnalyzer::~ChannelAnalyzer()
{ {
m_deviceAPI->removeChannelAPI(this); m_deviceAPI->removeChannelSinkAPI(this);
m_deviceAPI->removeThreadedSink(m_threadedChannelizer); m_deviceAPI->removeChannelSink(m_threadedChannelizer);
delete m_threadedChannelizer; delete m_threadedChannelizer;
delete m_channelizer; delete m_channelizer;
delete SSBFilter; delete SSBFilter;

View File

@ -37,7 +37,7 @@
#define ssbFftLen 1024 #define ssbFftLen 1024
class DeviceSourceAPI; class DeviceAPI;
class ThreadedBasebandSampleSink; class ThreadedBasebandSampleSink;
class DownChannelizer; class DownChannelizer;
@ -106,7 +106,7 @@ public:
{ } { }
}; };
ChannelAnalyzer(DeviceSourceAPI *deviceAPI); ChannelAnalyzer(DeviceAPI *deviceAPI);
virtual ~ChannelAnalyzer(); virtual ~ChannelAnalyzer();
virtual void destroy() { delete this; } virtual void destroy() { delete this; }
void setSampleSink(BasebandSampleSink* sampleSink) { m_sampleSink = sampleSink; } void setSampleSink(BasebandSampleSink* sampleSink) { m_sampleSink = sampleSink; }
@ -148,7 +148,7 @@ public:
static const QString m_channelId; static const QString m_channelId;
private: private:
DeviceSourceAPI *m_deviceAPI; DeviceAPI *m_deviceAPI;
ThreadedBasebandSampleSink* m_threadedChannelizer; ThreadedBasebandSampleSink* m_threadedChannelizer;
DownChannelizer* m_channelizer; DownChannelizer* m_channelizer;
ChannelAnalyzerSettings m_settings; ChannelAnalyzerSettings m_settings;

View File

@ -55,12 +55,12 @@ PluginInstanceGUI* ChannelAnalyzerPlugin::createRxChannelGUI(DeviceUISet *device
return ChannelAnalyzerGUI::create(m_pluginAPI, deviceUISet, rxChannel); return ChannelAnalyzerGUI::create(m_pluginAPI, deviceUISet, rxChannel);
} }
BasebandSampleSink* ChannelAnalyzerPlugin::createRxChannelBS(DeviceSourceAPI *deviceAPI) BasebandSampleSink* ChannelAnalyzerPlugin::createRxChannelBS(DeviceAPI *deviceAPI)
{ {
return new ChannelAnalyzer(deviceAPI); return new ChannelAnalyzer(deviceAPI);
} }
ChannelSinkAPI* ChannelAnalyzerPlugin::createRxChannelCS(DeviceSourceAPI *deviceAPI) ChannelSinkAPI* ChannelAnalyzerPlugin::createRxChannelCS(DeviceAPI *deviceAPI)
{ {
return new ChannelAnalyzer(deviceAPI); return new ChannelAnalyzer(deviceAPI);
} }

View File

@ -37,8 +37,8 @@ public:
void initPlugin(PluginAPI* pluginAPI); void initPlugin(PluginAPI* pluginAPI);
virtual PluginInstanceGUI* createRxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel); virtual PluginInstanceGUI* createRxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel);
virtual BasebandSampleSink* createRxChannelBS(DeviceSourceAPI *deviceAPI); virtual BasebandSampleSink* createRxChannelBS(DeviceAPI *deviceAPI);
virtual ChannelSinkAPI* createRxChannelCS(DeviceSourceAPI *deviceAPI); virtual ChannelSinkAPI* createRxChannelCS(DeviceAPI *deviceAPI);
private: private:
static const PluginDescriptor m_pluginDescriptor; static const PluginDescriptor m_pluginDescriptor;

View File

@ -37,7 +37,7 @@
#include "dsp/threadedbasebandsamplesink.h" #include "dsp/threadedbasebandsamplesink.h"
#include "dsp/dspcommands.h" #include "dsp/dspcommands.h"
#include "dsp/fftfilt.h" #include "dsp/fftfilt.h"
#include "device/devicesourceapi.h" #include "device/deviceapi.h"
#include "util/db.h" #include "util/db.h"
#include "util/stepfunctions.h" #include "util/stepfunctions.h"
@ -48,7 +48,7 @@ const QString AMDemod::m_channelIdURI = "sdrangel.channel.amdemod";
const QString AMDemod::m_channelId = "AMDemod"; const QString AMDemod::m_channelId = "AMDemod";
const int AMDemod::m_udpBlockSize = 512; const int AMDemod::m_udpBlockSize = 512;
AMDemod::AMDemod(DeviceSourceAPI *deviceAPI) : AMDemod::AMDemod(DeviceAPI *deviceAPI) :
ChannelSinkAPI(m_channelIdURI), ChannelSinkAPI(m_channelIdURI),
m_deviceAPI(deviceAPI), m_deviceAPI(deviceAPI),
m_inputSampleRate(48000), m_inputSampleRate(48000),
@ -83,8 +83,8 @@ AMDemod::AMDemod(DeviceSourceAPI *deviceAPI) :
m_channelizer = new DownChannelizer(this); m_channelizer = new DownChannelizer(this);
m_threadedChannelizer = new ThreadedBasebandSampleSink(m_channelizer, this); m_threadedChannelizer = new ThreadedBasebandSampleSink(m_channelizer, this);
m_deviceAPI->addThreadedSink(m_threadedChannelizer); m_deviceAPI->addChannelSink(m_threadedChannelizer);
m_deviceAPI->addChannelAPI(this); m_deviceAPI->addChannelSinkAPI(this);
m_pllFilt.create(101, m_audioSampleRate, 200.0); m_pllFilt.create(101, m_audioSampleRate, 200.0);
m_pll.computeCoefficients(0.05, 0.707, 1000); m_pll.computeCoefficients(0.05, 0.707, 1000);
@ -99,8 +99,8 @@ AMDemod::~AMDemod()
disconnect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*))); disconnect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*)));
delete m_networkManager; delete m_networkManager;
DSPEngine::instance()->getAudioDeviceManager()->removeAudioSink(&m_audioFifo); DSPEngine::instance()->getAudioDeviceManager()->removeAudioSink(&m_audioFifo);
m_deviceAPI->removeChannelAPI(this); m_deviceAPI->removeChannelSinkAPI(this);
m_deviceAPI->removeThreadedSink(m_threadedChannelizer); m_deviceAPI->removeChannelSink(m_threadedChannelizer);
delete m_threadedChannelizer; delete m_threadedChannelizer;
delete m_channelizer; delete m_channelizer;
delete DSBFilter; delete DSBFilter;

View File

@ -40,7 +40,7 @@
class QNetworkAccessManager; class QNetworkAccessManager;
class QNetworkReply; class QNetworkReply;
class DeviceSourceAPI; class DeviceAPI;
class DownChannelizer; class DownChannelizer;
class ThreadedBasebandSampleSink; class ThreadedBasebandSampleSink;
class fftfilt; class fftfilt;
@ -94,7 +94,7 @@ public:
{ } { }
}; };
AMDemod(DeviceSourceAPI *deviceAPI); AMDemod(DeviceAPI *deviceAPI);
~AMDemod(); ~AMDemod();
virtual void destroy() { delete this; } virtual void destroy() { delete this; }
@ -167,7 +167,7 @@ private:
RSRunning RSRunning
}; };
DeviceSourceAPI *m_deviceAPI; DeviceAPI *m_deviceAPI;
ThreadedBasebandSampleSink* m_threadedChannelizer; ThreadedBasebandSampleSink* m_threadedChannelizer;
DownChannelizer* m_channelizer; DownChannelizer* m_channelizer;

View File

@ -49,12 +49,12 @@ PluginInstanceGUI* AMDemodPlugin::createRxChannelGUI(DeviceUISet *deviceUISet, B
} }
#endif #endif
BasebandSampleSink* AMDemodPlugin::createRxChannelBS(DeviceSourceAPI *deviceAPI) BasebandSampleSink* AMDemodPlugin::createRxChannelBS(DeviceAPI *deviceAPI)
{ {
return new AMDemod(deviceAPI); return new AMDemod(deviceAPI);
} }
ChannelSinkAPI* AMDemodPlugin::createRxChannelCS(DeviceSourceAPI *deviceAPI) ChannelSinkAPI* AMDemodPlugin::createRxChannelCS(DeviceAPI *deviceAPI)
{ {
return new AMDemod(deviceAPI); return new AMDemod(deviceAPI);
} }

View File

@ -36,8 +36,8 @@ public:
void initPlugin(PluginAPI* pluginAPI); void initPlugin(PluginAPI* pluginAPI);
virtual PluginInstanceGUI* createRxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel); virtual PluginInstanceGUI* createRxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel);
virtual BasebandSampleSink* createRxChannelBS(DeviceSourceAPI *deviceAPI); virtual BasebandSampleSink* createRxChannelBS(DeviceAPI *deviceAPI);
virtual ChannelSinkAPI* createRxChannelCS(DeviceSourceAPI *deviceAPI); virtual ChannelSinkAPI* createRxChannelCS(DeviceAPI *deviceAPI);
private: private:
static const PluginDescriptor m_pluginDescriptor; static const PluginDescriptor m_pluginDescriptor;

View File

@ -25,7 +25,7 @@
#include "dsp/dspengine.h" #include "dsp/dspengine.h"
#include "dsp/downchannelizer.h" #include "dsp/downchannelizer.h"
#include "dsp/threadedbasebandsamplesink.h" #include "dsp/threadedbasebandsamplesink.h"
#include "device/devicesourceapi.h" #include "device/deviceapi.h"
#include "atvdemod.h" #include "atvdemod.h"
@ -39,7 +39,7 @@ const QString ATVDemod::m_channelIdURI = "sdrangel.channel.demodatv";
const QString ATVDemod::m_channelId = "ATVDemod"; const QString ATVDemod::m_channelId = "ATVDemod";
const int ATVDemod::m_ssbFftLen = 1024; const int ATVDemod::m_ssbFftLen = 1024;
ATVDemod::ATVDemod(DeviceSourceAPI *deviceAPI) : ATVDemod::ATVDemod(DeviceAPI *deviceAPI) :
ChannelSinkAPI(m_channelIdURI), ChannelSinkAPI(m_channelIdURI),
m_deviceAPI(deviceAPI), m_deviceAPI(deviceAPI),
m_scopeSink(0), m_scopeSink(0),
@ -90,16 +90,16 @@ ATVDemod::ATVDemod(DeviceSourceAPI *deviceAPI) :
m_channelizer = new DownChannelizer(this); m_channelizer = new DownChannelizer(this);
m_threadedChannelizer = new ThreadedBasebandSampleSink(m_channelizer, this); m_threadedChannelizer = new ThreadedBasebandSampleSink(m_channelizer, this);
m_deviceAPI->addThreadedSink(m_threadedChannelizer); m_deviceAPI->addChannelSink(m_threadedChannelizer);
m_deviceAPI->addChannelAPI(this); m_deviceAPI->addChannelSinkAPI(this);
connect(m_channelizer, SIGNAL(inputSampleRateChanged()), this, SLOT(channelSampleRateChanged())); connect(m_channelizer, SIGNAL(inputSampleRateChanged()), this, SLOT(channelSampleRateChanged()));
} }
ATVDemod::~ATVDemod() ATVDemod::~ATVDemod()
{ {
m_deviceAPI->removeChannelAPI(this); m_deviceAPI->removeChannelSinkAPI(this);
m_deviceAPI->removeThreadedSink(m_threadedChannelizer); m_deviceAPI->removeChannelSink(m_threadedChannelizer);
delete m_threadedChannelizer; delete m_threadedChannelizer;
delete m_channelizer; delete m_channelizer;
delete m_DSBFilter; delete m_DSBFilter;

View File

@ -40,7 +40,7 @@
#include "util/message.h" #include "util/message.h"
#include "gui/tvscreen.h" #include "gui/tvscreen.h"
class DeviceSourceAPI; class DeviceAPI;
class ThreadedBasebandSampleSink; class ThreadedBasebandSampleSink;
class DownChannelizer; class DownChannelizer;
@ -192,7 +192,7 @@ public:
{ } { }
}; };
ATVDemod(DeviceSourceAPI *deviceAPI); ATVDemod(DeviceAPI *deviceAPI);
~ATVDemod(); ~ATVDemod();
virtual void destroy() { delete this; } virtual void destroy() { delete this; }
void setScopeSink(BasebandSampleSink* scopeSink) { m_scopeSink = scopeSink; } void setScopeSink(BasebandSampleSink* scopeSink) { m_scopeSink = scopeSink; }
@ -405,7 +405,7 @@ private:
bool m_start; bool m_start;
}; };
DeviceSourceAPI* m_deviceAPI; DeviceAPI* m_deviceAPI;
ThreadedBasebandSampleSink* m_threadedChannelizer; ThreadedBasebandSampleSink* m_threadedChannelizer;
DownChannelizer* m_channelizer; DownChannelizer* m_channelizer;

View File

@ -60,12 +60,12 @@ PluginInstanceGUI* ATVDemodPlugin::createRxChannelGUI(DeviceUISet *deviceUISet,
return ATVDemodGUI::create(m_ptrPluginAPI, deviceUISet, rxChannel); return ATVDemodGUI::create(m_ptrPluginAPI, deviceUISet, rxChannel);
} }
BasebandSampleSink* ATVDemodPlugin::createRxChannelBS(DeviceSourceAPI *deviceAPI) BasebandSampleSink* ATVDemodPlugin::createRxChannelBS(DeviceAPI *deviceAPI)
{ {
return new ATVDemod(deviceAPI); return new ATVDemod(deviceAPI);
} }
ChannelSinkAPI* ATVDemodPlugin::createRxChannelCS(DeviceSourceAPI *deviceAPI) ChannelSinkAPI* ATVDemodPlugin::createRxChannelCS(DeviceAPI *deviceAPI)
{ {
return new ATVDemod(deviceAPI); return new ATVDemod(deviceAPI);
} }

View File

@ -38,8 +38,8 @@ public:
void initPlugin(PluginAPI* ptrPluginAPI); void initPlugin(PluginAPI* ptrPluginAPI);
virtual PluginInstanceGUI* createRxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel); virtual PluginInstanceGUI* createRxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel);
virtual BasebandSampleSink* createRxChannelBS(DeviceSourceAPI *deviceAPI); virtual BasebandSampleSink* createRxChannelBS(DeviceAPI *deviceAPI);
virtual ChannelSinkAPI* createRxChannelCS(DeviceSourceAPI *deviceAPI); virtual ChannelSinkAPI* createRxChannelCS(DeviceAPI *deviceAPI);
private: private:
static const PluginDescriptor m_ptrPluginDescriptor; static const PluginDescriptor m_ptrPluginDescriptor;

View File

@ -37,7 +37,7 @@
#include "dsp/downchannelizer.h" #include "dsp/downchannelizer.h"
#include "dsp/threadedbasebandsamplesink.h" #include "dsp/threadedbasebandsamplesink.h"
#include "dsp/dspcommands.h" #include "dsp/dspcommands.h"
#include "device/devicesourceapi.h" #include "device/deviceapi.h"
#include "util/db.h" #include "util/db.h"
#include "rdsparser.h" #include "rdsparser.h"
@ -52,7 +52,7 @@ const QString BFMDemod::m_channelId = "BFMDemod";
const Real BFMDemod::default_deemphasis = 50.0; // 50 us const Real BFMDemod::default_deemphasis = 50.0; // 50 us
const int BFMDemod::m_udpBlockSize = 512; const int BFMDemod::m_udpBlockSize = 512;
BFMDemod::BFMDemod(DeviceSourceAPI *deviceAPI) : BFMDemod::BFMDemod(DeviceAPI *deviceAPI) :
ChannelSinkAPI(m_channelIdURI), ChannelSinkAPI(m_channelIdURI),
m_deviceAPI(deviceAPI), m_deviceAPI(deviceAPI),
m_inputSampleRate(384000), m_inputSampleRate(384000),
@ -103,8 +103,8 @@ BFMDemod::BFMDemod(DeviceSourceAPI *deviceAPI) :
m_channelizer = new DownChannelizer(this); m_channelizer = new DownChannelizer(this);
m_threadedChannelizer = new ThreadedBasebandSampleSink(m_channelizer, this); m_threadedChannelizer = new ThreadedBasebandSampleSink(m_channelizer, this);
m_deviceAPI->addThreadedSink(m_threadedChannelizer); m_deviceAPI->addChannelSink(m_threadedChannelizer);
m_deviceAPI->addChannelAPI(this); m_deviceAPI->addChannelSinkAPI(this);
m_networkManager = new QNetworkAccessManager(); m_networkManager = new QNetworkAccessManager();
connect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*))); connect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*)));
@ -117,8 +117,8 @@ BFMDemod::~BFMDemod()
DSPEngine::instance()->getAudioDeviceManager()->removeAudioSink(&m_audioFifo); DSPEngine::instance()->getAudioDeviceManager()->removeAudioSink(&m_audioFifo);
m_deviceAPI->removeChannelAPI(this); m_deviceAPI->removeChannelSinkAPI(this);
m_deviceAPI->removeThreadedSink(m_threadedChannelizer); m_deviceAPI->removeChannelSink(m_threadedChannelizer);
delete m_threadedChannelizer; delete m_threadedChannelizer;
delete m_channelizer; delete m_channelizer;
delete m_rfFilter; delete m_rfFilter;

View File

@ -44,7 +44,7 @@
class QNetworkAccessManager; class QNetworkAccessManager;
class QNetworkReply; class QNetworkReply;
class DeviceSourceAPI; class DeviceAPI;
class ThreadedBasebandSampleSink; class ThreadedBasebandSampleSink;
class DownChannelizer; class DownChannelizer;
@ -121,7 +121,7 @@ public:
{ } { }
}; };
BFMDemod(DeviceSourceAPI *deviceAPI); BFMDemod(DeviceAPI *deviceAPI);
virtual ~BFMDemod(); virtual ~BFMDemod();
virtual void destroy() { delete this; } virtual void destroy() { delete this; }
void setSampleSink(BasebandSampleSink* sampleSink) { m_sampleSink = sampleSink; } void setSampleSink(BasebandSampleSink* sampleSink) { m_sampleSink = sampleSink; }
@ -212,7 +212,7 @@ private:
RSRunning RSRunning
}; };
DeviceSourceAPI *m_deviceAPI; DeviceAPI *m_deviceAPI;
ThreadedBasebandSampleSink* m_threadedChannelizer; ThreadedBasebandSampleSink* m_threadedChannelizer;
DownChannelizer* m_channelizer; DownChannelizer* m_channelizer;

View File

@ -68,12 +68,12 @@ PluginInstanceGUI* BFMPlugin::createRxChannelGUI(DeviceUISet *deviceUISet, Baseb
} }
#endif #endif
BasebandSampleSink* BFMPlugin::createRxChannelBS(DeviceSourceAPI *deviceAPI) BasebandSampleSink* BFMPlugin::createRxChannelBS(DeviceAPI *deviceAPI)
{ {
return new BFMDemod(deviceAPI); return new BFMDemod(deviceAPI);
} }
ChannelSinkAPI* BFMPlugin::createRxChannelCS(DeviceSourceAPI *deviceAPI) ChannelSinkAPI* BFMPlugin::createRxChannelCS(DeviceAPI *deviceAPI)
{ {
return new BFMDemod(deviceAPI); return new BFMDemod(deviceAPI);
} }

View File

@ -36,8 +36,8 @@ public:
void initPlugin(PluginAPI* pluginAPI); void initPlugin(PluginAPI* pluginAPI);
virtual PluginInstanceGUI* createRxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel); virtual PluginInstanceGUI* createRxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel);
virtual BasebandSampleSink* createRxChannelBS(DeviceSourceAPI *deviceAPI); virtual BasebandSampleSink* createRxChannelBS(DeviceAPI *deviceAPI);
virtual ChannelSinkAPI* createRxChannelCS(DeviceSourceAPI *deviceAPI); virtual ChannelSinkAPI* createRxChannelCS(DeviceAPI *deviceAPI);
private: private:
static const PluginDescriptor m_pluginDescriptor; static const PluginDescriptor m_pluginDescriptor;

View File

@ -28,7 +28,7 @@
#include "dsp/downchannelizer.h" #include "dsp/downchannelizer.h"
#include "dsp/threadedbasebandsamplesink.h" #include "dsp/threadedbasebandsamplesink.h"
#include "device/devicesourceapi.h" #include "device/deviceapi.h"
const QString DATVDemod::m_channelIdURI = "sdrangel.channel.demoddatv"; const QString DATVDemod::m_channelIdURI = "sdrangel.channel.demoddatv";
const QString DATVDemod::m_channelId = "DATVDemod"; const QString DATVDemod::m_channelId = "DATVDemod";
@ -36,7 +36,7 @@ const QString DATVDemod::m_channelId = "DATVDemod";
MESSAGE_CLASS_DEFINITION(DATVDemod::MsgConfigureDATVDemod, Message) MESSAGE_CLASS_DEFINITION(DATVDemod::MsgConfigureDATVDemod, Message)
MESSAGE_CLASS_DEFINITION(DATVDemod::MsgConfigureChannelizer, Message) MESSAGE_CLASS_DEFINITION(DATVDemod::MsgConfigureChannelizer, Message)
DATVDemod::DATVDemod(DeviceSourceAPI *deviceAPI) : DATVDemod::DATVDemod(DeviceAPI *deviceAPI) :
ChannelSinkAPI(m_channelIdURI), ChannelSinkAPI(m_channelIdURI),
m_blnNeedConfigUpdate(false), m_blnNeedConfigUpdate(false),
m_deviceAPI(deviceAPI), m_deviceAPI(deviceAPI),
@ -66,8 +66,8 @@ DATVDemod::DATVDemod(DeviceSourceAPI *deviceAPI) :
m_channelizer = new DownChannelizer(this); m_channelizer = new DownChannelizer(this);
m_threadedChannelizer = new ThreadedBasebandSampleSink(m_channelizer, this); m_threadedChannelizer = new ThreadedBasebandSampleSink(m_channelizer, this);
m_deviceAPI->addThreadedSink(m_threadedChannelizer); m_deviceAPI->addChannelSink(m_threadedChannelizer);
m_deviceAPI->addChannelAPI(this); m_deviceAPI->addChannelSinkAPI(this);
} }
DATVDemod::~DATVDemod() DATVDemod::~DATVDemod()
@ -95,8 +95,8 @@ DATVDemod::~DATVDemod()
CleanUpDATVFramework(true); CleanUpDATVFramework(true);
m_deviceAPI->removeChannelAPI(this); m_deviceAPI->removeChannelSinkAPI(this);
m_deviceAPI->removeThreadedSink(m_threadedChannelizer); m_deviceAPI->removeChannelSink(m_threadedChannelizer);
delete m_threadedChannelizer; delete m_threadedChannelizer;
delete m_channelizer; delete m_channelizer;
delete m_objRFFilter; delete m_objRFFilter;

View File

@ -20,7 +20,7 @@
#ifndef INCLUDE_DATVDEMOD_H #ifndef INCLUDE_DATVDEMOD_H
#define INCLUDE_DATVDEMOD_H #define INCLUDE_DATVDEMOD_H
class DeviceSourceAPI; class DeviceAPI;
class ThreadedBasebandSampleSink; class ThreadedBasebandSampleSink;
class DownChannelizer; class DownChannelizer;
@ -129,7 +129,7 @@ class DATVDemod : public BasebandSampleSink, public ChannelSinkAPI
public: public:
DATVDemod(DeviceSourceAPI *); DATVDemod(DeviceAPI *);
~DATVDemod(); ~DATVDemod();
virtual void destroy() { delete this; } virtual void destroy() { delete this; }
@ -332,7 +332,7 @@ private:
//CONSTELLATION //CONSTELLATION
leansdr::datvconstellation<leansdr::f32> *r_scope_symbols; leansdr::datvconstellation<leansdr::f32> *r_scope_symbols;
DeviceSourceAPI* m_deviceAPI; DeviceAPI* m_deviceAPI;
ThreadedBasebandSampleSink* m_threadedChannelizer; ThreadedBasebandSampleSink* m_threadedChannelizer;
DownChannelizer* m_channelizer; DownChannelizer* m_channelizer;

View File

@ -134,7 +134,6 @@ void DATVDemodGUI::onMenuDoubleClicked()
{ {
} }
//DATVDemodGUI::DATVDemodGUI(PluginAPI* objPluginAPI, DeviceSourceAPI *objDeviceAPI, QWidget* objParent) :
DATVDemodGUI::DATVDemodGUI(PluginAPI* objPluginAPI, DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel, QWidget* objParent) : DATVDemodGUI::DATVDemodGUI(PluginAPI* objPluginAPI, DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel, QWidget* objParent) :
RollupWidget(objParent), RollupWidget(objParent),
ui(new Ui::DATVDemodGUI), ui(new Ui::DATVDemodGUI),

View File

@ -61,12 +61,12 @@ PluginInstanceGUI* DATVDemodPlugin::createRxChannelGUI(DeviceUISet *deviceUISet,
return DATVDemodGUI::create(m_ptrPluginAPI, deviceUISet, rxChannel); return DATVDemodGUI::create(m_ptrPluginAPI, deviceUISet, rxChannel);
} }
BasebandSampleSink* DATVDemodPlugin::createRxChannelBS(DeviceSourceAPI *deviceAPI) BasebandSampleSink* DATVDemodPlugin::createRxChannelBS(DeviceAPI *deviceAPI)
{ {
return new DATVDemod(deviceAPI); return new DATVDemod(deviceAPI);
} }
ChannelSinkAPI* DATVDemodPlugin::createRxChannelCS(DeviceSourceAPI *deviceAPI) ChannelSinkAPI* DATVDemodPlugin::createRxChannelCS(DeviceAPI *deviceAPI)
{ {
return new DATVDemod(deviceAPI); return new DATVDemod(deviceAPI);
} }

View File

@ -39,8 +39,8 @@ public:
void initPlugin(PluginAPI* ptrPluginAPI); void initPlugin(PluginAPI* ptrPluginAPI);
virtual PluginInstanceGUI* createRxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel); virtual PluginInstanceGUI* createRxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel);
virtual BasebandSampleSink* createRxChannelBS(DeviceSourceAPI *deviceAPI); virtual BasebandSampleSink* createRxChannelBS(DeviceAPI *deviceAPI);
virtual ChannelSinkAPI* createRxChannelCS(DeviceSourceAPI *deviceAPI); virtual ChannelSinkAPI* createRxChannelCS(DeviceAPI *deviceAPI);
private: private:

View File

@ -38,7 +38,7 @@
#include "dsp/threadedbasebandsamplesink.h" #include "dsp/threadedbasebandsamplesink.h"
#include "dsp/downchannelizer.h" #include "dsp/downchannelizer.h"
#include "dsp/dspcommands.h" #include "dsp/dspcommands.h"
#include "device/devicesourceapi.h" #include "device/deviceapi.h"
#include "util/db.h" #include "util/db.h"
#include "dsddemod.h" #include "dsddemod.h"
@ -51,7 +51,7 @@ const QString DSDDemod::m_channelIdURI = "sdrangel.channel.dsddemod";
const QString DSDDemod::m_channelId = "DSDDemod"; const QString DSDDemod::m_channelId = "DSDDemod";
const int DSDDemod::m_udpBlockSize = 512; const int DSDDemod::m_udpBlockSize = 512;
DSDDemod::DSDDemod(DeviceSourceAPI *deviceAPI) : DSDDemod::DSDDemod(DeviceAPI *deviceAPI) :
ChannelSinkAPI(m_channelIdURI), ChannelSinkAPI(m_channelIdURI),
m_deviceAPI(deviceAPI), m_deviceAPI(deviceAPI),
m_inputSampleRate(48000), m_inputSampleRate(48000),
@ -95,8 +95,8 @@ DSDDemod::DSDDemod(DeviceSourceAPI *deviceAPI) :
m_channelizer = new DownChannelizer(this); m_channelizer = new DownChannelizer(this);
m_threadedChannelizer = new ThreadedBasebandSampleSink(m_channelizer, this); m_threadedChannelizer = new ThreadedBasebandSampleSink(m_channelizer, this);
m_deviceAPI->addThreadedSink(m_threadedChannelizer); m_deviceAPI->addChannelSink(m_threadedChannelizer);
m_deviceAPI->addChannelAPI(this); m_deviceAPI->addChannelSinkAPI(this);
m_networkManager = new QNetworkAccessManager(); m_networkManager = new QNetworkAccessManager();
connect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*))); connect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*)));
@ -110,8 +110,8 @@ DSDDemod::~DSDDemod()
DSPEngine::instance()->getAudioDeviceManager()->removeAudioSink(&m_audioFifo1); DSPEngine::instance()->getAudioDeviceManager()->removeAudioSink(&m_audioFifo1);
DSPEngine::instance()->getAudioDeviceManager()->removeAudioSink(&m_audioFifo2); DSPEngine::instance()->getAudioDeviceManager()->removeAudioSink(&m_audioFifo2);
m_deviceAPI->removeChannelAPI(this); m_deviceAPI->removeChannelSinkAPI(this);
m_deviceAPI->removeThreadedSink(m_threadedChannelizer); m_deviceAPI->removeChannelSink(m_threadedChannelizer);
delete m_threadedChannelizer; delete m_threadedChannelizer;
delete m_channelizer; delete m_channelizer;
} }

View File

@ -43,7 +43,7 @@
class QNetworkAccessManager; class QNetworkAccessManager;
class QNetworkReply; class QNetworkReply;
class DeviceSourceAPI; class DeviceAPI;
class ThreadedBasebandSampleSink; class ThreadedBasebandSampleSink;
class DownChannelizer; class DownChannelizer;
@ -96,7 +96,7 @@ public:
{ } { }
}; };
DSDDemod(DeviceSourceAPI *deviceAPI); DSDDemod(DeviceAPI *deviceAPI);
~DSDDemod(); ~DSDDemod();
virtual void destroy() { delete this; } virtual void destroy() { delete this; }
void setScopeXYSink(BasebandSampleSink* sampleSink) { m_scopeXY = sampleSink; } void setScopeXYSink(BasebandSampleSink* sampleSink) { m_scopeXY = sampleSink; }
@ -205,7 +205,7 @@ private:
RSRunning RSRunning
}; };
DeviceSourceAPI *m_deviceAPI; DeviceAPI *m_deviceAPI;
ThreadedBasebandSampleSink* m_threadedChannelizer; ThreadedBasebandSampleSink* m_threadedChannelizer;
DownChannelizer* m_channelizer; DownChannelizer* m_channelizer;

View File

@ -68,12 +68,12 @@ PluginInstanceGUI* DSDDemodPlugin::createRxChannelGUI(DeviceUISet *deviceUISet,
} }
#endif #endif
BasebandSampleSink* DSDDemodPlugin::createRxChannelBS(DeviceSourceAPI *deviceAPI) BasebandSampleSink* DSDDemodPlugin::createRxChannelBS(DeviceAPI *deviceAPI)
{ {
return new DSDDemod(deviceAPI); return new DSDDemod(deviceAPI);
} }
ChannelSinkAPI* DSDDemodPlugin::createRxChannelCS(DeviceSourceAPI *deviceAPI) ChannelSinkAPI* DSDDemodPlugin::createRxChannelCS(DeviceAPI *deviceAPI)
{ {
return new DSDDemod(deviceAPI); return new DSDDemod(deviceAPI);
} }

View File

@ -37,8 +37,8 @@ public:
void initPlugin(PluginAPI* pluginAPI); void initPlugin(PluginAPI* pluginAPI);
virtual PluginInstanceGUI* createRxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel); virtual PluginInstanceGUI* createRxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel);
virtual BasebandSampleSink* createRxChannelBS(DeviceSourceAPI *deviceAPI); virtual BasebandSampleSink* createRxChannelBS(DeviceAPI *deviceAPI);
virtual ChannelSinkAPI* createRxChannelCS(DeviceSourceAPI *deviceAPI); virtual ChannelSinkAPI* createRxChannelCS(DeviceAPI *deviceAPI);
private: private:
static const PluginDescriptor m_pluginDescriptor; static const PluginDescriptor m_pluginDescriptor;

View File

@ -35,7 +35,7 @@
#include "dsp/downchannelizer.h" #include "dsp/downchannelizer.h"
#include "dsp/threadedbasebandsamplesink.h" #include "dsp/threadedbasebandsamplesink.h"
#include "dsp/dspcommands.h" #include "dsp/dspcommands.h"
#include "device/devicesourceapi.h" #include "device/deviceapi.h"
#include "util/db.h" #include "util/db.h"
#include "freedvdemod.h" #include "freedvdemod.h"
@ -144,7 +144,7 @@ void FreeDVDemod::LevelRMS::accumulate(float level)
} }
} }
FreeDVDemod::FreeDVDemod(DeviceSourceAPI *deviceAPI) : FreeDVDemod::FreeDVDemod(DeviceAPI *deviceAPI) :
ChannelSinkAPI(m_channelIdURI), ChannelSinkAPI(m_channelIdURI),
m_deviceAPI(deviceAPI), m_deviceAPI(deviceAPI),
m_hiCutoff(6000), m_hiCutoff(6000),
@ -197,8 +197,8 @@ FreeDVDemod::FreeDVDemod(DeviceSourceAPI *deviceAPI) :
m_channelizer = new DownChannelizer(this); m_channelizer = new DownChannelizer(this);
m_threadedChannelizer = new ThreadedBasebandSampleSink(m_channelizer, this); m_threadedChannelizer = new ThreadedBasebandSampleSink(m_channelizer, this);
m_deviceAPI->addThreadedSink(m_threadedChannelizer); m_deviceAPI->addChannelSink(m_threadedChannelizer);
m_deviceAPI->addChannelAPI(this); m_deviceAPI->addChannelSinkAPI(this);
m_networkManager = new QNetworkAccessManager(); m_networkManager = new QNetworkAccessManager();
connect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*))); connect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*)));
@ -210,8 +210,8 @@ FreeDVDemod::~FreeDVDemod()
delete m_networkManager; delete m_networkManager;
DSPEngine::instance()->getAudioDeviceManager()->removeAudioSink(&m_audioFifo); DSPEngine::instance()->getAudioDeviceManager()->removeAudioSink(&m_audioFifo);
m_deviceAPI->removeChannelAPI(this); m_deviceAPI->removeChannelSinkAPI(this);
m_deviceAPI->removeThreadedSink(m_threadedChannelizer); m_deviceAPI->removeChannelSink(m_threadedChannelizer);
delete m_threadedChannelizer; delete m_threadedChannelizer;
delete m_channelizer; delete m_channelizer;
delete SSBFilter; delete SSBFilter;

View File

@ -41,7 +41,7 @@
class QNetworkAccessManager; class QNetworkAccessManager;
class QNetworkReply; class QNetworkReply;
class DeviceSourceAPI; class DeviceAPI;
class ThreadedBasebandSampleSink; class ThreadedBasebandSampleSink;
class DownChannelizer; class DownChannelizer;
@ -111,7 +111,7 @@ public:
{ } { }
}; };
FreeDVDemod(DeviceSourceAPI *deviceAPI); FreeDVDemod(DeviceAPI *deviceAPI);
virtual ~FreeDVDemod(); virtual ~FreeDVDemod();
virtual void destroy() { delete this; } virtual void destroy() { delete this; }
void setSampleSink(BasebandSampleSink* sampleSink) { m_sampleSink = sampleSink; } void setSampleSink(BasebandSampleSink* sampleSink) { m_sampleSink = sampleSink; }
@ -342,7 +342,7 @@ private:
{ } { }
}; };
DeviceSourceAPI *m_deviceAPI; DeviceAPI *m_deviceAPI;
ThreadedBasebandSampleSink* m_threadedChannelizer; ThreadedBasebandSampleSink* m_threadedChannelizer;
DownChannelizer* m_channelizer; DownChannelizer* m_channelizer;
FreeDVDemodSettings m_settings; FreeDVDemodSettings m_settings;

View File

@ -67,12 +67,12 @@ PluginInstanceGUI* FreeDVPlugin::createRxChannelGUI(DeviceUISet *deviceUISet, Ba
} }
#endif #endif
BasebandSampleSink* FreeDVPlugin::createRxChannelBS(DeviceSourceAPI *deviceAPI) BasebandSampleSink* FreeDVPlugin::createRxChannelBS(DeviceAPI *deviceAPI)
{ {
return new FreeDVDemod(deviceAPI); return new FreeDVDemod(deviceAPI);
} }
ChannelSinkAPI* FreeDVPlugin::createRxChannelCS(DeviceSourceAPI *deviceAPI) ChannelSinkAPI* FreeDVPlugin::createRxChannelCS(DeviceAPI *deviceAPI)
{ {
return new FreeDVDemod(deviceAPI); return new FreeDVDemod(deviceAPI);
} }

View File

@ -36,8 +36,8 @@ public:
void initPlugin(PluginAPI* pluginAPI); void initPlugin(PluginAPI* pluginAPI);
virtual PluginInstanceGUI* createRxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel); virtual PluginInstanceGUI* createRxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel);
virtual BasebandSampleSink* createRxChannelBS(DeviceSourceAPI *deviceAPI); virtual BasebandSampleSink* createRxChannelBS(DeviceAPI *deviceAPI);
virtual ChannelSinkAPI* createRxChannelCS(DeviceSourceAPI *deviceAPI); virtual ChannelSinkAPI* createRxChannelCS(DeviceAPI *deviceAPI);
private: private:
static const PluginDescriptor m_pluginDescriptor; static const PluginDescriptor m_pluginDescriptor;

View File

@ -25,7 +25,7 @@
#include "dsp/downchannelizer.h" #include "dsp/downchannelizer.h"
#include "dsp/threadedbasebandsamplesink.h" #include "dsp/threadedbasebandsamplesink.h"
#include "dsp/dspcommands.h" #include "dsp/dspcommands.h"
#include "device/devicesourceapi.h" #include "device/deviceapi.h"
#include "lorademod.h" #include "lorademod.h"
#include "lorabits.h" #include "lorabits.h"
@ -36,7 +36,7 @@ MESSAGE_CLASS_DEFINITION(LoRaDemod::MsgConfigureChannelizer, Message)
const QString LoRaDemod::m_channelIdURI = "sdrangel.channel.lorademod"; const QString LoRaDemod::m_channelIdURI = "sdrangel.channel.lorademod";
const QString LoRaDemod::m_channelId = "LoRaDemod"; const QString LoRaDemod::m_channelId = "LoRaDemod";
LoRaDemod::LoRaDemod(DeviceSourceAPI* deviceAPI) : LoRaDemod::LoRaDemod(DeviceAPI* deviceAPI) :
ChannelSinkAPI(m_channelIdURI), ChannelSinkAPI(m_channelIdURI),
m_deviceAPI(deviceAPI), m_deviceAPI(deviceAPI),
m_sampleSink(0), m_sampleSink(0),
@ -69,8 +69,8 @@ LoRaDemod::LoRaDemod(DeviceSourceAPI* deviceAPI) :
m_channelizer = new DownChannelizer(this); m_channelizer = new DownChannelizer(this);
m_threadedChannelizer = new ThreadedBasebandSampleSink(m_channelizer); m_threadedChannelizer = new ThreadedBasebandSampleSink(m_channelizer);
m_deviceAPI->addThreadedSink(m_threadedChannelizer); m_deviceAPI->addChannelSink(m_threadedChannelizer);
m_deviceAPI->addChannelAPI(this); m_deviceAPI->addChannelSinkAPI(this);
} }
LoRaDemod::~LoRaDemod() LoRaDemod::~LoRaDemod()
@ -86,8 +86,8 @@ LoRaDemod::~LoRaDemod()
if (finetune) if (finetune)
delete [] finetune; delete [] finetune;
m_deviceAPI->removeChannelAPI(this); m_deviceAPI->removeChannelSinkAPI(this);
m_deviceAPI->removeThreadedSink(m_threadedChannelizer); m_deviceAPI->removeChannelSink(m_threadedChannelizer);
delete m_threadedChannelizer; delete m_threadedChannelizer;
delete m_channelizer; delete m_channelizer;
} }

View File

@ -37,7 +37,7 @@
#define LORA_SFFT_LEN (SPREADFACTOR / 2) #define LORA_SFFT_LEN (SPREADFACTOR / 2)
#define LORA_SQUELCH (3) #define LORA_SQUELCH (3)
class DeviceSourceAPI; class DeviceAPI;
class ThreadedBasebandSampleSink; class ThreadedBasebandSampleSink;
class DownChannelizer; class DownChannelizer;
@ -89,7 +89,7 @@ public:
{ } { }
}; };
LoRaDemod(DeviceSourceAPI* deviceAPI); LoRaDemod(DeviceAPI* deviceAPI);
virtual ~LoRaDemod(); virtual ~LoRaDemod();
virtual void destroy() { delete this; } virtual void destroy() { delete this; }
void setSpectrumSink(BasebandSampleSink* sampleSink) { m_sampleSink = sampleSink; } void setSpectrumSink(BasebandSampleSink* sampleSink) { m_sampleSink = sampleSink; }
@ -118,7 +118,7 @@ private:
void hamming6(char* inout, int size); void hamming6(char* inout, int size);
void prng6(char* inout, int size); void prng6(char* inout, int size);
DeviceSourceAPI *m_deviceAPI; DeviceAPI *m_deviceAPI;
ThreadedBasebandSampleSink* m_threadedChannelizer; ThreadedBasebandSampleSink* m_threadedChannelizer;
DownChannelizer* m_channelizer; DownChannelizer* m_channelizer;
LoRaDemodSettings m_settings; LoRaDemodSettings m_settings;

View File

@ -38,12 +38,12 @@ PluginInstanceGUI* LoRaPlugin::createRxChannelGUI(DeviceUISet *deviceUISet, Base
return LoRaDemodGUI::create(m_pluginAPI, deviceUISet, rxChannel); return LoRaDemodGUI::create(m_pluginAPI, deviceUISet, rxChannel);
} }
BasebandSampleSink* LoRaPlugin::createRxChannelBS(DeviceSourceAPI *deviceAPI) BasebandSampleSink* LoRaPlugin::createRxChannelBS(DeviceAPI *deviceAPI)
{ {
return new LoRaDemod(deviceAPI); return new LoRaDemod(deviceAPI);
} }
ChannelSinkAPI* LoRaPlugin::createRxChannelCS(DeviceSourceAPI *deviceAPI) ChannelSinkAPI* LoRaPlugin::createRxChannelCS(DeviceAPI *deviceAPI)
{ {
return new LoRaDemod(deviceAPI); return new LoRaDemod(deviceAPI);
} }

View File

@ -19,8 +19,8 @@ public:
void initPlugin(PluginAPI* pluginAPI); void initPlugin(PluginAPI* pluginAPI);
virtual PluginInstanceGUI* createRxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel); virtual PluginInstanceGUI* createRxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel);
virtual BasebandSampleSink* createRxChannelBS(DeviceSourceAPI *deviceAPI); virtual BasebandSampleSink* createRxChannelBS(DeviceAPI *deviceAPI);
virtual ChannelSinkAPI* createRxChannelCS(DeviceSourceAPI *deviceAPI); virtual ChannelSinkAPI* createRxChannelCS(DeviceAPI *deviceAPI);
private: private:
static const PluginDescriptor m_pluginDescriptor; static const PluginDescriptor m_pluginDescriptor;

View File

@ -37,7 +37,7 @@
#include "dsp/dspengine.h" #include "dsp/dspengine.h"
#include "dsp/threadedbasebandsamplesink.h" #include "dsp/threadedbasebandsamplesink.h"
#include "dsp/dspcommands.h" #include "dsp/dspcommands.h"
#include "device/devicesourceapi.h" #include "device/deviceapi.h"
#include "nfmdemod.h" #include "nfmdemod.h"
@ -52,7 +52,7 @@ static const double afSqTones[2] = {1000.0, 6000.0}; // {1200.0, 8000.0};
static const double afSqTones_lowrate[2] = {1000.0, 3500.0}; static const double afSqTones_lowrate[2] = {1000.0, 3500.0};
const int NFMDemod::m_udpBlockSize = 512; const int NFMDemod::m_udpBlockSize = 512;
NFMDemod::NFMDemod(DeviceSourceAPI *devieAPI) : NFMDemod::NFMDemod(DeviceAPI *devieAPI) :
ChannelSinkAPI(m_channelIdURI), ChannelSinkAPI(m_channelIdURI),
m_deviceAPI(devieAPI), m_deviceAPI(devieAPI),
m_inputSampleRate(48000), m_inputSampleRate(48000),
@ -97,8 +97,8 @@ NFMDemod::NFMDemod(DeviceSourceAPI *devieAPI) :
m_channelizer = new DownChannelizer(this); m_channelizer = new DownChannelizer(this);
m_threadedChannelizer = new ThreadedBasebandSampleSink(m_channelizer, this); m_threadedChannelizer = new ThreadedBasebandSampleSink(m_channelizer, this);
m_deviceAPI->addThreadedSink(m_threadedChannelizer); m_deviceAPI->addChannelSink(m_threadedChannelizer);
m_deviceAPI->addChannelAPI(this); m_deviceAPI->addChannelSinkAPI(this);
m_networkManager = new QNetworkAccessManager(); m_networkManager = new QNetworkAccessManager();
connect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*))); connect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*)));
@ -109,8 +109,8 @@ NFMDemod::~NFMDemod()
disconnect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*))); disconnect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*)));
delete m_networkManager; delete m_networkManager;
DSPEngine::instance()->getAudioDeviceManager()->removeAudioSink(&m_audioFifo); DSPEngine::instance()->getAudioDeviceManager()->removeAudioSink(&m_audioFifo);
m_deviceAPI->removeChannelAPI(this); m_deviceAPI->removeChannelSinkAPI(this);
m_deviceAPI->removeThreadedSink(m_threadedChannelizer); m_deviceAPI->removeChannelSink(m_threadedChannelizer);
delete m_threadedChannelizer; delete m_threadedChannelizer;
delete m_channelizer; delete m_channelizer;
} }

View File

@ -43,7 +43,7 @@
class QNetworkAccessManager; class QNetworkAccessManager;
class QNetworkReply; class QNetworkReply;
class DeviceSourceAPI; class DeviceAPI;
class ThreadedBasebandSampleSink; class ThreadedBasebandSampleSink;
class DownChannelizer; class DownChannelizer;
@ -116,7 +116,7 @@ public:
{ } { }
}; };
NFMDemod(DeviceSourceAPI *deviceAPI); NFMDemod(DeviceAPI *deviceAPI);
~NFMDemod(); ~NFMDemod();
virtual void destroy() { delete this; } virtual void destroy() { delete this; }
@ -195,7 +195,7 @@ private:
RSRunning RSRunning
}; };
DeviceSourceAPI* m_deviceAPI; DeviceAPI* m_deviceAPI;
ThreadedBasebandSampleSink* m_threadedChannelizer; ThreadedBasebandSampleSink* m_threadedChannelizer;
DownChannelizer* m_channelizer; DownChannelizer* m_channelizer;

View File

@ -49,12 +49,12 @@ PluginInstanceGUI* NFMPlugin::createRxChannelGUI(DeviceUISet *deviceUISet, Baseb
} }
#endif #endif
BasebandSampleSink* NFMPlugin::createRxChannelBS(DeviceSourceAPI *deviceAPI) BasebandSampleSink* NFMPlugin::createRxChannelBS(DeviceAPI *deviceAPI)
{ {
return new NFMDemod(deviceAPI); return new NFMDemod(deviceAPI);
} }
ChannelSinkAPI* NFMPlugin::createRxChannelCS(DeviceSourceAPI *deviceAPI) ChannelSinkAPI* NFMPlugin::createRxChannelCS(DeviceAPI *deviceAPI)
{ {
return new NFMDemod(deviceAPI); return new NFMDemod(deviceAPI);
} }

View File

@ -19,8 +19,8 @@ public:
void initPlugin(PluginAPI* pluginAPI); void initPlugin(PluginAPI* pluginAPI);
virtual PluginInstanceGUI* createRxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel); virtual PluginInstanceGUI* createRxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel);
virtual BasebandSampleSink* createRxChannelBS(DeviceSourceAPI *deviceAPI); virtual BasebandSampleSink* createRxChannelBS(DeviceAPI *deviceAPI);
virtual ChannelSinkAPI* createRxChannelCS(DeviceSourceAPI *deviceAPI); virtual ChannelSinkAPI* createRxChannelCS(DeviceAPI *deviceAPI);
private: private:
static const PluginDescriptor m_pluginDescriptor; static const PluginDescriptor m_pluginDescriptor;

View File

@ -36,7 +36,7 @@
#include "dsp/downchannelizer.h" #include "dsp/downchannelizer.h"
#include "dsp/threadedbasebandsamplesink.h" #include "dsp/threadedbasebandsamplesink.h"
#include "dsp/dspcommands.h" #include "dsp/dspcommands.h"
#include "device/devicesourceapi.h" #include "device/deviceapi.h"
#include "util/db.h" #include "util/db.h"
#include "ssbdemod.h" #include "ssbdemod.h"
@ -48,7 +48,7 @@ MESSAGE_CLASS_DEFINITION(SSBDemod::MsgConfigureChannelizer, Message)
const QString SSBDemod::m_channelIdURI = "sdrangel.channel.ssbdemod"; const QString SSBDemod::m_channelIdURI = "sdrangel.channel.ssbdemod";
const QString SSBDemod::m_channelId = "SSBDemod"; const QString SSBDemod::m_channelId = "SSBDemod";
SSBDemod::SSBDemod(DeviceSourceAPI *deviceAPI) : SSBDemod::SSBDemod(DeviceAPI *deviceAPI) :
ChannelSinkAPI(m_channelIdURI), ChannelSinkAPI(m_channelIdURI),
m_deviceAPI(deviceAPI), m_deviceAPI(deviceAPI),
m_audioBinaual(false), m_audioBinaual(false),
@ -101,8 +101,8 @@ SSBDemod::SSBDemod(DeviceSourceAPI *deviceAPI) :
m_channelizer = new DownChannelizer(this); m_channelizer = new DownChannelizer(this);
m_threadedChannelizer = new ThreadedBasebandSampleSink(m_channelizer, this); m_threadedChannelizer = new ThreadedBasebandSampleSink(m_channelizer, this);
m_deviceAPI->addThreadedSink(m_threadedChannelizer); m_deviceAPI->addChannelSink(m_threadedChannelizer);
m_deviceAPI->addChannelAPI(this); m_deviceAPI->addChannelSinkAPI(this);
m_networkManager = new QNetworkAccessManager(); m_networkManager = new QNetworkAccessManager();
connect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*))); connect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*)));
@ -114,8 +114,8 @@ SSBDemod::~SSBDemod()
delete m_networkManager; delete m_networkManager;
DSPEngine::instance()->getAudioDeviceManager()->removeAudioSink(&m_audioFifo); DSPEngine::instance()->getAudioDeviceManager()->removeAudioSink(&m_audioFifo);
m_deviceAPI->removeChannelAPI(this); m_deviceAPI->removeChannelSinkAPI(this);
m_deviceAPI->removeThreadedSink(m_threadedChannelizer); m_deviceAPI->removeChannelSink(m_threadedChannelizer);
delete m_threadedChannelizer; delete m_threadedChannelizer;
delete m_channelizer; delete m_channelizer;
delete SSBFilter; delete SSBFilter;

View File

@ -41,7 +41,7 @@
class QNetworkAccessManager; class QNetworkAccessManager;
class QNetworkReply; class QNetworkReply;
class DeviceSourceAPI; class DeviceAPI;
class ThreadedBasebandSampleSink; class ThreadedBasebandSampleSink;
class DownChannelizer; class DownChannelizer;
@ -94,7 +94,7 @@ public:
{ } { }
}; };
SSBDemod(DeviceSourceAPI *deviceAPI); SSBDemod(DeviceAPI *deviceAPI);
virtual ~SSBDemod(); virtual ~SSBDemod();
virtual void destroy() { delete this; } virtual void destroy() { delete this; }
void setSampleSink(BasebandSampleSink* sampleSink) { m_sampleSink = sampleSink; } void setSampleSink(BasebandSampleSink* sampleSink) { m_sampleSink = sampleSink; }
@ -269,7 +269,7 @@ private:
{ } { }
}; };
DeviceSourceAPI *m_deviceAPI; DeviceAPI *m_deviceAPI;
ThreadedBasebandSampleSink* m_threadedChannelizer; ThreadedBasebandSampleSink* m_threadedChannelizer;
DownChannelizer* m_channelizer; DownChannelizer* m_channelizer;
SSBDemodSettings m_settings; SSBDemodSettings m_settings;

View File

@ -50,12 +50,12 @@ PluginInstanceGUI* SSBPlugin::createRxChannelGUI(DeviceUISet *deviceUISet, Baseb
} }
#endif #endif
BasebandSampleSink* SSBPlugin::createRxChannelBS(DeviceSourceAPI *deviceAPI) BasebandSampleSink* SSBPlugin::createRxChannelBS(DeviceAPI *deviceAPI)
{ {
return new SSBDemod(deviceAPI); return new SSBDemod(deviceAPI);
} }
ChannelSinkAPI* SSBPlugin::createRxChannelCS(DeviceSourceAPI *deviceAPI) ChannelSinkAPI* SSBPlugin::createRxChannelCS(DeviceAPI *deviceAPI)
{ {
return new SSBDemod(deviceAPI); return new SSBDemod(deviceAPI);
} }

View File

@ -19,8 +19,8 @@ public:
void initPlugin(PluginAPI* pluginAPI); void initPlugin(PluginAPI* pluginAPI);
virtual PluginInstanceGUI* createRxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel); virtual PluginInstanceGUI* createRxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel);
virtual BasebandSampleSink* createRxChannelBS(DeviceSourceAPI *deviceAPI); virtual BasebandSampleSink* createRxChannelBS(DeviceAPI *deviceAPI);
virtual ChannelSinkAPI* createRxChannelCS(DeviceSourceAPI *deviceAPI); virtual ChannelSinkAPI* createRxChannelCS(DeviceAPI *deviceAPI);
private: private:
static const PluginDescriptor m_pluginDescriptor; static const PluginDescriptor m_pluginDescriptor;

View File

@ -33,7 +33,7 @@
#include <dsp/downchannelizer.h> #include <dsp/downchannelizer.h>
#include "dsp/threadedbasebandsamplesink.h" #include "dsp/threadedbasebandsamplesink.h"
#include "device/devicesourceapi.h" #include "device/deviceapi.h"
#include "audio/audiooutput.h" #include "audio/audiooutput.h"
#include "dsp/dspengine.h" #include "dsp/dspengine.h"
#include "dsp/dspcommands.h" #include "dsp/dspcommands.h"
@ -48,7 +48,7 @@ const QString WFMDemod::m_channelIdURI = "sdrangel.channel.wfmdemod";
const QString WFMDemod::m_channelId = "WFMDemod"; const QString WFMDemod::m_channelId = "WFMDemod";
const int WFMDemod::m_udpBlockSize = 512; const int WFMDemod::m_udpBlockSize = 512;
WFMDemod::WFMDemod(DeviceSourceAPI* deviceAPI) : WFMDemod::WFMDemod(DeviceAPI* deviceAPI) :
ChannelSinkAPI(m_channelIdURI), ChannelSinkAPI(m_channelIdURI),
m_deviceAPI(deviceAPI), m_deviceAPI(deviceAPI),
m_inputSampleRate(384000), m_inputSampleRate(384000),
@ -77,8 +77,8 @@ WFMDemod::WFMDemod(DeviceSourceAPI* deviceAPI) :
m_channelizer = new DownChannelizer(this); m_channelizer = new DownChannelizer(this);
m_threadedChannelizer = new ThreadedBasebandSampleSink(m_channelizer, this); m_threadedChannelizer = new ThreadedBasebandSampleSink(m_channelizer, this);
m_deviceAPI->addThreadedSink(m_threadedChannelizer); m_deviceAPI->addChannelSink(m_threadedChannelizer);
m_deviceAPI->addChannelAPI(this); m_deviceAPI->addChannelSinkAPI(this);
m_networkManager = new QNetworkAccessManager(); m_networkManager = new QNetworkAccessManager();
connect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*))); connect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*)));
@ -90,8 +90,8 @@ WFMDemod::~WFMDemod()
delete m_networkManager; delete m_networkManager;
DSPEngine::instance()->getAudioDeviceManager()->removeAudioSink(&m_audioFifo); DSPEngine::instance()->getAudioDeviceManager()->removeAudioSink(&m_audioFifo);
m_deviceAPI->removeChannelAPI(this); m_deviceAPI->removeChannelSinkAPI(this);
m_deviceAPI->removeThreadedSink(m_threadedChannelizer); m_deviceAPI->removeChannelSink(m_threadedChannelizer);
delete m_threadedChannelizer; delete m_threadedChannelizer;
delete m_channelizer; delete m_channelizer;
delete m_rfFilter; delete m_rfFilter;

View File

@ -43,7 +43,7 @@ class QNetworkAccessManager;
class QNetworkReply; class QNetworkReply;
class ThreadedBasebandSampleSink; class ThreadedBasebandSampleSink;
class DownChannelizer; class DownChannelizer;
class DeviceSourceAPI; class DeviceAPI;
class WFMDemod : public BasebandSampleSink, public ChannelSinkAPI { class WFMDemod : public BasebandSampleSink, public ChannelSinkAPI {
Q_OBJECT Q_OBJECT
@ -94,7 +94,7 @@ public:
{ } { }
}; };
WFMDemod(DeviceSourceAPI *deviceAPI); WFMDemod(DeviceAPI *deviceAPI);
virtual ~WFMDemod(); virtual ~WFMDemod();
virtual void destroy() { delete this; } virtual void destroy() { delete this; }
@ -173,7 +173,7 @@ private:
RSRunning RSRunning
}; };
DeviceSourceAPI* m_deviceAPI; DeviceAPI* m_deviceAPI;
ThreadedBasebandSampleSink* m_threadedChannelizer; ThreadedBasebandSampleSink* m_threadedChannelizer;
DownChannelizer* m_channelizer; DownChannelizer* m_channelizer;

View File

@ -50,12 +50,12 @@ PluginInstanceGUI* WFMPlugin::createRxChannelGUI(DeviceUISet *deviceUISet, Baseb
} }
#endif #endif
BasebandSampleSink* WFMPlugin::createRxChannelBS(DeviceSourceAPI *deviceAPI) BasebandSampleSink* WFMPlugin::createRxChannelBS(DeviceAPI *deviceAPI)
{ {
return new WFMDemod(deviceAPI); return new WFMDemod(deviceAPI);
} }
ChannelSinkAPI* WFMPlugin::createRxChannelCS(DeviceSourceAPI *deviceAPI) ChannelSinkAPI* WFMPlugin::createRxChannelCS(DeviceAPI *deviceAPI)
{ {
return new WFMDemod(deviceAPI); return new WFMDemod(deviceAPI);
} }

View File

@ -19,8 +19,8 @@ public:
void initPlugin(PluginAPI* pluginAPI); void initPlugin(PluginAPI* pluginAPI);
virtual PluginInstanceGUI* createRxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel); virtual PluginInstanceGUI* createRxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel);
virtual BasebandSampleSink* createRxChannelBS(DeviceSourceAPI *deviceAPI); virtual BasebandSampleSink* createRxChannelBS(DeviceAPI *deviceAPI);
virtual ChannelSinkAPI* createRxChannelCS(DeviceSourceAPI *deviceAPI); virtual ChannelSinkAPI* createRxChannelCS(DeviceAPI *deviceAPI);
private: private:
static const PluginDescriptor m_pluginDescriptor; static const PluginDescriptor m_pluginDescriptor;

View File

@ -38,7 +38,7 @@
#include "dsp/threadedbasebandsamplesink.h" #include "dsp/threadedbasebandsamplesink.h"
#include "dsp/dspcommands.h" #include "dsp/dspcommands.h"
#include "dsp/fftfilt.h" #include "dsp/fftfilt.h"
#include "device/devicesourceapi.h" #include "device/deviceapi.h"
#include "util/db.h" #include "util/db.h"
#include "util/stepfunctions.h" #include "util/stepfunctions.h"
@ -50,7 +50,7 @@ const QString FreqTracker::m_channelIdURI = "sdrangel.channel.freqtracker";
const QString FreqTracker::m_channelId = "FreqTracker"; const QString FreqTracker::m_channelId = "FreqTracker";
const int FreqTracker::m_udpBlockSize = 512; const int FreqTracker::m_udpBlockSize = 512;
FreqTracker::FreqTracker(DeviceSourceAPI *deviceAPI) : FreqTracker::FreqTracker(DeviceAPI *deviceAPI) :
ChannelSinkAPI(m_channelIdURI), ChannelSinkAPI(m_channelIdURI),
m_deviceAPI(deviceAPI), m_deviceAPI(deviceAPI),
m_deviceSampleRate(48000), m_deviceSampleRate(48000),
@ -86,8 +86,8 @@ FreqTracker::FreqTracker(DeviceSourceAPI *deviceAPI) :
m_channelizer = new DownChannelizer(this); m_channelizer = new DownChannelizer(this);
m_threadedChannelizer = new ThreadedBasebandSampleSink(m_channelizer, this); m_threadedChannelizer = new ThreadedBasebandSampleSink(m_channelizer, this);
m_deviceAPI->addThreadedSink(m_threadedChannelizer); m_deviceAPI->addChannelSink(m_threadedChannelizer);
m_deviceAPI->addChannelAPI(this); m_deviceAPI->addChannelSinkAPI(this);
m_networkManager = new QNetworkAccessManager(); m_networkManager = new QNetworkAccessManager();
connect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*))); connect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*)));
@ -102,8 +102,8 @@ FreqTracker::~FreqTracker()
#endif #endif
disconnect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*))); disconnect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*)));
delete m_networkManager; delete m_networkManager;
m_deviceAPI->removeChannelAPI(this); m_deviceAPI->removeChannelSinkAPI(this);
m_deviceAPI->removeThreadedSink(m_threadedChannelizer); m_deviceAPI->removeChannelSink(m_threadedChannelizer);
delete m_threadedChannelizer; delete m_threadedChannelizer;
delete m_channelizer; delete m_channelizer;
delete m_rrcFilter; delete m_rrcFilter;

View File

@ -40,7 +40,7 @@
class QNetworkAccessManager; class QNetworkAccessManager;
class QNetworkReply; class QNetworkReply;
class DeviceSourceAPI; class DeviceAPI;
class DownChannelizer; class DownChannelizer;
class ThreadedBasebandSampleSink; class ThreadedBasebandSampleSink;
class QTimer; class QTimer;
@ -117,7 +117,7 @@ public:
int m_frequencyOffset; int m_frequencyOffset;
}; };
FreqTracker(DeviceSourceAPI *deviceAPI); FreqTracker(DeviceAPI *deviceAPI);
~FreqTracker(); ~FreqTracker();
virtual void destroy() { delete this; } virtual void destroy() { delete this; }
@ -191,7 +191,7 @@ private:
RSRunning RSRunning
}; };
DeviceSourceAPI *m_deviceAPI; DeviceAPI *m_deviceAPI;
ThreadedBasebandSampleSink* m_threadedChannelizer; ThreadedBasebandSampleSink* m_threadedChannelizer;
DownChannelizer* m_channelizer; DownChannelizer* m_channelizer;
FreqTrackerSettings m_settings; FreqTrackerSettings m_settings;

View File

@ -66,12 +66,12 @@ PluginInstanceGUI* FreqTrackerPlugin::createRxChannelGUI(DeviceUISet *deviceUISe
} }
#endif #endif
BasebandSampleSink* FreqTrackerPlugin::createRxChannelBS(DeviceSourceAPI *deviceAPI) BasebandSampleSink* FreqTrackerPlugin::createRxChannelBS(DeviceAPI *deviceAPI)
{ {
return new FreqTracker(deviceAPI); return new FreqTracker(deviceAPI);
} }
ChannelSinkAPI* FreqTrackerPlugin::createRxChannelCS(DeviceSourceAPI *deviceAPI) ChannelSinkAPI* FreqTrackerPlugin::createRxChannelCS(DeviceAPI *deviceAPI)
{ {
return new FreqTracker(deviceAPI); return new FreqTracker(deviceAPI);
} }

View File

@ -36,8 +36,8 @@ public:
void initPlugin(PluginAPI* pluginAPI); void initPlugin(PluginAPI* pluginAPI);
virtual PluginInstanceGUI* createRxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel); virtual PluginInstanceGUI* createRxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel);
virtual BasebandSampleSink* createRxChannelBS(DeviceSourceAPI *deviceAPI); virtual BasebandSampleSink* createRxChannelBS(DeviceAPI *deviceAPI);
virtual ChannelSinkAPI* createRxChannelCS(DeviceSourceAPI *deviceAPI); virtual ChannelSinkAPI* createRxChannelCS(DeviceAPI *deviceAPI);
private: private:
static const PluginDescriptor m_pluginDescriptor; static const PluginDescriptor m_pluginDescriptor;

View File

@ -30,10 +30,11 @@
#include "dsp/threadedbasebandsamplesink.h" #include "dsp/threadedbasebandsamplesink.h"
#include "dsp/downchannelizer.h" #include "dsp/downchannelizer.h"
#include "dsp/dspcommands.h" #include "dsp/dspcommands.h"
#include "dsp/dspdevicesourceengine.h"
#include "dsp/dspengine.h" #include "dsp/dspengine.h"
#include "dsp/devicesamplesource.h" #include "dsp/devicesamplesource.h"
#include "dsp/hbfilterchainconverter.h" #include "dsp/hbfilterchainconverter.h"
#include "device/devicesourceapi.h" #include "device/deviceapi.h"
#include "localsinkthread.h" #include "localsinkthread.h"
@ -44,7 +45,7 @@ MESSAGE_CLASS_DEFINITION(LocalSink::MsgConfigureChannelizer, Message)
const QString LocalSink::m_channelIdURI = "sdrangel.channel.localsink"; const QString LocalSink::m_channelIdURI = "sdrangel.channel.localsink";
const QString LocalSink::m_channelId = "LocalSink"; const QString LocalSink::m_channelId = "LocalSink";
LocalSink::LocalSink(DeviceSourceAPI *deviceAPI) : LocalSink::LocalSink(DeviceAPI *deviceAPI) :
ChannelSinkAPI(m_channelIdURI), ChannelSinkAPI(m_channelIdURI),
m_deviceAPI(deviceAPI), m_deviceAPI(deviceAPI),
m_running(false), m_running(false),
@ -61,8 +62,8 @@ LocalSink::LocalSink(DeviceSourceAPI *deviceAPI) :
m_channelizer = new DownChannelizer(this); m_channelizer = new DownChannelizer(this);
m_threadedChannelizer = new ThreadedBasebandSampleSink(m_channelizer, this); m_threadedChannelizer = new ThreadedBasebandSampleSink(m_channelizer, this);
m_deviceAPI->addThreadedSink(m_threadedChannelizer); m_deviceAPI->addChannelSink(m_threadedChannelizer);
m_deviceAPI->addChannelAPI(this); m_deviceAPI->addChannelSinkAPI(this);
m_networkManager = new QNetworkAccessManager(); m_networkManager = new QNetworkAccessManager();
connect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*))); connect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*)));
@ -72,8 +73,8 @@ LocalSink::~LocalSink()
{ {
disconnect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*))); disconnect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*)));
delete m_networkManager; delete m_networkManager;
m_deviceAPI->removeChannelAPI(this); m_deviceAPI->removeChannelSinkAPI(this);
m_deviceAPI->removeThreadedSink(m_threadedChannelizer); m_deviceAPI->removeChannelSink(m_threadedChannelizer);
delete m_threadedChannelizer; delete m_threadedChannelizer;
delete m_channelizer; delete m_channelizer;
} }

View File

@ -26,7 +26,7 @@
#include "channel/channelsinkapi.h" #include "channel/channelsinkapi.h"
#include "localsinksettings.h" #include "localsinksettings.h"
class DeviceSourceAPI; class DeviceAPI;
class DeviceSampleSource; class DeviceSampleSource;
class ThreadedBasebandSampleSink; class ThreadedBasebandSampleSink;
class DownChannelizer; class DownChannelizer;
@ -103,7 +103,7 @@ public:
{ } { }
}; };
LocalSink(DeviceSourceAPI *deviceAPI); LocalSink(DeviceAPI *deviceAPI);
virtual ~LocalSink(); virtual ~LocalSink();
virtual void destroy() { delete this; } virtual void destroy() { delete this; }
@ -145,7 +145,7 @@ signals:
void samplesAvailable(const quint8* data, uint count); void samplesAvailable(const quint8* data, uint count);
private: private:
DeviceSourceAPI *m_deviceAPI; DeviceAPI *m_deviceAPI;
ThreadedBasebandSampleSink* m_threadedChannelizer; ThreadedBasebandSampleSink* m_threadedChannelizer;
DownChannelizer* m_channelizer; DownChannelizer* m_channelizer;
bool m_running; bool m_running;

View File

@ -67,12 +67,12 @@ PluginInstanceGUI* LocalSinkPlugin::createRxChannelGUI(DeviceUISet *deviceUISet,
} }
#endif #endif
BasebandSampleSink* LocalSinkPlugin::createRxChannelBS(DeviceSourceAPI *deviceAPI) BasebandSampleSink* LocalSinkPlugin::createRxChannelBS(DeviceAPI *deviceAPI)
{ {
return new LocalSink(deviceAPI); return new LocalSink(deviceAPI);
} }
ChannelSinkAPI* LocalSinkPlugin::createRxChannelCS(DeviceSourceAPI *deviceAPI) ChannelSinkAPI* LocalSinkPlugin::createRxChannelCS(DeviceAPI *deviceAPI)
{ {
return new LocalSink(deviceAPI); return new LocalSink(deviceAPI);
} }

View File

@ -37,8 +37,8 @@ public:
void initPlugin(PluginAPI* pluginAPI); void initPlugin(PluginAPI* pluginAPI);
virtual PluginInstanceGUI* createRxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel); virtual PluginInstanceGUI* createRxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel);
virtual BasebandSampleSink* createRxChannelBS(DeviceSourceAPI *deviceAPI); virtual BasebandSampleSink* createRxChannelBS(DeviceAPI *deviceAPI);
virtual ChannelSinkAPI* createRxChannelCS(DeviceSourceAPI *deviceAPI); virtual ChannelSinkAPI* createRxChannelCS(DeviceAPI *deviceAPI);
private: private:
static const PluginDescriptor m_pluginDescriptor; static const PluginDescriptor m_pluginDescriptor;

View File

@ -39,7 +39,7 @@
#include "dsp/downchannelizer.h" #include "dsp/downchannelizer.h"
#include "dsp/dspcommands.h" #include "dsp/dspcommands.h"
#include "dsp/hbfilterchainconverter.h" #include "dsp/hbfilterchainconverter.h"
#include "device/devicesourceapi.h" #include "device/deviceapi.h"
#include "remotesinkthread.h" #include "remotesinkthread.h"
@ -50,7 +50,7 @@ MESSAGE_CLASS_DEFINITION(RemoteSink::MsgConfigureChannelizer, Message)
const QString RemoteSink::m_channelIdURI = "sdrangel.channel.remotesink"; const QString RemoteSink::m_channelIdURI = "sdrangel.channel.remotesink";
const QString RemoteSink::m_channelId = "RemoteSink"; const QString RemoteSink::m_channelId = "RemoteSink";
RemoteSink::RemoteSink(DeviceSourceAPI *deviceAPI) : RemoteSink::RemoteSink(DeviceAPI *deviceAPI) :
ChannelSinkAPI(m_channelIdURI), ChannelSinkAPI(m_channelIdURI),
m_deviceAPI(deviceAPI), m_deviceAPI(deviceAPI),
m_running(false), m_running(false),
@ -72,8 +72,8 @@ RemoteSink::RemoteSink(DeviceSourceAPI *deviceAPI) :
m_channelizer = new DownChannelizer(this); m_channelizer = new DownChannelizer(this);
m_threadedChannelizer = new ThreadedBasebandSampleSink(m_channelizer, this); m_threadedChannelizer = new ThreadedBasebandSampleSink(m_channelizer, this);
m_deviceAPI->addThreadedSink(m_threadedChannelizer); m_deviceAPI->addChannelSink(m_threadedChannelizer);
m_deviceAPI->addChannelAPI(this); m_deviceAPI->addChannelSinkAPI(this);
m_networkManager = new QNetworkAccessManager(); m_networkManager = new QNetworkAccessManager();
connect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*))); connect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*)));
@ -90,8 +90,8 @@ RemoteSink::~RemoteSink()
} }
m_dataBlockMutex.unlock(); m_dataBlockMutex.unlock();
m_deviceAPI->removeChannelAPI(this); m_deviceAPI->removeChannelSinkAPI(this);
m_deviceAPI->removeThreadedSink(m_threadedChannelizer); m_deviceAPI->removeChannelSink(m_threadedChannelizer);
delete m_threadedChannelizer; delete m_threadedChannelizer;
delete m_channelizer; delete m_channelizer;
} }

View File

@ -35,7 +35,7 @@
class QNetworkAccessManager; class QNetworkAccessManager;
class QNetworkReply; class QNetworkReply;
class DeviceSourceAPI; class DeviceAPI;
class ThreadedBasebandSampleSink; class ThreadedBasebandSampleSink;
class DownChannelizer; class DownChannelizer;
class RemoteSinkThread; class RemoteSinkThread;
@ -109,7 +109,7 @@ public:
{ } { }
}; };
RemoteSink(DeviceSourceAPI *deviceAPI); RemoteSink(DeviceAPI *deviceAPI);
virtual ~RemoteSink(); virtual ~RemoteSink();
virtual void destroy() { delete this; } virtual void destroy() { delete this; }
@ -154,7 +154,7 @@ signals:
void dataBlockAvailable(RemoteDataBlock *dataBlock); void dataBlockAvailable(RemoteDataBlock *dataBlock);
private: private:
DeviceSourceAPI *m_deviceAPI; DeviceAPI *m_deviceAPI;
ThreadedBasebandSampleSink* m_threadedChannelizer; ThreadedBasebandSampleSink* m_threadedChannelizer;
DownChannelizer* m_channelizer; DownChannelizer* m_channelizer;
bool m_running; bool m_running;

View File

@ -67,12 +67,12 @@ PluginInstanceGUI* RemoteSinkPlugin::createRxChannelGUI(DeviceUISet *deviceUISet
} }
#endif #endif
BasebandSampleSink* RemoteSinkPlugin::createRxChannelBS(DeviceSourceAPI *deviceAPI) BasebandSampleSink* RemoteSinkPlugin::createRxChannelBS(DeviceAPI *deviceAPI)
{ {
return new RemoteSink(deviceAPI); return new RemoteSink(deviceAPI);
} }
ChannelSinkAPI* RemoteSinkPlugin::createRxChannelCS(DeviceSourceAPI *deviceAPI) ChannelSinkAPI* RemoteSinkPlugin::createRxChannelCS(DeviceAPI *deviceAPI)
{ {
return new RemoteSink(deviceAPI); return new RemoteSink(deviceAPI);
} }

View File

@ -37,8 +37,8 @@ public:
void initPlugin(PluginAPI* pluginAPI); void initPlugin(PluginAPI* pluginAPI);
virtual PluginInstanceGUI* createRxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel); virtual PluginInstanceGUI* createRxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel);
virtual BasebandSampleSink* createRxChannelBS(DeviceSourceAPI *deviceAPI); virtual BasebandSampleSink* createRxChannelBS(DeviceAPI *deviceAPI);
virtual ChannelSinkAPI* createRxChannelCS(DeviceSourceAPI *deviceAPI); virtual ChannelSinkAPI* createRxChannelCS(DeviceAPI *deviceAPI);
private: private:
static const PluginDescriptor m_pluginDescriptor; static const PluginDescriptor m_pluginDescriptor;

View File

@ -32,7 +32,7 @@
#include "dsp/downchannelizer.h" #include "dsp/downchannelizer.h"
#include "dsp/threadedbasebandsamplesink.h" #include "dsp/threadedbasebandsamplesink.h"
#include "dsp/dspcommands.h" #include "dsp/dspcommands.h"
#include "device/devicesourceapi.h" #include "device/deviceapi.h"
#include "udpsink.h" #include "udpsink.h"
@ -45,7 +45,7 @@ MESSAGE_CLASS_DEFINITION(UDPSink::MsgUDPSinkSpectrum, Message)
const QString UDPSink::m_channelIdURI = "sdrangel.channel.udpsink"; const QString UDPSink::m_channelIdURI = "sdrangel.channel.udpsink";
const QString UDPSink::m_channelId = "UDPSink"; const QString UDPSink::m_channelId = "UDPSink";
UDPSink::UDPSink(DeviceSourceAPI *deviceAPI) : UDPSink::UDPSink(DeviceAPI *deviceAPI) :
ChannelSinkAPI(m_channelIdURI), ChannelSinkAPI(m_channelIdURI),
m_deviceAPI(deviceAPI), m_deviceAPI(deviceAPI),
m_inputSampleRate(48000), m_inputSampleRate(48000),
@ -112,8 +112,8 @@ UDPSink::UDPSink(DeviceSourceAPI *deviceAPI) :
m_channelizer = new DownChannelizer(this); m_channelizer = new DownChannelizer(this);
m_threadedChannelizer = new ThreadedBasebandSampleSink(m_channelizer, this); m_threadedChannelizer = new ThreadedBasebandSampleSink(m_channelizer, this);
m_deviceAPI->addThreadedSink(m_threadedChannelizer); m_deviceAPI->addChannelSink(m_threadedChannelizer);
m_deviceAPI->addChannelAPI(this); m_deviceAPI->addChannelSinkAPI(this);
m_networkManager = new QNetworkAccessManager(); m_networkManager = new QNetworkAccessManager();
connect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*))); connect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*)));
@ -129,8 +129,8 @@ UDPSink::~UDPSink()
delete m_udpBufferMono16; delete m_udpBufferMono16;
delete[] m_udpAudioBuf; delete[] m_udpAudioBuf;
DSPEngine::instance()->getAudioDeviceManager()->removeAudioSink(&m_audioFifo); DSPEngine::instance()->getAudioDeviceManager()->removeAudioSink(&m_audioFifo);
m_deviceAPI->removeChannelAPI(this); m_deviceAPI->removeChannelSinkAPI(this);
m_deviceAPI->removeThreadedSink(m_threadedChannelizer); m_deviceAPI->removeChannelSink(m_threadedChannelizer);
delete m_threadedChannelizer; delete m_threadedChannelizer;
delete m_channelizer; delete m_channelizer;
delete UDPFilter; delete UDPFilter;

View File

@ -41,7 +41,7 @@
class QNetworkAccessManager; class QNetworkAccessManager;
class QNetworkReply; class QNetworkReply;
class QUdpSocket; class QUdpSocket;
class DeviceSourceAPI; class DeviceAPI;
class ThreadedBasebandSampleSink; class ThreadedBasebandSampleSink;
class DownChannelizer; class DownChannelizer;
@ -96,7 +96,7 @@ public:
{ } { }
}; };
UDPSink(DeviceSourceAPI *deviceAPI); UDPSink(DeviceAPI *deviceAPI);
virtual ~UDPSink(); virtual ~UDPSink();
virtual void destroy() { delete this; } virtual void destroy() { delete this; }
void setSpectrum(BasebandSampleSink* spectrum) { m_spectrum = spectrum; } void setSpectrum(BasebandSampleSink* spectrum) { m_spectrum = spectrum; }
@ -179,7 +179,7 @@ protected:
int32_t m_i; int32_t m_i;
}; };
DeviceSourceAPI *m_deviceAPI; DeviceAPI *m_deviceAPI;
ThreadedBasebandSampleSink* m_threadedChannelizer; ThreadedBasebandSampleSink* m_threadedChannelizer;
DownChannelizer* m_channelizer; DownChannelizer* m_channelizer;

View File

@ -67,12 +67,12 @@ PluginInstanceGUI* UDPSinkPlugin::createRxChannelGUI(DeviceUISet *deviceUISet, B
} }
#endif #endif
BasebandSampleSink* UDPSinkPlugin::createRxChannelBS(DeviceSourceAPI *deviceAPI) BasebandSampleSink* UDPSinkPlugin::createRxChannelBS(DeviceAPI *deviceAPI)
{ {
return new UDPSink(deviceAPI); return new UDPSink(deviceAPI);
} }
ChannelSinkAPI* UDPSinkPlugin::createRxChannelCS(DeviceSourceAPI *deviceAPI) ChannelSinkAPI* UDPSinkPlugin::createRxChannelCS(DeviceAPI *deviceAPI)
{ {
return new UDPSink(deviceAPI); return new UDPSink(deviceAPI);
} }

View File

@ -37,8 +37,8 @@ public:
void initPlugin(PluginAPI* pluginAPI); void initPlugin(PluginAPI* pluginAPI);
virtual PluginInstanceGUI* createRxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel); virtual PluginInstanceGUI* createRxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel);
virtual BasebandSampleSink* createRxChannelBS(DeviceSourceAPI *deviceAPI); virtual BasebandSampleSink* createRxChannelBS(DeviceAPI *deviceAPI);
virtual ChannelSinkAPI* createRxChannelCS(DeviceSourceAPI *deviceAPI); virtual ChannelSinkAPI* createRxChannelCS(DeviceAPI *deviceAPI);
private: private:
static const PluginDescriptor m_pluginDescriptor; static const PluginDescriptor m_pluginDescriptor;

View File

@ -35,7 +35,7 @@
#include "dsp/dspengine.h" #include "dsp/dspengine.h"
#include "dsp/threadedbasebandsamplesource.h" #include "dsp/threadedbasebandsamplesource.h"
#include "dsp/dspcommands.h" #include "dsp/dspcommands.h"
#include "device/devicesinkapi.h" #include "device/deviceapi.h"
#include "util/db.h" #include "util/db.h"
MESSAGE_CLASS_DEFINITION(AMMod::MsgConfigureAMMod, Message) MESSAGE_CLASS_DEFINITION(AMMod::MsgConfigureAMMod, Message)
@ -50,7 +50,7 @@ const QString AMMod::m_channelIdURI = "sdrangel.channeltx.modam";
const QString AMMod::m_channelId ="AMMod"; const QString AMMod::m_channelId ="AMMod";
const int AMMod::m_levelNbSamples = 480; // every 10ms const int AMMod::m_levelNbSamples = 480; // every 10ms
AMMod::AMMod(DeviceSinkAPI *deviceAPI) : AMMod::AMMod(DeviceAPI *deviceAPI) :
ChannelSourceAPI(m_channelIdURI), ChannelSourceAPI(m_channelIdURI),
m_deviceAPI(deviceAPI), m_deviceAPI(deviceAPI),
m_basebandSampleRate(48000), m_basebandSampleRate(48000),
@ -86,8 +86,8 @@ AMMod::AMMod(DeviceSinkAPI *deviceAPI) :
m_channelizer = new UpChannelizer(this); m_channelizer = new UpChannelizer(this);
m_threadedChannelizer = new ThreadedBasebandSampleSource(m_channelizer, this); m_threadedChannelizer = new ThreadedBasebandSampleSource(m_channelizer, this);
m_deviceAPI->addThreadedSource(m_threadedChannelizer); m_deviceAPI->addChannelSource(m_threadedChannelizer);
m_deviceAPI->addChannelAPI(this); m_deviceAPI->addChannelSourceAPI(this);
m_networkManager = new QNetworkAccessManager(); m_networkManager = new QNetworkAccessManager();
connect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*))); connect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*)));
@ -97,8 +97,8 @@ AMMod::~AMMod()
{ {
disconnect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*))); disconnect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*)));
delete m_networkManager; delete m_networkManager;
m_deviceAPI->removeChannelAPI(this); m_deviceAPI->removeChannelSourceAPI(this);
m_deviceAPI->removeThreadedSource(m_threadedChannelizer); m_deviceAPI->removeChannelSource(m_threadedChannelizer);
delete m_threadedChannelizer; delete m_threadedChannelizer;
delete m_channelizer; delete m_channelizer;
DSPEngine::instance()->getAudioDeviceManager()->removeAudioSource(&m_audioFifo); DSPEngine::instance()->getAudioDeviceManager()->removeAudioSource(&m_audioFifo);

View File

@ -42,7 +42,7 @@ class QNetworkAccessManager;
class QNetworkReply; class QNetworkReply;
class ThreadedBasebandSampleSource; class ThreadedBasebandSampleSource;
class UpChannelizer; class UpChannelizer;
class DeviceSinkAPI; class DeviceAPI;
class AMMod : public BasebandSampleSource, public ChannelSourceAPI { class AMMod : public BasebandSampleSource, public ChannelSourceAPI {
Q_OBJECT Q_OBJECT
@ -201,7 +201,7 @@ public:
//================================================================= //=================================================================
AMMod(DeviceSinkAPI *deviceAPI); AMMod(DeviceAPI *deviceAPI);
~AMMod(); ~AMMod();
virtual void destroy() { delete this; } virtual void destroy() { delete this; }
@ -255,7 +255,7 @@ private:
RSRunning RSRunning
}; };
DeviceSinkAPI* m_deviceAPI; DeviceAPI* m_deviceAPI;
ThreadedBasebandSampleSource* m_threadedChannelizer; ThreadedBasebandSampleSource* m_threadedChannelizer;
UpChannelizer* m_channelizer; UpChannelizer* m_channelizer;

View File

@ -66,12 +66,12 @@ PluginInstanceGUI* AMModPlugin::createTxChannelGUI(DeviceUISet *deviceUISet, Bas
} }
#endif #endif
BasebandSampleSource* AMModPlugin::createTxChannelBS(DeviceSinkAPI *deviceAPI) BasebandSampleSource* AMModPlugin::createTxChannelBS(DeviceAPI *deviceAPI)
{ {
return new AMMod(deviceAPI); return new AMMod(deviceAPI);
} }
ChannelSourceAPI* AMModPlugin::createTxChannelCS(DeviceSinkAPI *deviceAPI) ChannelSourceAPI* AMModPlugin::createTxChannelCS(DeviceAPI *deviceAPI)
{ {
return new AMMod(deviceAPI); return new AMMod(deviceAPI);
} }

View File

@ -36,8 +36,8 @@ public:
void initPlugin(PluginAPI* pluginAPI); void initPlugin(PluginAPI* pluginAPI);
virtual PluginInstanceGUI* createTxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSource *txChannel); virtual PluginInstanceGUI* createTxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSource *txChannel);
virtual BasebandSampleSource* createTxChannelBS(DeviceSinkAPI *deviceAPI); virtual BasebandSampleSource* createTxChannelBS(DeviceAPI *deviceAPI);
virtual ChannelSourceAPI* createTxChannelCS(DeviceSinkAPI *deviceAPI); virtual ChannelSourceAPI* createTxChannelCS(DeviceAPI *deviceAPI);
private: private:
static const PluginDescriptor m_pluginDescriptor; static const PluginDescriptor m_pluginDescriptor;

View File

@ -31,7 +31,7 @@
#include "dsp/upchannelizer.h" #include "dsp/upchannelizer.h"
#include "dsp/threadedbasebandsamplesource.h" #include "dsp/threadedbasebandsamplesource.h"
#include "dsp/dspcommands.h" #include "dsp/dspcommands.h"
#include "device/devicesinkapi.h" #include "device/deviceapi.h"
#include "util/db.h" #include "util/db.h"
#include "atvmod.h" #include "atvmod.h"
@ -58,7 +58,7 @@ const int ATVMod::m_nbBars = 6;
const int ATVMod::m_cameraFPSTestNbFrames = 100; const int ATVMod::m_cameraFPSTestNbFrames = 100;
const int ATVMod::m_ssbFftLen = 1024; const int ATVMod::m_ssbFftLen = 1024;
ATVMod::ATVMod(DeviceSinkAPI *deviceAPI) : ATVMod::ATVMod(DeviceAPI *deviceAPI) :
ChannelSourceAPI(m_channelIdURI), ChannelSourceAPI(m_channelIdURI),
m_deviceAPI(deviceAPI), m_deviceAPI(deviceAPI),
m_outputSampleRate(1000000), m_outputSampleRate(1000000),
@ -103,8 +103,8 @@ ATVMod::ATVMod(DeviceSinkAPI *deviceAPI) :
m_channelizer = new UpChannelizer(this); m_channelizer = new UpChannelizer(this);
m_threadedChannelizer = new ThreadedBasebandSampleSource(m_channelizer, this); m_threadedChannelizer = new ThreadedBasebandSampleSource(m_channelizer, this);
m_deviceAPI->addThreadedSource(m_threadedChannelizer); m_deviceAPI->addChannelSource(m_threadedChannelizer);
m_deviceAPI->addChannelAPI(this); m_deviceAPI->addChannelSourceAPI(this);
m_networkManager = new QNetworkAccessManager(); m_networkManager = new QNetworkAccessManager();
connect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*))); connect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*)));
@ -120,8 +120,8 @@ ATVMod::~ATVMod()
} }
releaseCameras(); releaseCameras();
m_deviceAPI->removeChannelAPI(this); m_deviceAPI->removeChannelSourceAPI(this);
m_deviceAPI->removeThreadedSource(m_threadedChannelizer); m_deviceAPI->removeChannelSource(m_threadedChannelizer);
delete m_threadedChannelizer; delete m_threadedChannelizer;
delete m_channelizer; delete m_channelizer;
delete m_SSBFilter; delete m_SSBFilter;

View File

@ -41,7 +41,7 @@
class QNetworkAccessManager; class QNetworkAccessManager;
class QNetworkReply; class QNetworkReply;
class DeviceSinkAPI; class DeviceAPI;
class ThreadedBasebandSampleSource; class ThreadedBasebandSampleSource;
class UpChannelizer; class UpChannelizer;
@ -354,7 +354,7 @@ public:
{ } { }
}; };
ATVMod(DeviceSinkAPI *deviceAPI); ATVMod(DeviceAPI *deviceAPI);
~ATVMod(); ~ATVMod();
virtual void destroy() { delete this; } virtual void destroy() { delete this; }
@ -442,7 +442,7 @@ private:
{} {}
}; };
DeviceSinkAPI* m_deviceAPI; DeviceAPI* m_deviceAPI;
ThreadedBasebandSampleSource* m_threadedChannelizer; ThreadedBasebandSampleSource* m_threadedChannelizer;
UpChannelizer* m_channelizer; UpChannelizer* m_channelizer;

View File

@ -66,12 +66,12 @@ PluginInstanceGUI* ATVModPlugin::createTxChannelGUI(DeviceUISet *deviceUISet, Ba
} }
#endif #endif
BasebandSampleSource* ATVModPlugin::createTxChannelBS(DeviceSinkAPI *deviceAPI) BasebandSampleSource* ATVModPlugin::createTxChannelBS(DeviceAPI *deviceAPI)
{ {
return new ATVMod(deviceAPI); return new ATVMod(deviceAPI);
} }
ChannelSourceAPI* ATVModPlugin::createTxChannelCS(DeviceSinkAPI *deviceAPI) ChannelSourceAPI* ATVModPlugin::createTxChannelCS(DeviceAPI *deviceAPI)
{ {
return new ATVMod(deviceAPI); return new ATVMod(deviceAPI);
} }

View File

@ -21,7 +21,7 @@
#include <QObject> #include <QObject>
#include "plugin/plugininterface.h" #include "plugin/plugininterface.h"
class DeviceSinkAPI; class DeviceAPI;
class BasebandSampleSource; class BasebandSampleSource;
class ATVModPlugin : public QObject, PluginInterface { class ATVModPlugin : public QObject, PluginInterface {
@ -36,8 +36,8 @@ public:
void initPlugin(PluginAPI* pluginAPI); void initPlugin(PluginAPI* pluginAPI);
virtual PluginInstanceGUI* createTxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSource *txChannel); virtual PluginInstanceGUI* createTxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSource *txChannel);
virtual BasebandSampleSource* createTxChannelBS(DeviceSinkAPI *deviceAPI); virtual BasebandSampleSource* createTxChannelBS(DeviceAPI *deviceAPI);
virtual ChannelSourceAPI* createTxChannelCS(DeviceSinkAPI *deviceAPI); virtual ChannelSourceAPI* createTxChannelCS(DeviceAPI *deviceAPI);
private: private:
static const PluginDescriptor m_pluginDescriptor; static const PluginDescriptor m_pluginDescriptor;

View File

@ -38,7 +38,7 @@
#include "dsp/dspengine.h" #include "dsp/dspengine.h"
#include "dsp/threadedbasebandsamplesource.h" #include "dsp/threadedbasebandsamplesource.h"
#include "dsp/dspcommands.h" #include "dsp/dspcommands.h"
#include "device/devicesinkapi.h" #include "device/deviceapi.h"
#include "util/db.h" #include "util/db.h"
MESSAGE_CLASS_DEFINITION(FreeDVMod::MsgConfigureFreeDVMod, Message) MESSAGE_CLASS_DEFINITION(FreeDVMod::MsgConfigureFreeDVMod, Message)
@ -54,7 +54,7 @@ const QString FreeDVMod::m_channelId = "FreeDVMod";
const int FreeDVMod::m_levelNbSamples = 80; // every 10ms const int FreeDVMod::m_levelNbSamples = 80; // every 10ms
const int FreeDVMod::m_ssbFftLen = 1024; const int FreeDVMod::m_ssbFftLen = 1024;
FreeDVMod::FreeDVMod(DeviceSinkAPI *deviceAPI) : FreeDVMod::FreeDVMod(DeviceAPI *deviceAPI) :
ChannelSourceAPI(m_channelIdURI), ChannelSourceAPI(m_channelIdURI),
m_deviceAPI(deviceAPI), m_deviceAPI(deviceAPI),
m_basebandSampleRate(48000), m_basebandSampleRate(48000),
@ -112,8 +112,8 @@ FreeDVMod::FreeDVMod(DeviceSinkAPI *deviceAPI) :
m_channelizer = new UpChannelizer(this); m_channelizer = new UpChannelizer(this);
m_threadedChannelizer = new ThreadedBasebandSampleSource(m_channelizer, this); m_threadedChannelizer = new ThreadedBasebandSampleSource(m_channelizer, this);
m_deviceAPI->addThreadedSource(m_threadedChannelizer); m_deviceAPI->addChannelSource(m_threadedChannelizer);
m_deviceAPI->addChannelAPI(this); m_deviceAPI->addChannelSourceAPI(this);
applySettings(m_settings, true); applySettings(m_settings, true);
applyChannelSettings(m_basebandSampleRate, m_outputSampleRate, m_inputFrequencyOffset, true); applyChannelSettings(m_basebandSampleRate, m_outputSampleRate, m_inputFrequencyOffset, true);
@ -129,8 +129,8 @@ FreeDVMod::~FreeDVMod()
DSPEngine::instance()->getAudioDeviceManager()->removeAudioSource(&m_audioFifo); DSPEngine::instance()->getAudioDeviceManager()->removeAudioSource(&m_audioFifo);
m_deviceAPI->removeChannelAPI(this); m_deviceAPI->removeChannelSourceAPI(this);
m_deviceAPI->removeThreadedSource(m_threadedChannelizer); m_deviceAPI->removeChannelSource(m_threadedChannelizer);
delete m_threadedChannelizer; delete m_threadedChannelizer;
delete m_channelizer; delete m_channelizer;

View File

@ -42,7 +42,7 @@
class QNetworkAccessManager; class QNetworkAccessManager;
class QNetworkReply; class QNetworkReply;
class DeviceSinkAPI; class DeviceAPI;
class ThreadedBasebandSampleSource; class ThreadedBasebandSampleSource;
class UpChannelizer; class UpChannelizer;
@ -207,7 +207,7 @@ public:
//================================================================= //=================================================================
FreeDVMod(DeviceSinkAPI *deviceAPI); FreeDVMod(DeviceAPI *deviceAPI);
~FreeDVMod(); ~FreeDVMod();
virtual void destroy() { delete this; } virtual void destroy() { delete this; }
@ -267,7 +267,7 @@ private:
RSRunning RSRunning
}; };
DeviceSinkAPI* m_deviceAPI; DeviceAPI* m_deviceAPI;
ThreadedBasebandSampleSource* m_threadedChannelizer; ThreadedBasebandSampleSource* m_threadedChannelizer;
UpChannelizer* m_channelizer; UpChannelizer* m_channelizer;

View File

@ -66,12 +66,12 @@ PluginInstanceGUI* FreeDVModPlugin::createTxChannelGUI(DeviceUISet *deviceUISet,
} }
#endif #endif
BasebandSampleSource* FreeDVModPlugin::createTxChannelBS(DeviceSinkAPI *deviceAPI) BasebandSampleSource* FreeDVModPlugin::createTxChannelBS(DeviceAPI *deviceAPI)
{ {
return new FreeDVMod(deviceAPI); return new FreeDVMod(deviceAPI);
} }
ChannelSourceAPI* FreeDVModPlugin::createTxChannelCS(DeviceSinkAPI *deviceAPI) ChannelSourceAPI* FreeDVModPlugin::createTxChannelCS(DeviceAPI *deviceAPI)
{ {
return new FreeDVMod(deviceAPI); return new FreeDVMod(deviceAPI);
} }

View File

@ -36,8 +36,8 @@ public:
void initPlugin(PluginAPI* pluginAPI); void initPlugin(PluginAPI* pluginAPI);
virtual PluginInstanceGUI* createTxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSource *txChannel); virtual PluginInstanceGUI* createTxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSource *txChannel);
virtual BasebandSampleSource* createTxChannelBS(DeviceSinkAPI *deviceAPI); virtual BasebandSampleSource* createTxChannelBS(DeviceAPI *deviceAPI);
virtual ChannelSourceAPI* createTxChannelCS(DeviceSinkAPI *deviceAPI); virtual ChannelSourceAPI* createTxChannelCS(DeviceAPI *deviceAPI);
private: private:
static const PluginDescriptor m_pluginDescriptor; static const PluginDescriptor m_pluginDescriptor;

View File

@ -34,7 +34,7 @@
#include "dsp/upchannelizer.h" #include "dsp/upchannelizer.h"
#include "dsp/dspengine.h" #include "dsp/dspengine.h"
#include "dsp/dspcommands.h" #include "dsp/dspcommands.h"
#include "device/devicesinkapi.h" #include "device/deviceapi.h"
#include "dsp/threadedbasebandsamplesource.h" #include "dsp/threadedbasebandsamplesource.h"
#include "util/db.h" #include "util/db.h"
@ -52,7 +52,7 @@ const QString NFMMod::m_channelIdURI = "sdrangel.channeltx.modnfm";
const QString NFMMod::m_channelId = "NFMMod"; const QString NFMMod::m_channelId = "NFMMod";
const int NFMMod::m_levelNbSamples = 480; // every 10ms const int NFMMod::m_levelNbSamples = 480; // every 10ms
NFMMod::NFMMod(DeviceSinkAPI *deviceAPI) : NFMMod::NFMMod(DeviceAPI *deviceAPI) :
ChannelSourceAPI(m_channelIdURI), ChannelSourceAPI(m_channelIdURI),
m_deviceAPI(deviceAPI), m_deviceAPI(deviceAPI),
m_basebandSampleRate(48000), m_basebandSampleRate(48000),
@ -92,8 +92,8 @@ NFMMod::NFMMod(DeviceSinkAPI *deviceAPI) :
m_channelizer = new UpChannelizer(this); m_channelizer = new UpChannelizer(this);
m_threadedChannelizer = new ThreadedBasebandSampleSource(m_channelizer, this); m_threadedChannelizer = new ThreadedBasebandSampleSource(m_channelizer, this);
m_deviceAPI->addThreadedSource(m_threadedChannelizer); m_deviceAPI->addChannelSource(m_threadedChannelizer);
m_deviceAPI->addChannelAPI(this); m_deviceAPI->addChannelSourceAPI(this);
m_networkManager = new QNetworkAccessManager(); m_networkManager = new QNetworkAccessManager();
connect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*))); connect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*)));
@ -104,8 +104,8 @@ NFMMod::~NFMMod()
disconnect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*))); disconnect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*)));
delete m_networkManager; delete m_networkManager;
DSPEngine::instance()->getAudioDeviceManager()->removeAudioSource(&m_audioFifo); DSPEngine::instance()->getAudioDeviceManager()->removeAudioSource(&m_audioFifo);
m_deviceAPI->removeChannelAPI(this); m_deviceAPI->removeChannelSourceAPI(this);
m_deviceAPI->removeThreadedSource(m_threadedChannelizer); m_deviceAPI->removeChannelSource(m_threadedChannelizer);
delete m_threadedChannelizer; delete m_threadedChannelizer;
delete m_channelizer; delete m_channelizer;
} }

View File

@ -40,7 +40,7 @@
#include "nfmmodsettings.h" #include "nfmmodsettings.h"
class DeviceSinkAPI; class DeviceAPI;
class ThreadedBasebandSampleSource; class ThreadedBasebandSampleSource;
class UpChannelizer; class UpChannelizer;
class QNetworkAccessManager; class QNetworkAccessManager;
@ -203,7 +203,7 @@ public:
//================================================================= //=================================================================
NFMMod(DeviceSinkAPI *deviceAPI); NFMMod(DeviceAPI *deviceAPI);
~NFMMod(); ~NFMMod();
virtual void destroy() { delete this; } virtual void destroy() { delete this; }
@ -257,7 +257,7 @@ private:
RSRunning RSRunning
}; };
DeviceSinkAPI* m_deviceAPI; DeviceAPI* m_deviceAPI;
ThreadedBasebandSampleSource* m_threadedChannelizer; ThreadedBasebandSampleSource* m_threadedChannelizer;
UpChannelizer* m_channelizer; UpChannelizer* m_channelizer;

View File

@ -66,12 +66,12 @@ PluginInstanceGUI* NFMModPlugin::createTxChannelGUI(DeviceUISet *deviceUISet, Ba
} }
#endif #endif
BasebandSampleSource* NFMModPlugin::createTxChannelBS(DeviceSinkAPI *deviceAPI) BasebandSampleSource* NFMModPlugin::createTxChannelBS(DeviceAPI *deviceAPI)
{ {
return new NFMMod(deviceAPI); return new NFMMod(deviceAPI);
} }
ChannelSourceAPI* NFMModPlugin::createTxChannelCS(DeviceSinkAPI *deviceAPI) ChannelSourceAPI* NFMModPlugin::createTxChannelCS(DeviceAPI *deviceAPI)
{ {
return new NFMMod(deviceAPI); return new NFMMod(deviceAPI);
} }

View File

@ -36,8 +36,8 @@ public:
void initPlugin(PluginAPI* pluginAPI); void initPlugin(PluginAPI* pluginAPI);
virtual PluginInstanceGUI* createTxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSource *rxChannel); virtual PluginInstanceGUI* createTxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSource *rxChannel);
virtual BasebandSampleSource* createTxChannelBS(DeviceSinkAPI *deviceAPI); virtual BasebandSampleSource* createTxChannelBS(DeviceAPI *deviceAPI);
virtual ChannelSourceAPI* createTxChannelCS(DeviceSinkAPI *deviceAPI); virtual ChannelSourceAPI* createTxChannelCS(DeviceAPI *deviceAPI);
private: private:
static const PluginDescriptor m_pluginDescriptor; static const PluginDescriptor m_pluginDescriptor;

View File

@ -36,7 +36,7 @@
#include "dsp/dspengine.h" #include "dsp/dspengine.h"
#include "dsp/threadedbasebandsamplesource.h" #include "dsp/threadedbasebandsamplesource.h"
#include "dsp/dspcommands.h" #include "dsp/dspcommands.h"
#include "device/devicesinkapi.h" #include "device/deviceapi.h"
#include "util/db.h" #include "util/db.h"
MESSAGE_CLASS_DEFINITION(SSBMod::MsgConfigureSSBMod, Message) MESSAGE_CLASS_DEFINITION(SSBMod::MsgConfigureSSBMod, Message)
@ -52,7 +52,7 @@ const QString SSBMod::m_channelId = "SSBMod";
const int SSBMod::m_levelNbSamples = 480; // every 10ms const int SSBMod::m_levelNbSamples = 480; // every 10ms
const int SSBMod::m_ssbFftLen = 1024; const int SSBMod::m_ssbFftLen = 1024;
SSBMod::SSBMod(DeviceSinkAPI *deviceAPI) : SSBMod::SSBMod(DeviceAPI *deviceAPI) :
ChannelSourceAPI(m_channelIdURI), ChannelSourceAPI(m_channelIdURI),
m_deviceAPI(deviceAPI), m_deviceAPI(deviceAPI),
m_basebandSampleRate(48000), m_basebandSampleRate(48000),
@ -117,8 +117,8 @@ SSBMod::SSBMod(DeviceSinkAPI *deviceAPI) :
m_channelizer = new UpChannelizer(this); m_channelizer = new UpChannelizer(this);
m_threadedChannelizer = new ThreadedBasebandSampleSource(m_channelizer, this); m_threadedChannelizer = new ThreadedBasebandSampleSource(m_channelizer, this);
m_deviceAPI->addThreadedSource(m_threadedChannelizer); m_deviceAPI->addChannelSource(m_threadedChannelizer);
m_deviceAPI->addChannelAPI(this); m_deviceAPI->addChannelSourceAPI(this);
m_networkManager = new QNetworkAccessManager(); m_networkManager = new QNetworkAccessManager();
connect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*))); connect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*)));
@ -131,8 +131,8 @@ SSBMod::~SSBMod()
DSPEngine::instance()->getAudioDeviceManager()->removeAudioSource(&m_audioFifo); DSPEngine::instance()->getAudioDeviceManager()->removeAudioSource(&m_audioFifo);
m_deviceAPI->removeChannelAPI(this); m_deviceAPI->removeChannelSourceAPI(this);
m_deviceAPI->removeThreadedSource(m_threadedChannelizer); m_deviceAPI->removeChannelSource(m_threadedChannelizer);
delete m_threadedChannelizer; delete m_threadedChannelizer;
delete m_channelizer; delete m_channelizer;

View File

@ -41,7 +41,7 @@
class QNetworkAccessManager; class QNetworkAccessManager;
class QNetworkReply; class QNetworkReply;
class DeviceSinkAPI; class DeviceAPI;
class ThreadedBasebandSampleSource; class ThreadedBasebandSampleSource;
class UpChannelizer; class UpChannelizer;
@ -202,7 +202,7 @@ public:
//================================================================= //=================================================================
SSBMod(DeviceSinkAPI *deviceAPI); SSBMod(DeviceAPI *deviceAPI);
~SSBMod(); ~SSBMod();
virtual void destroy() { delete this; } virtual void destroy() { delete this; }
@ -259,7 +259,7 @@ private:
RSRunning RSRunning
}; };
DeviceSinkAPI* m_deviceAPI; DeviceAPI* m_deviceAPI;
ThreadedBasebandSampleSource* m_threadedChannelizer; ThreadedBasebandSampleSource* m_threadedChannelizer;
UpChannelizer* m_channelizer; UpChannelizer* m_channelizer;

View File

@ -66,12 +66,12 @@ PluginInstanceGUI* SSBModPlugin::createTxChannelGUI(DeviceUISet *deviceUISet, Ba
} }
#endif #endif
BasebandSampleSource* SSBModPlugin::createTxChannelBS(DeviceSinkAPI *deviceAPI) BasebandSampleSource* SSBModPlugin::createTxChannelBS(DeviceAPI *deviceAPI)
{ {
return new SSBMod(deviceAPI); return new SSBMod(deviceAPI);
} }
ChannelSourceAPI* SSBModPlugin::createTxChannelCS(DeviceSinkAPI *deviceAPI) ChannelSourceAPI* SSBModPlugin::createTxChannelCS(DeviceAPI *deviceAPI)
{ {
return new SSBMod(deviceAPI); return new SSBMod(deviceAPI);
} }

View File

@ -36,8 +36,8 @@ public:
void initPlugin(PluginAPI* pluginAPI); void initPlugin(PluginAPI* pluginAPI);
virtual PluginInstanceGUI* createTxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSource *txChannel); virtual PluginInstanceGUI* createTxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSource *txChannel);
virtual BasebandSampleSource* createTxChannelBS(DeviceSinkAPI *deviceAPI); virtual BasebandSampleSource* createTxChannelBS(DeviceAPI *deviceAPI);
virtual ChannelSourceAPI* createTxChannelCS(DeviceSinkAPI *deviceAPI); virtual ChannelSourceAPI* createTxChannelCS(DeviceAPI *deviceAPI);
private: private:
static const PluginDescriptor m_pluginDescriptor; static const PluginDescriptor m_pluginDescriptor;

View File

@ -34,7 +34,7 @@
#include "dsp/dspengine.h" #include "dsp/dspengine.h"
#include "dsp/threadedbasebandsamplesource.h" #include "dsp/threadedbasebandsamplesource.h"
#include "dsp/dspcommands.h" #include "dsp/dspcommands.h"
#include "device/devicesinkapi.h" #include "device/deviceapi.h"
#include "util/db.h" #include "util/db.h"
#include "wfmmod.h" #include "wfmmod.h"
@ -52,7 +52,7 @@ const QString WFMMod::m_channelId = "WFMMod";
const int WFMMod::m_levelNbSamples = 480; // every 10ms const int WFMMod::m_levelNbSamples = 480; // every 10ms
const int WFMMod::m_rfFilterFFTLength = 1024; const int WFMMod::m_rfFilterFFTLength = 1024;
WFMMod::WFMMod(DeviceSinkAPI *deviceAPI) : WFMMod::WFMMod(DeviceAPI *deviceAPI) :
ChannelSourceAPI(m_channelIdURI), ChannelSourceAPI(m_channelIdURI),
m_deviceAPI(deviceAPI), m_deviceAPI(deviceAPI),
m_basebandSampleRate(384000), m_basebandSampleRate(384000),
@ -97,8 +97,8 @@ WFMMod::WFMMod(DeviceSinkAPI *deviceAPI) :
m_channelizer = new UpChannelizer(this); m_channelizer = new UpChannelizer(this);
m_threadedChannelizer = new ThreadedBasebandSampleSource(m_channelizer, this); m_threadedChannelizer = new ThreadedBasebandSampleSource(m_channelizer, this);
m_deviceAPI->addThreadedSource(m_threadedChannelizer); m_deviceAPI->addChannelSource(m_threadedChannelizer);
m_deviceAPI->addChannelAPI(this); m_deviceAPI->addChannelSourceAPI(this);
m_networkManager = new QNetworkAccessManager(); m_networkManager = new QNetworkAccessManager();
connect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*))); connect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*)));
@ -109,8 +109,8 @@ WFMMod::~WFMMod()
disconnect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*))); disconnect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*)));
delete m_networkManager; delete m_networkManager;
DSPEngine::instance()->getAudioDeviceManager()->removeAudioSource(&m_audioFifo); DSPEngine::instance()->getAudioDeviceManager()->removeAudioSource(&m_audioFifo);
m_deviceAPI->removeChannelAPI(this); m_deviceAPI->removeChannelSourceAPI(this);
m_deviceAPI->removeThreadedSource(m_threadedChannelizer); m_deviceAPI->removeChannelSource(m_threadedChannelizer);
delete m_threadedChannelizer; delete m_threadedChannelizer;
delete m_channelizer; delete m_channelizer;
delete m_rfFilter; delete m_rfFilter;

View File

@ -41,7 +41,7 @@
class QNetworkAccessManager; class QNetworkAccessManager;
class QNetworkReply; class QNetworkReply;
class DeviceSinkAPI; class DeviceAPI;
class ThreadedBasebandSampleSource; class ThreadedBasebandSampleSource;
class UpChannelizer; class UpChannelizer;
@ -202,7 +202,7 @@ public:
//================================================================= //=================================================================
WFMMod(DeviceSinkAPI *deviceAPI); WFMMod(DeviceAPI *deviceAPI);
~WFMMod(); ~WFMMod();
virtual void destroy() { delete this; } virtual void destroy() { delete this; }
@ -256,7 +256,7 @@ private:
RSRunning RSRunning
}; };
DeviceSinkAPI* m_deviceAPI; DeviceAPI* m_deviceAPI;
ThreadedBasebandSampleSource* m_threadedChannelizer; ThreadedBasebandSampleSource* m_threadedChannelizer;
UpChannelizer* m_channelizer; UpChannelizer* m_channelizer;

View File

@ -66,12 +66,12 @@ PluginInstanceGUI* WFMModPlugin::createTxChannelGUI(DeviceUISet *deviceUISet, Ba
} }
#endif #endif
BasebandSampleSource* WFMModPlugin::createTxChannelBS(DeviceSinkAPI *deviceAPI) BasebandSampleSource* WFMModPlugin::createTxChannelBS(DeviceAPI *deviceAPI)
{ {
return new WFMMod(deviceAPI); return new WFMMod(deviceAPI);
} }
ChannelSourceAPI* WFMModPlugin::createTxChannelCS(DeviceSinkAPI *deviceAPI) ChannelSourceAPI* WFMModPlugin::createTxChannelCS(DeviceAPI *deviceAPI)
{ {
return new WFMMod(deviceAPI); return new WFMMod(deviceAPI);
} }

View File

@ -21,7 +21,7 @@
#include <QObject> #include <QObject>
#include "plugin/plugininterface.h" #include "plugin/plugininterface.h"
class DeviceSinkAPI; class DeviceAPI;
class WFMModPlugin : public QObject, PluginInterface { class WFMModPlugin : public QObject, PluginInterface {
Q_OBJECT Q_OBJECT
@ -35,8 +35,8 @@ public:
void initPlugin(PluginAPI* pluginAPI); void initPlugin(PluginAPI* pluginAPI);
virtual PluginInstanceGUI* createTxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSource *txChannel); virtual PluginInstanceGUI* createTxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSource *txChannel);
virtual BasebandSampleSource* createTxChannelBS(DeviceSinkAPI *deviceAPI); virtual BasebandSampleSource* createTxChannelBS(DeviceAPI *deviceAPI);
virtual ChannelSourceAPI* createTxChannelCS(DeviceSinkAPI *deviceAPI); virtual ChannelSourceAPI* createTxChannelCS(DeviceAPI *deviceAPI);
private: private:
static const PluginDescriptor m_pluginDescriptor; static const PluginDescriptor m_pluginDescriptor;

View File

@ -32,7 +32,7 @@
#include "SWGRemoteSourceReport.h" #include "SWGRemoteSourceReport.h"
#include "dsp/devicesamplesink.h" #include "dsp/devicesamplesink.h"
#include "device/devicesinkapi.h" #include "device/deviceapi.h"
#include "dsp/upchannelizer.h" #include "dsp/upchannelizer.h"
#include "dsp/threadedbasebandsamplesource.h" #include "dsp/threadedbasebandsamplesource.h"
@ -46,7 +46,7 @@ MESSAGE_CLASS_DEFINITION(RemoteSource::MsgReportStreamData, Message)
const QString RemoteSource::m_channelIdURI = "sdrangel.channeltx.remotesource"; const QString RemoteSource::m_channelIdURI = "sdrangel.channeltx.remotesource";
const QString RemoteSource::m_channelId ="RemoteSource"; const QString RemoteSource::m_channelId ="RemoteSource";
RemoteSource::RemoteSource(DeviceSinkAPI *deviceAPI) : RemoteSource::RemoteSource(DeviceAPI *deviceAPI) :
ChannelSourceAPI(m_channelIdURI), ChannelSourceAPI(m_channelIdURI),
m_deviceAPI(deviceAPI), m_deviceAPI(deviceAPI),
m_sourceThread(0), m_sourceThread(0),
@ -62,8 +62,8 @@ RemoteSource::RemoteSource(DeviceSinkAPI *deviceAPI) :
m_channelizer = new UpChannelizer(this); m_channelizer = new UpChannelizer(this);
m_threadedChannelizer = new ThreadedBasebandSampleSource(m_channelizer, this); m_threadedChannelizer = new ThreadedBasebandSampleSource(m_channelizer, this);
m_deviceAPI->addThreadedSource(m_threadedChannelizer); m_deviceAPI->addChannelSource(m_threadedChannelizer);
m_deviceAPI->addChannelAPI(this); m_deviceAPI->addChannelSourceAPI(this);
m_networkManager = new QNetworkAccessManager(); m_networkManager = new QNetworkAccessManager();
connect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*))); connect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*)));
@ -73,8 +73,8 @@ RemoteSource::~RemoteSource()
{ {
disconnect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*))); disconnect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*)));
delete m_networkManager; delete m_networkManager;
m_deviceAPI->removeChannelAPI(this); m_deviceAPI->removeChannelSourceAPI(this);
m_deviceAPI->removeThreadedSource(m_threadedChannelizer); m_deviceAPI->removeChannelSource(m_threadedChannelizer);
delete m_threadedChannelizer; delete m_threadedChannelizer;
delete m_channelizer; delete m_channelizer;
} }

View File

@ -34,7 +34,7 @@
class ThreadedBasebandSampleSource; class ThreadedBasebandSampleSource;
class UpChannelizer; class UpChannelizer;
class DeviceSinkAPI; class DeviceAPI;
class RemoteSourceThread; class RemoteSourceThread;
class RemoteDataBlock; class RemoteDataBlock;
class QNetworkAccessManager; class QNetworkAccessManager;
@ -180,7 +180,7 @@ public:
{ } { }
}; };
RemoteSource(DeviceSinkAPI *deviceAPI); RemoteSource(DeviceAPI *deviceAPI);
~RemoteSource(); ~RemoteSource();
virtual void destroy() { delete this; } virtual void destroy() { delete this; }
@ -218,7 +218,7 @@ public:
static const QString m_channelId; static const QString m_channelId;
private: private:
DeviceSinkAPI* m_deviceAPI; DeviceAPI* m_deviceAPI;
ThreadedBasebandSampleSource* m_threadedChannelizer; ThreadedBasebandSampleSource* m_threadedChannelizer;
UpChannelizer* m_channelizer; UpChannelizer* m_channelizer;
RemoteDataQueue m_dataQueue; RemoteDataQueue m_dataQueue;

View File

@ -17,7 +17,7 @@
#include "remotesourcegui.h" #include "remotesourcegui.h"
#include "device/devicesinkapi.h" #include "device/deviceapi.h"
#include "device/deviceuiset.h" #include "device/deviceuiset.h"
#include "gui/basicchannelsettingsdialog.h" #include "gui/basicchannelsettingsdialog.h"
#include "mainwindow.h" #include "mainwindow.h"
@ -178,7 +178,7 @@ RemoteSourceGUI::RemoteSourceGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet,
m_remoteSrc = (RemoteSource*) channelTx; m_remoteSrc = (RemoteSource*) channelTx;
m_remoteSrc->setMessageQueueToGUI(getInputMessageQueue()); m_remoteSrc->setMessageQueueToGUI(getInputMessageQueue());
connect(&(m_deviceUISet->m_deviceSinkAPI->getMasterTimer()), SIGNAL(timeout()), this, SLOT(tick())); connect(&(m_deviceUISet->m_deviceAPI->getMasterTimer()), SIGNAL(timeout()), this, SLOT(tick()));
m_channelMarker.blockSignals(true); m_channelMarker.blockSignals(true);
m_channelMarker.setColor(m_settings.m_rgbColor); m_channelMarker.setColor(m_settings.m_rgbColor);

View File

@ -66,12 +66,12 @@ PluginInstanceGUI* RemoteSourcePlugin::createTxChannelGUI(DeviceUISet *deviceUIS
} }
#endif #endif
BasebandSampleSource* RemoteSourcePlugin::createTxChannelBS(DeviceSinkAPI *deviceAPI) BasebandSampleSource* RemoteSourcePlugin::createTxChannelBS(DeviceAPI *deviceAPI)
{ {
return new RemoteSource(deviceAPI); return new RemoteSource(deviceAPI);
} }
ChannelSourceAPI* RemoteSourcePlugin::createTxChannelCS(DeviceSinkAPI *deviceAPI) ChannelSourceAPI* RemoteSourcePlugin::createTxChannelCS(DeviceAPI *deviceAPI)
{ {
return new RemoteSource(deviceAPI); return new RemoteSource(deviceAPI);
} }

View File

@ -36,8 +36,8 @@ public:
void initPlugin(PluginAPI* pluginAPI); void initPlugin(PluginAPI* pluginAPI);
virtual PluginInstanceGUI* createTxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSource *txChannel); virtual PluginInstanceGUI* createTxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSource *txChannel);
virtual BasebandSampleSource* createTxChannelBS(DeviceSinkAPI *deviceAPI); virtual BasebandSampleSource* createTxChannelBS(DeviceAPI *deviceAPI);
virtual ChannelSourceAPI* createTxChannelCS(DeviceSinkAPI *deviceAPI); virtual ChannelSourceAPI* createTxChannelCS(DeviceAPI *deviceAPI);
private: private:
static const PluginDescriptor m_pluginDescriptor; static const PluginDescriptor m_pluginDescriptor;

View File

@ -24,7 +24,7 @@
#include "SWGChannelReport.h" #include "SWGChannelReport.h"
#include "SWGUDPSourceReport.h" #include "SWGUDPSourceReport.h"
#include "device/devicesinkapi.h" #include "device/deviceapi.h"
#include "dsp/upchannelizer.h" #include "dsp/upchannelizer.h"
#include "dsp/threadedbasebandsamplesource.h" #include "dsp/threadedbasebandsamplesource.h"
#include "dsp/dspcommands.h" #include "dsp/dspcommands.h"
@ -41,7 +41,7 @@ MESSAGE_CLASS_DEFINITION(UDPSource::MsgResetReadIndex, Message)
const QString UDPSource::m_channelIdURI = "sdrangel.channeltx.udpsource"; const QString UDPSource::m_channelIdURI = "sdrangel.channeltx.udpsource";
const QString UDPSource::m_channelId = "UDPSource"; const QString UDPSource::m_channelId = "UDPSource";
UDPSource::UDPSource(DeviceSinkAPI *deviceAPI) : UDPSource::UDPSource(DeviceAPI *deviceAPI) :
ChannelSourceAPI(m_channelIdURI), ChannelSourceAPI(m_channelIdURI),
m_deviceAPI(deviceAPI), m_deviceAPI(deviceAPI),
m_basebandSampleRate(48000), m_basebandSampleRate(48000),
@ -80,8 +80,8 @@ UDPSource::UDPSource(DeviceSinkAPI *deviceAPI) :
m_channelizer = new UpChannelizer(this); m_channelizer = new UpChannelizer(this);
m_threadedChannelizer = new ThreadedBasebandSampleSource(m_channelizer, this); m_threadedChannelizer = new ThreadedBasebandSampleSource(m_channelizer, this);
m_deviceAPI->addThreadedSource(m_threadedChannelizer); m_deviceAPI->addChannelSource(m_threadedChannelizer);
m_deviceAPI->addChannelAPI(this); m_deviceAPI->addChannelSourceAPI(this);
m_networkManager = new QNetworkAccessManager(); m_networkManager = new QNetworkAccessManager();
connect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*))); connect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*)));
@ -91,8 +91,8 @@ UDPSource::~UDPSource()
{ {
disconnect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*))); disconnect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*)));
delete m_networkManager; delete m_networkManager;
m_deviceAPI->removeChannelAPI(this); m_deviceAPI->removeChannelSourceAPI(this);
m_deviceAPI->removeThreadedSource(m_threadedChannelizer); m_deviceAPI->removeChannelSource(m_threadedChannelizer);
delete m_threadedChannelizer; delete m_threadedChannelizer;
delete m_channelizer; delete m_channelizer;
delete m_SSBFilter; delete m_SSBFilter;

View File

@ -35,7 +35,7 @@
class QNetworkAccessManager; class QNetworkAccessManager;
class QNetworkReply; class QNetworkReply;
class DeviceSinkAPI; class DeviceAPI;
class ThreadedBasebandSampleSource; class ThreadedBasebandSampleSource;
class UpChannelizer; class UpChannelizer;
@ -90,7 +90,7 @@ public:
{ } { }
}; };
UDPSource(DeviceSinkAPI *deviceAPI); UDPSource(DeviceAPI *deviceAPI);
virtual ~UDPSource(); virtual ~UDPSource();
virtual void destroy() { delete this; } virtual void destroy() { delete this; }
@ -183,7 +183,7 @@ private:
{ } { }
}; };
DeviceSinkAPI* m_deviceAPI; DeviceAPI* m_deviceAPI;
ThreadedBasebandSampleSource* m_threadedChannelizer; ThreadedBasebandSampleSource* m_threadedChannelizer;
UpChannelizer* m_channelizer; UpChannelizer* m_channelizer;

View File

@ -68,12 +68,12 @@ PluginInstanceGUI* UDPSourcePlugin::createTxChannelGUI(DeviceUISet *deviceUISet,
} }
#endif #endif
BasebandSampleSource* UDPSourcePlugin::createTxChannelBS(DeviceSinkAPI *deviceAPI) BasebandSampleSource* UDPSourcePlugin::createTxChannelBS(DeviceAPI *deviceAPI)
{ {
return new UDPSource(deviceAPI); return new UDPSource(deviceAPI);
} }
ChannelSourceAPI* UDPSourcePlugin::createTxChannelCS(DeviceSinkAPI *deviceAPI) ChannelSourceAPI* UDPSourcePlugin::createTxChannelCS(DeviceAPI *deviceAPI)
{ {
return new UDPSource(deviceAPI); return new UDPSource(deviceAPI);
} }

View File

@ -37,8 +37,8 @@ public:
void initPlugin(PluginAPI* pluginAPI); void initPlugin(PluginAPI* pluginAPI);
virtual PluginInstanceGUI* createTxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSource *txChannel); virtual PluginInstanceGUI* createTxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSource *txChannel);
virtual BasebandSampleSource* createTxChannelBS(DeviceSinkAPI *deviceAPI); virtual BasebandSampleSource* createTxChannelBS(DeviceAPI *deviceAPI);
virtual ChannelSourceAPI* createTxChannelCS(DeviceSinkAPI *deviceAPI); virtual ChannelSourceAPI* createTxChannelCS(DeviceAPI *deviceAPI);
private: private:
static const PluginDescriptor m_pluginDescriptor; static const PluginDescriptor m_pluginDescriptor;

View File

@ -26,9 +26,10 @@
#include "SWGDeviceState.h" #include "SWGDeviceState.h"
#include "dsp/dspcommands.h" #include "dsp/dspcommands.h"
#include "dsp/dspdevicesourceengine.h"
#include "dsp/dspdevicesinkengine.h"
#include "dsp/dspengine.h" #include "dsp/dspengine.h"
#include "device/devicesinkapi.h" #include "device/deviceapi.h"
#include "device/devicesourceapi.h"
#include "bladerf1/devicebladerf1shared.h" #include "bladerf1/devicebladerf1shared.h"
#include "bladerf1outputthread.h" #include "bladerf1outputthread.h"
#include "bladerf1output.h" #include "bladerf1output.h"
@ -37,7 +38,7 @@ MESSAGE_CLASS_DEFINITION(Bladerf1Output::MsgConfigureBladerf1, Message)
MESSAGE_CLASS_DEFINITION(Bladerf1Output::MsgStartStop, Message) MESSAGE_CLASS_DEFINITION(Bladerf1Output::MsgStartStop, Message)
MESSAGE_CLASS_DEFINITION(Bladerf1Output::MsgReportBladerf1, Message) MESSAGE_CLASS_DEFINITION(Bladerf1Output::MsgReportBladerf1, Message)
Bladerf1Output::Bladerf1Output(DeviceSinkAPI *deviceAPI) : Bladerf1Output::Bladerf1Output(DeviceAPI *deviceAPI) :
m_deviceAPI(deviceAPI), m_deviceAPI(deviceAPI),
m_settings(), m_settings(),
m_dev(0), m_dev(0),
@ -83,7 +84,7 @@ bool Bladerf1Output::openDevice()
if (m_deviceAPI->getSourceBuddies().size() > 0) if (m_deviceAPI->getSourceBuddies().size() > 0)
{ {
DeviceSourceAPI *sourceBuddy = m_deviceAPI->getSourceBuddies()[0]; DeviceAPI *sourceBuddy = m_deviceAPI->getSourceBuddies()[0];
DeviceBladeRF1Params *buddySharedParams = (DeviceBladeRF1Params *) sourceBuddy->getBuddySharedPtr(); DeviceBladeRF1Params *buddySharedParams = (DeviceBladeRF1Params *) sourceBuddy->getBuddySharedPtr();
if (buddySharedParams == 0) if (buddySharedParams == 0)
@ -103,9 +104,9 @@ bool Bladerf1Output::openDevice()
} }
else else
{ {
if (!DeviceBladeRF1::open_bladerf(&m_dev, qPrintable(m_deviceAPI->getSampleSinkSerial()))) if (!DeviceBladeRF1::open_bladerf(&m_dev, qPrintable(m_deviceAPI->getSamplingDeviceSerial())))
{ {
qCritical("BladerfOutput::start: could not open BladeRF %s", qPrintable(m_deviceAPI->getSampleSinkSerial())); qCritical("BladerfOutput::start: could not open BladeRF %s", qPrintable(m_deviceAPI->getSamplingDeviceSerial()));
return false; return false;
} }
@ -277,14 +278,14 @@ bool Bladerf1Output::handleMessage(const Message& message)
if (cmd.getStartStop()) if (cmd.getStartStop())
{ {
if (m_deviceAPI->initGeneration()) if (m_deviceAPI->initDeviceEngine())
{ {
m_deviceAPI->startGeneration(); m_deviceAPI->startDeviceEngine();
} }
} }
else else
{ {
m_deviceAPI->stopGeneration(); m_deviceAPI->stopDeviceEngine();
} }
if (m_settings.m_useReverseAPI) { if (m_settings.m_useReverseAPI) {
@ -420,7 +421,7 @@ bool Bladerf1Output::applySettings(const BladeRF1OutputSettings& settings, bool
if (m_deviceAPI->getSourceBuddies().size() > 0) if (m_deviceAPI->getSourceBuddies().size() > 0)
{ {
DeviceSourceAPI *buddy = m_deviceAPI->getSourceBuddies()[0]; DeviceAPI *buddy = m_deviceAPI->getSourceBuddies()[0];
if (buddy->getDeviceSourceEngine()->state() == DSPDeviceSourceEngine::StRunning) { // Tx side running if (buddy->getDeviceSourceEngine()->state() == DSPDeviceSourceEngine::StRunning) { // Tx side running
changeSettings = false; changeSettings = false;

View File

@ -29,7 +29,7 @@
class QNetworkAccessManager; class QNetworkAccessManager;
class QNetworkReply; class QNetworkReply;
class DeviceSinkAPI; class DeviceAPI;
class Bladerf1OutputThread; class Bladerf1OutputThread;
class Bladerf1Output : public DeviceSampleSink { class Bladerf1Output : public DeviceSampleSink {
@ -94,7 +94,7 @@ public:
{ } { }
}; };
Bladerf1Output(DeviceSinkAPI *deviceAPI); Bladerf1Output(DeviceAPI *deviceAPI);
virtual ~Bladerf1Output(); virtual ~Bladerf1Output();
virtual void destroy(); virtual void destroy();
@ -133,7 +133,7 @@ public:
QString& errorMessage); QString& errorMessage);
private: private:
DeviceSinkAPI *m_deviceAPI; DeviceAPI *m_deviceAPI;
QMutex m_mutex; QMutex m_mutex;
BladeRF1OutputSettings m_settings; BladeRF1OutputSettings m_settings;
struct bladerf* m_dev; struct bladerf* m_dev;

Some files were not shown because too many files have changed in this diff Show More