1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2026-07-23 02:24:16 -04:00

Hack to try ChannelAnalyzer channel plugin handled via DeviceUISet

This commit is contained in:
f4exb
2017-10-31 00:07:55 +01:00
parent edc427804c
commit da5f8aa6f9
9 changed files with 72 additions and 24 deletions
+11 -9
View File
@@ -17,6 +17,7 @@
#include "chanalyzergui.h"
#include <device/devicesourceapi.h>
#include "device/deviceuiset.h"
#include <dsp/downchannelizer.h>
#include <QDockWidget>
#include <QMainWindow>
@@ -39,9 +40,9 @@
const QString ChannelAnalyzerGUI::m_channelID = "org.f4exb.sdrangelove.channel.chanalyzer";
ChannelAnalyzerGUI* ChannelAnalyzerGUI::create(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI)
ChannelAnalyzerGUI* ChannelAnalyzerGUI::create(PluginAPI* pluginAPI, DeviceUISet *deviceUISet)
{
ChannelAnalyzerGUI* gui = new ChannelAnalyzerGUI(pluginAPI, deviceAPI);
ChannelAnalyzerGUI* gui = new ChannelAnalyzerGUI(pluginAPI, deviceUISet);
return gui;
}
@@ -322,11 +323,12 @@ void ChannelAnalyzerGUI::onMenuDoubleClicked()
}
}
ChannelAnalyzerGUI::ChannelAnalyzerGUI(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI, QWidget* parent) :
ChannelAnalyzerGUI::ChannelAnalyzerGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, QWidget* parent) :
RollupWidget(parent),
ui(new Ui::ChannelAnalyzerGUI),
m_pluginAPI(pluginAPI),
m_deviceAPI(deviceAPI),
// m_deviceAPI(deviceAPI),
m_deviceUISet(deviceUISet),
m_channelMarker(this),
m_basicSettingsShown(false),
m_doApplySettings(true),
@@ -342,7 +344,7 @@ ChannelAnalyzerGUI::ChannelAnalyzerGUI(PluginAPI* pluginAPI, DeviceSourceAPI *de
m_spectrumVis = new SpectrumVis(ui->glSpectrum);
m_scopeVis = new ScopeVis(ui->glScope);
m_spectrumScopeComboVis = new SpectrumScopeComboVis(m_spectrumVis, m_scopeVis);
m_channelAnalyzer = new ChannelAnalyzer(m_deviceAPI);
m_channelAnalyzer = new ChannelAnalyzer(m_deviceUISet->m_deviceSourceAPI);
m_channelAnalyzer->setSampleSink(m_spectrumScopeComboVis);
m_channelAnalyzer->setMessageQueueToGUI(getInputMessageQueue());
@@ -368,9 +370,9 @@ ChannelAnalyzerGUI::ChannelAnalyzerGUI(PluginAPI* pluginAPI, DeviceSourceAPI *de
connect(&m_channelMarker, SIGNAL(changed()), this, SLOT(viewChanged()));
m_deviceAPI->registerChannelInstance(m_channelID, this);
m_deviceAPI->addChannelMarker(&m_channelMarker);
m_deviceAPI->addRollupWidget(this);
m_deviceUISet->registerChannelInstance(m_channelID, this);
m_deviceUISet->addChannelMarker(&m_channelMarker);
m_deviceUISet->addRollupWidget(this);
ui->spectrumGUI->setBuddies(m_spectrumVis->getInputMessageQueue(), m_spectrumVis, ui->glSpectrum);
ui->scopeGUI->setBuddies(m_scopeVis->getInputMessageQueue(), m_scopeVis, ui->glScope);
@@ -383,7 +385,7 @@ ChannelAnalyzerGUI::ChannelAnalyzerGUI(PluginAPI* pluginAPI, DeviceSourceAPI *de
ChannelAnalyzerGUI::~ChannelAnalyzerGUI()
{
m_deviceAPI->removeChannelInstance(this);
m_deviceUISet->removeChannelInstance(this);
delete m_channelAnalyzer;
delete m_spectrumVis;
delete m_scopeVis;
+5 -4
View File
@@ -24,7 +24,7 @@
#include "util/messagequeue.h"
class PluginAPI;
class DeviceSourceAPI;
class DeviceUISet;
class ThreadedBasebandSampleSink;
class DownChannelizer;
@@ -41,7 +41,7 @@ class ChannelAnalyzerGUI : public RollupWidget, public PluginInstanceGUI {
Q_OBJECT
public:
static ChannelAnalyzerGUI* create(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI);
static ChannelAnalyzerGUI* create(PluginAPI* pluginAPI, DeviceUISet *deviceUIset);
virtual void destroy();
void setName(const QString& name);
@@ -73,7 +73,8 @@ private slots:
private:
Ui::ChannelAnalyzerGUI* ui;
PluginAPI* m_pluginAPI;
DeviceSourceAPI* m_deviceAPI;
// DeviceSourceAPI* m_deviceAPI;
DeviceUISet* m_deviceUISet;
ChannelMarker m_channelMarker;
bool m_basicSettingsShown;
bool m_doApplySettings;
@@ -89,7 +90,7 @@ private:
ScopeVis* m_scopeVis;
MessageQueue m_inputMessageQueue;
explicit ChannelAnalyzerGUI(PluginAPI* pluginAPI, DeviceSourceAPI *deviceAPI, QWidget* parent = NULL);
explicit ChannelAnalyzerGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, QWidget* parent = 0);
virtual ~ChannelAnalyzerGUI();
int getEffectiveLowCutoff(int lowCutoff);
@@ -33,18 +33,18 @@ void ChannelAnalyzerPlugin::initPlugin(PluginAPI* pluginAPI)
m_pluginAPI->registerRxChannel(ChannelAnalyzerGUI::m_channelID, this);
}
PluginInstanceGUI* ChannelAnalyzerPlugin::createRxChannel(const QString& channelName, DeviceSourceAPI *deviceAPI)
PluginInstanceGUI* ChannelAnalyzerPlugin::createRxChannel(const QString& channelName, DeviceUISet *deviceUISet)
{
if(channelName == ChannelAnalyzerGUI::m_channelID)
{
ChannelAnalyzerGUI* gui = ChannelAnalyzerGUI::create(m_pluginAPI, deviceAPI);
ChannelAnalyzerGUI* gui = ChannelAnalyzerGUI::create(m_pluginAPI, deviceUISet);
return gui;
} else {
return NULL;
}
}
void ChannelAnalyzerPlugin::createInstanceChannelAnalyzer(DeviceSourceAPI *deviceAPI)
void ChannelAnalyzerPlugin::createInstanceChannelAnalyzer(DeviceUISet *deviceUISet)
{
ChannelAnalyzerGUI::create(m_pluginAPI, deviceAPI);
ChannelAnalyzerGUI::create(m_pluginAPI, deviceUISet);
}
@@ -4,7 +4,7 @@
#include <QObject>
#include "plugin/plugininterface.h"
class DeviceSourceAPI;
class DeviceUISet;
class ChannelAnalyzerPlugin : public QObject, PluginInterface {
Q_OBJECT
@@ -17,7 +17,7 @@ public:
const PluginDescriptor& getPluginDescriptor() const;
void initPlugin(PluginAPI* pluginAPI);
PluginInstanceGUI* createRxChannel(const QString& channelName, DeviceSourceAPI *deviceAPI);
PluginInstanceGUI* createRxChannel(const QString& channelName, DeviceUISet *deviceUISet);
private:
static const PluginDescriptor m_pluginDescriptor;
@@ -25,7 +25,7 @@ private:
PluginAPI* m_pluginAPI;
private slots:
void createInstanceChannelAnalyzer(DeviceSourceAPI *deviceAPI);
void createInstanceChannelAnalyzer(DeviceUISet *deviceUISet);
};
#endif // INCLUDE_CHANALYZERPLUGIN_H