summaryrefslogtreecommitdiffstats
path: root/plugins/demod/nfm/nfmplugin.cpp
diff options
context:
space:
mode:
authorChristian Daniel <cd@maintech.de>2013-03-22 11:18:30 +0100
committerChristian Daniel <cd@maintech.de>2013-03-22 11:18:30 +0100
commiteca56e35be841396f6c57bab540a3e1503253d56 (patch)
tree4a0a29cd53a84339e56754c32bf67391c83494fe /plugins/demod/nfm/nfmplugin.cpp
parent2c8c930b39fe069b36d81caa00401d9ac182a9d8 (diff)
monster rework
- pluginify whole project - reorganize directory structure - fix PortAudio detection script - implement generic channelizer - fix several OpenGL problems - rework presets - add audio mixing - too many more
Diffstat (limited to 'plugins/demod/nfm/nfmplugin.cpp')
-rw-r--r--plugins/demod/nfm/nfmplugin.cpp52
1 files changed, 52 insertions, 0 deletions
diff --git a/plugins/demod/nfm/nfmplugin.cpp b/plugins/demod/nfm/nfmplugin.cpp
new file mode 100644
index 0000000..6c1c063
--- /dev/null
+++ b/plugins/demod/nfm/nfmplugin.cpp
@@ -0,0 +1,52 @@
+#include <QtPlugin>
+#include <QAction>
+#include "plugin/pluginapi.h"
+#include "nfmplugin.h"
+#include "nfmdemodgui.h"
+
+const PluginDescriptor NFMPlugin::m_pluginDescriptor = {
+ displayedName: QString("NFM Demodulator"),
+ version: QString("---"),
+ copyright: QString("(c) maintech GmbH (written by Christian Daniel)"),
+ website: QString("http://www.maintech.de"),
+ licenseIsGPL: true,
+ sourceCodeURL: QString("http://www.maintech.de")
+};
+
+NFMPlugin::NFMPlugin(QObject* parent) :
+ QObject(parent)
+{
+}
+
+const PluginDescriptor& NFMPlugin::getPluginDescriptor() const
+{
+ return m_pluginDescriptor;
+}
+
+void NFMPlugin::initPlugin(PluginAPI* pluginAPI)
+{
+ m_pluginAPI = pluginAPI;
+
+ // register NFM demodulator
+ QAction* action = new QAction(tr("&NFM"), this);
+ connect(action, SIGNAL(triggered()), this, SLOT(createInstanceNFM()));
+ m_pluginAPI->registerDemodulator("de.maintech.sdrangelove.demod.nfm", this, action);
+}
+
+PluginGUI* NFMPlugin::createDemod(const QString& demodName)
+{
+ if(demodName == "de.maintech.sdrangelove.demod.nfm") {
+ PluginGUI* gui = NFMDemodGUI::create(m_pluginAPI);
+ m_pluginAPI->registerDemodulatorInstance("de.maintech.sdrangelove.demod.nfm", gui);
+ return gui;
+ } else {
+ return NULL;
+ }
+}
+
+void NFMPlugin::createInstanceNFM()
+{
+ m_pluginAPI->registerDemodulatorInstance("de.maintech.sdrangelove.demod.nfm", NFMDemodGUI::create(m_pluginAPI));
+}
+
+Q_EXPORT_PLUGIN2(nfmPlugin, NFMPlugin);