diff options
author | Christian Daniel <cd@maintech.de> | 2013-03-22 11:18:30 +0100 |
---|---|---|
committer | Christian Daniel <cd@maintech.de> | 2013-03-22 11:18:30 +0100 |
commit | eca56e35be841396f6c57bab540a3e1503253d56 (patch) | |
tree | 4a0a29cd53a84339e56754c32bf67391c83494fe /plugins/demod/nfm/nfmplugin.cpp | |
parent | 2c8c930b39fe069b36d81caa00401d9ac182a9d8 (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.cpp | 52 |
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); |