From 31aacc95717c56abeca3e1322ad460755abc5a7c Mon Sep 17 00:00:00 2001
From: f4exb <f4exb06@gmail.com>
Date: Sat, 23 Dec 2017 10:32:02 +0100
Subject: [PATCH] Plugin interface: simplify createRxChannelGUI

---
 plugins/channelrx/chanalyzer/chanalyzerplugin.cpp    | 10 ++--------
 plugins/channelrx/chanalyzer/chanalyzerplugin.h      |  2 +-
 .../channelrx/chanalyzerng/chanalyzerngplugin.cpp    | 10 ++--------
 plugins/channelrx/chanalyzerng/chanalyzerngplugin.h  |  2 +-
 plugins/channelrx/demodam/amdemodplugin.cpp          | 10 ++--------
 plugins/channelrx/demodam/amdemodplugin.h            |  2 +-
 plugins/channelrx/demodatv/atvdemodplugin.cpp        | 12 ++----------
 plugins/channelrx/demodatv/atvdemodplugin.h          |  2 +-
 plugins/channelrx/demodbfm/bfmplugin.cpp             | 10 ++--------
 plugins/channelrx/demodbfm/bfmplugin.h               |  2 +-
 plugins/channelrx/demoddsd/dsddemodplugin.cpp        | 10 ++--------
 plugins/channelrx/demoddsd/dsddemodplugin.h          |  2 +-
 plugins/channelrx/demodlora/loraplugin.cpp           | 10 ++--------
 plugins/channelrx/demodlora/loraplugin.h             |  2 +-
 plugins/channelrx/demodnfm/nfmplugin.cpp             | 10 ++--------
 plugins/channelrx/demodnfm/nfmplugin.h               |  2 +-
 plugins/channelrx/demodssb/ssbplugin.cpp             | 10 ++--------
 plugins/channelrx/demodssb/ssbplugin.h               |  2 +-
 plugins/channelrx/demodwfm/wfmplugin.cpp             | 10 ++--------
 plugins/channelrx/demodwfm/wfmplugin.h               |  2 +-
 plugins/channelrx/tcpsrc/tcpsrcplugin.cpp            | 12 ++----------
 plugins/channelrx/tcpsrc/tcpsrcplugin.h              |  2 +-
 plugins/channelrx/udpsrc/udpsrcplugin.cpp            | 12 ++----------
 plugins/channelrx/udpsrc/udpsrcplugin.h              |  2 +-
 sdrbase/plugin/plugininterface.h                     |  1 -
 sdrbase/plugin/pluginmanager.cpp                     |  2 +-
 sdrgui/device/deviceuiset.cpp                        | 10 +++++-----
 27 files changed, 42 insertions(+), 121 deletions(-)

diff --git a/plugins/channelrx/chanalyzer/chanalyzerplugin.cpp b/plugins/channelrx/chanalyzer/chanalyzerplugin.cpp
index 6fabc23b3..c728805a4 100644
--- a/plugins/channelrx/chanalyzer/chanalyzerplugin.cpp
+++ b/plugins/channelrx/chanalyzer/chanalyzerplugin.cpp
@@ -34,15 +34,9 @@ void ChannelAnalyzerPlugin::initPlugin(PluginAPI* pluginAPI)
 	m_pluginAPI->registerRxChannel(ChannelAnalyzer::m_channelIdURI, ChannelAnalyzer::m_channelId, this);
 }
 
-PluginInstanceGUI* ChannelAnalyzerPlugin::createRxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel)
+PluginInstanceGUI* ChannelAnalyzerPlugin::createRxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel)
 {
-	if(channelName == ChannelAnalyzer::m_channelIdURI)
-	{
-		ChannelAnalyzerGUI* gui = ChannelAnalyzerGUI::create(m_pluginAPI, deviceUISet, rxChannel);
-		return gui;
-	} else {
-		return NULL;
-	}
+    return ChannelAnalyzerGUI::create(m_pluginAPI, deviceUISet, rxChannel);
 }
 
 BasebandSampleSink* ChannelAnalyzerPlugin::createRxChannelBS(DeviceSourceAPI *deviceAPI)
diff --git a/plugins/channelrx/chanalyzer/chanalyzerplugin.h b/plugins/channelrx/chanalyzer/chanalyzerplugin.h
index 80b7df73a..e8a48d3b6 100644
--- a/plugins/channelrx/chanalyzer/chanalyzerplugin.h
+++ b/plugins/channelrx/chanalyzer/chanalyzerplugin.h
@@ -19,7 +19,7 @@ public:
 	const PluginDescriptor& getPluginDescriptor() const;
 	void initPlugin(PluginAPI* pluginAPI);
 
-	virtual PluginInstanceGUI* createRxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel);
+	virtual PluginInstanceGUI* createRxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel);
     virtual BasebandSampleSink* createRxChannelBS(DeviceSourceAPI *deviceAPI);
     virtual ChannelSinkAPI* createRxChannelCS(DeviceSourceAPI *deviceAPI);
 
diff --git a/plugins/channelrx/chanalyzerng/chanalyzerngplugin.cpp b/plugins/channelrx/chanalyzerng/chanalyzerngplugin.cpp
index a93f78267..4161511b4 100644
--- a/plugins/channelrx/chanalyzerng/chanalyzerngplugin.cpp
+++ b/plugins/channelrx/chanalyzerng/chanalyzerngplugin.cpp
@@ -49,15 +49,9 @@ void ChannelAnalyzerNGPlugin::initPlugin(PluginAPI* pluginAPI)
 	m_pluginAPI->registerRxChannel(ChannelAnalyzerNG::m_channelIdURI, ChannelAnalyzerNG::m_channelId, this);
 }
 
-PluginInstanceGUI* ChannelAnalyzerNGPlugin::createRxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel)
+PluginInstanceGUI* ChannelAnalyzerNGPlugin::createRxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel)
 {
-	if(channelName == ChannelAnalyzerNG::m_channelIdURI)
-	{
-	    ChannelAnalyzerNGGUI* gui = ChannelAnalyzerNGGUI::create(m_pluginAPI, deviceUISet, rxChannel);
-		return gui;
-	} else {
-		return 0;
-	}
+    return ChannelAnalyzerNGGUI::create(m_pluginAPI, deviceUISet, rxChannel);
 }
 
 BasebandSampleSink* ChannelAnalyzerNGPlugin::createRxChannelBS(DeviceSourceAPI *deviceAPI)
diff --git a/plugins/channelrx/chanalyzerng/chanalyzerngplugin.h b/plugins/channelrx/chanalyzerng/chanalyzerngplugin.h
index 10fa369cd..b6c0ce9d7 100644
--- a/plugins/channelrx/chanalyzerng/chanalyzerngplugin.h
+++ b/plugins/channelrx/chanalyzerng/chanalyzerngplugin.h
@@ -35,7 +35,7 @@ public:
 	const PluginDescriptor& getPluginDescriptor() const;
 	void initPlugin(PluginAPI* pluginAPI);
 
-	virtual PluginInstanceGUI* createRxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel);
+	virtual PluginInstanceGUI* createRxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel);
 	virtual BasebandSampleSink* createRxChannelBS(DeviceSourceAPI *deviceAPI);
 	virtual ChannelSinkAPI* createRxChannelCS(DeviceSourceAPI *deviceAPI);
 
diff --git a/plugins/channelrx/demodam/amdemodplugin.cpp b/plugins/channelrx/demodam/amdemodplugin.cpp
index 681498f83..0f3b4c174 100644
--- a/plugins/channelrx/demodam/amdemodplugin.cpp
+++ b/plugins/channelrx/demodam/amdemodplugin.cpp
@@ -34,15 +34,9 @@ void AMDemodPlugin::initPlugin(PluginAPI* pluginAPI)
 	m_pluginAPI->registerRxChannel(AMDemod::m_channelIdURI, AMDemod::m_channelId, this);
 }
 
-PluginInstanceGUI* AMDemodPlugin::createRxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel)
+PluginInstanceGUI* AMDemodPlugin::createRxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel)
 {
-	if(channelName == AMDemod::m_channelIdURI)
-	{
-		AMDemodGUI* gui = AMDemodGUI::create(m_pluginAPI, deviceUISet, rxChannel);
-		return gui;
-	} else {
-		return 0;
-	}
+	return AMDemodGUI::create(m_pluginAPI, deviceUISet, rxChannel);
 }
 
 BasebandSampleSink* AMDemodPlugin::createRxChannelBS(DeviceSourceAPI *deviceAPI)
diff --git a/plugins/channelrx/demodam/amdemodplugin.h b/plugins/channelrx/demodam/amdemodplugin.h
index d7bd0358f..efcaf974b 100644
--- a/plugins/channelrx/demodam/amdemodplugin.h
+++ b/plugins/channelrx/demodam/amdemodplugin.h
@@ -34,7 +34,7 @@ public:
 	const PluginDescriptor& getPluginDescriptor() const;
 	void initPlugin(PluginAPI* pluginAPI);
 
-	virtual PluginInstanceGUI* createRxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel);
+	virtual PluginInstanceGUI* createRxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel);
 	virtual BasebandSampleSink* createRxChannelBS(DeviceSourceAPI *deviceAPI);
 	virtual ChannelSinkAPI* createRxChannelCS(DeviceSourceAPI *deviceAPI);
 
diff --git a/plugins/channelrx/demodatv/atvdemodplugin.cpp b/plugins/channelrx/demodatv/atvdemodplugin.cpp
index 133e3a491..2dd2c74e1 100644
--- a/plugins/channelrx/demodatv/atvdemodplugin.cpp
+++ b/plugins/channelrx/demodatv/atvdemodplugin.cpp
@@ -54,17 +54,9 @@ void ATVDemodPlugin::initPlugin(PluginAPI* ptrPluginAPI)
     m_ptrPluginAPI->registerRxChannel(ATVDemod::m_channelIdURI, ATVDemod::m_channelId, this);
 }
 
-PluginInstanceGUI* ATVDemodPlugin::createRxChannelGUI(const QString& strChannelName, DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel)
+PluginInstanceGUI* ATVDemodPlugin::createRxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel)
 {
-    if(strChannelName == ATVDemod::m_channelIdURI)
-	{
-        ATVDemodGUI* ptrGui = ATVDemodGUI::create(m_ptrPluginAPI, deviceUISet, rxChannel);
-        return ptrGui;
-    }
-    else
-    {
-		return 0;
-	}
+    return ATVDemodGUI::create(m_ptrPluginAPI, deviceUISet, rxChannel);
 }
 
 BasebandSampleSink* ATVDemodPlugin::createRxChannelBS(DeviceSourceAPI *deviceAPI)
diff --git a/plugins/channelrx/demodatv/atvdemodplugin.h b/plugins/channelrx/demodatv/atvdemodplugin.h
index 7835a78cb..b2aba225c 100644
--- a/plugins/channelrx/demodatv/atvdemodplugin.h
+++ b/plugins/channelrx/demodatv/atvdemodplugin.h
@@ -36,7 +36,7 @@ public:
 	const PluginDescriptor& getPluginDescriptor() const;
     void initPlugin(PluginAPI* ptrPluginAPI);
 
-    virtual PluginInstanceGUI* createRxChannelGUI(const QString& strChannelName, DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel);
+    virtual PluginInstanceGUI* createRxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel);
     virtual BasebandSampleSink* createRxChannelBS(DeviceSourceAPI *deviceAPI);
     virtual ChannelSinkAPI* createRxChannelCS(DeviceSourceAPI *deviceAPI);
 
diff --git a/plugins/channelrx/demodbfm/bfmplugin.cpp b/plugins/channelrx/demodbfm/bfmplugin.cpp
index ccba09aff..5dc76d776 100644
--- a/plugins/channelrx/demodbfm/bfmplugin.cpp
+++ b/plugins/channelrx/demodbfm/bfmplugin.cpp
@@ -51,15 +51,9 @@ void BFMPlugin::initPlugin(PluginAPI* pluginAPI)
 	m_pluginAPI->registerRxChannel(BFMDemod::m_channelIdURI, BFMDemod::m_channelId, this);
 }
 
-PluginInstanceGUI* BFMPlugin::createRxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel)
+PluginInstanceGUI* BFMPlugin::createRxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel)
 {
-	if(channelName == BFMDemod::m_channelIdURI)
-	{
-		BFMDemodGUI* gui = BFMDemodGUI::create(m_pluginAPI, deviceUISet, rxChannel);
-		return gui;
-	} else {
-		return 0;
-	}
+	return BFMDemodGUI::create(m_pluginAPI, deviceUISet, rxChannel);
 }
 
 
diff --git a/plugins/channelrx/demodbfm/bfmplugin.h b/plugins/channelrx/demodbfm/bfmplugin.h
index 28de90f8b..a32308054 100644
--- a/plugins/channelrx/demodbfm/bfmplugin.h
+++ b/plugins/channelrx/demodbfm/bfmplugin.h
@@ -34,7 +34,7 @@ public:
 	const PluginDescriptor& getPluginDescriptor() const;
 	void initPlugin(PluginAPI* pluginAPI);
 
-	virtual PluginInstanceGUI* createRxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel);
+	virtual PluginInstanceGUI* createRxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel);
 	virtual BasebandSampleSink* createRxChannelBS(DeviceSourceAPI *deviceAPI);
 	virtual ChannelSinkAPI* createRxChannelCS(DeviceSourceAPI *deviceAPI);
 
diff --git a/plugins/channelrx/demoddsd/dsddemodplugin.cpp b/plugins/channelrx/demoddsd/dsddemodplugin.cpp
index 0ad9aca4f..4b6582b04 100644
--- a/plugins/channelrx/demoddsd/dsddemodplugin.cpp
+++ b/plugins/channelrx/demoddsd/dsddemodplugin.cpp
@@ -51,15 +51,9 @@ void DSDDemodPlugin::initPlugin(PluginAPI* pluginAPI)
 	m_pluginAPI->registerRxChannel(DSDDemod::m_channelIdURI, DSDDemod::m_channelId, this);
 }
 
-PluginInstanceGUI* DSDDemodPlugin::createRxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel)
+PluginInstanceGUI* DSDDemodPlugin::createRxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel)
 {
-	if(channelName == DSDDemod::m_channelIdURI)
-	{
-		DSDDemodGUI* gui = DSDDemodGUI::create(m_pluginAPI, deviceUISet, rxChannel);
-		return gui;
-	} else {
-		return 0;
-	}
+	return DSDDemodGUI::create(m_pluginAPI, deviceUISet, rxChannel);
 }
 
 BasebandSampleSink* DSDDemodPlugin::createRxChannelBS(DeviceSourceAPI *deviceAPI)
diff --git a/plugins/channelrx/demoddsd/dsddemodplugin.h b/plugins/channelrx/demoddsd/dsddemodplugin.h
index 0cdbbace9..149289fd3 100644
--- a/plugins/channelrx/demoddsd/dsddemodplugin.h
+++ b/plugins/channelrx/demoddsd/dsddemodplugin.h
@@ -35,7 +35,7 @@ public:
 	const PluginDescriptor& getPluginDescriptor() const;
 	void initPlugin(PluginAPI* pluginAPI);
 
-	virtual PluginInstanceGUI* createRxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel);
+	virtual PluginInstanceGUI* createRxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel);
 	virtual BasebandSampleSink* createRxChannelBS(DeviceSourceAPI *deviceAPI);
 	virtual ChannelSinkAPI* createRxChannelCS(DeviceSourceAPI *deviceAPI);
 
diff --git a/plugins/channelrx/demodlora/loraplugin.cpp b/plugins/channelrx/demodlora/loraplugin.cpp
index f9826ecbf..faa3e4933 100644
--- a/plugins/channelrx/demodlora/loraplugin.cpp
+++ b/plugins/channelrx/demodlora/loraplugin.cpp
@@ -33,15 +33,9 @@ void LoRaPlugin::initPlugin(PluginAPI* pluginAPI)
 	m_pluginAPI->registerRxChannel(LoRaDemod::m_channelIdURI, LoRaDemod::m_channelId, this);
 }
 
-PluginInstanceGUI* LoRaPlugin::createRxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel)
+PluginInstanceGUI* LoRaPlugin::createRxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel)
 {
-	if(channelName == LoRaDemod::m_channelIdURI)
-	{
-		LoRaDemodGUI* gui = LoRaDemodGUI::create(m_pluginAPI, deviceUISet, rxChannel);
-		return gui;
-	} else {
-		return 0;
-	}
+	return LoRaDemodGUI::create(m_pluginAPI, deviceUISet, rxChannel);
 }
 
 BasebandSampleSink* LoRaPlugin::createRxChannelBS(DeviceSourceAPI *deviceAPI)
diff --git a/plugins/channelrx/demodlora/loraplugin.h b/plugins/channelrx/demodlora/loraplugin.h
index 93f54cf70..46a0a0d39 100644
--- a/plugins/channelrx/demodlora/loraplugin.h
+++ b/plugins/channelrx/demodlora/loraplugin.h
@@ -18,7 +18,7 @@ public:
 	const PluginDescriptor& getPluginDescriptor() const;
 	void initPlugin(PluginAPI* pluginAPI);
 
-	virtual PluginInstanceGUI* createRxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel);
+	virtual PluginInstanceGUI* createRxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel);
 	virtual BasebandSampleSink* createRxChannelBS(DeviceSourceAPI *deviceAPI);
 	virtual ChannelSinkAPI* createRxChannelCS(DeviceSourceAPI *deviceAPI);
 
diff --git a/plugins/channelrx/demodnfm/nfmplugin.cpp b/plugins/channelrx/demodnfm/nfmplugin.cpp
index 02a05cb70..5ee26501a 100644
--- a/plugins/channelrx/demodnfm/nfmplugin.cpp
+++ b/plugins/channelrx/demodnfm/nfmplugin.cpp
@@ -35,21 +35,15 @@ void NFMPlugin::initPlugin(PluginAPI* pluginAPI)
 
 #ifdef SERVER_MODE
 PluginInstanceGUI* NFMPlugin::createRxChannelGUI(
-        const QString& channelName __attribute__((unused)),
         DeviceUISet *deviceUISet __attribute__((unused)),
         BasebandSampleSink *rxChannel __attribute__((unused)))
 {
     return 0;
 }
 #else
-PluginInstanceGUI* NFMPlugin::createRxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel)
+PluginInstanceGUI* NFMPlugin::createRxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel)
 {
-	if(channelName == NFMDemod::m_channelIdURI) {
-		NFMDemodGUI* gui = NFMDemodGUI::create(m_pluginAPI, deviceUISet, rxChannel);
-		return gui;
-	} else {
-		return 0;
-	}
+	return NFMDemodGUI::create(m_pluginAPI, deviceUISet, rxChannel);
 }
 #endif
 
diff --git a/plugins/channelrx/demodnfm/nfmplugin.h b/plugins/channelrx/demodnfm/nfmplugin.h
index 88d9e993f..b5f90af70 100644
--- a/plugins/channelrx/demodnfm/nfmplugin.h
+++ b/plugins/channelrx/demodnfm/nfmplugin.h
@@ -18,7 +18,7 @@ public:
 	const PluginDescriptor& getPluginDescriptor() const;
 	void initPlugin(PluginAPI* pluginAPI);
 
-	virtual PluginInstanceGUI* createRxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel);
+	virtual PluginInstanceGUI* createRxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel);
     virtual BasebandSampleSink* createRxChannelBS(DeviceSourceAPI *deviceAPI);
     virtual ChannelSinkAPI* createRxChannelCS(DeviceSourceAPI *deviceAPI);
 
diff --git a/plugins/channelrx/demodssb/ssbplugin.cpp b/plugins/channelrx/demodssb/ssbplugin.cpp
index d4b851a6d..f4a9644a7 100644
--- a/plugins/channelrx/demodssb/ssbplugin.cpp
+++ b/plugins/channelrx/demodssb/ssbplugin.cpp
@@ -34,15 +34,9 @@ void SSBPlugin::initPlugin(PluginAPI* pluginAPI)
 	m_pluginAPI->registerRxChannel(SSBDemod::m_channelIdURI, SSBDemod::m_channelId, this);
 }
 
-PluginInstanceGUI* SSBPlugin::createRxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel)
+PluginInstanceGUI* SSBPlugin::createRxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel)
 {
-	if(channelName == SSBDemod::m_channelIdURI)
-	{
-		SSBDemodGUI* gui = SSBDemodGUI::create(m_pluginAPI, deviceUISet, rxChannel);
-		return gui;
-	} else {
-		return 0;
-	}
+	return SSBDemodGUI::create(m_pluginAPI, deviceUISet, rxChannel);
 }
 
 BasebandSampleSink* SSBPlugin::createRxChannelBS(DeviceSourceAPI *deviceAPI)
diff --git a/plugins/channelrx/demodssb/ssbplugin.h b/plugins/channelrx/demodssb/ssbplugin.h
index 2b2c26220..b965d5c1c 100644
--- a/plugins/channelrx/demodssb/ssbplugin.h
+++ b/plugins/channelrx/demodssb/ssbplugin.h
@@ -18,7 +18,7 @@ public:
 	const PluginDescriptor& getPluginDescriptor() const;
 	void initPlugin(PluginAPI* pluginAPI);
 
-	virtual PluginInstanceGUI* createRxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel);
+	virtual PluginInstanceGUI* createRxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel);
 	virtual BasebandSampleSink* createRxChannelBS(DeviceSourceAPI *deviceAPI);
 	virtual ChannelSinkAPI* createRxChannelCS(DeviceSourceAPI *deviceAPI);
 
diff --git a/plugins/channelrx/demodwfm/wfmplugin.cpp b/plugins/channelrx/demodwfm/wfmplugin.cpp
index 5e698e449..78afb944d 100644
--- a/plugins/channelrx/demodwfm/wfmplugin.cpp
+++ b/plugins/channelrx/demodwfm/wfmplugin.cpp
@@ -34,15 +34,9 @@ void WFMPlugin::initPlugin(PluginAPI* pluginAPI)
 	m_pluginAPI->registerRxChannel(WFMDemod::m_channelIdURI, WFMDemod::m_channelId, this);
 }
 
-PluginInstanceGUI* WFMPlugin::createRxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel)
+PluginInstanceGUI* WFMPlugin::createRxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel)
 {
-	if(channelName == WFMDemod::m_channelIdURI)
-	{
-		WFMDemodGUI* gui = WFMDemodGUI::create(m_pluginAPI, deviceUISet, rxChannel);
-		return gui;
-	} else {
-		return 0;
-	}
+	return WFMDemodGUI::create(m_pluginAPI, deviceUISet, rxChannel);
 }
 
 BasebandSampleSink* WFMPlugin::createRxChannelBS(DeviceSourceAPI *deviceAPI)
diff --git a/plugins/channelrx/demodwfm/wfmplugin.h b/plugins/channelrx/demodwfm/wfmplugin.h
index fd8450fae..c2676ce11 100644
--- a/plugins/channelrx/demodwfm/wfmplugin.h
+++ b/plugins/channelrx/demodwfm/wfmplugin.h
@@ -18,7 +18,7 @@ public:
 	const PluginDescriptor& getPluginDescriptor() const;
 	void initPlugin(PluginAPI* pluginAPI);
 
-	virtual PluginInstanceGUI* createRxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel);
+	virtual PluginInstanceGUI* createRxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel);
 	virtual BasebandSampleSink* createRxChannelBS(DeviceSourceAPI *deviceAPI);
 	virtual ChannelSinkAPI* createRxChannelCS(DeviceSourceAPI *deviceAPI);
 
diff --git a/plugins/channelrx/tcpsrc/tcpsrcplugin.cpp b/plugins/channelrx/tcpsrc/tcpsrcplugin.cpp
index 5a2552c5c..16589efc0 100644
--- a/plugins/channelrx/tcpsrc/tcpsrcplugin.cpp
+++ b/plugins/channelrx/tcpsrc/tcpsrcplugin.cpp
@@ -34,17 +34,9 @@ void TCPSrcPlugin::initPlugin(PluginAPI* pluginAPI)
 	m_pluginAPI->registerRxChannel(TCPSrc::m_channelIdURI, TCPSrc::m_channelId, this);
 }
 
-PluginInstanceGUI* TCPSrcPlugin::createRxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel)
+PluginInstanceGUI* TCPSrcPlugin::createRxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel)
 {
-	if(channelName == TCPSrc::m_channelIdURI)
-	{
-		TCPSrcGUI* gui = TCPSrcGUI::create(m_pluginAPI, deviceUISet, rxChannel);
-//		deviceAPI->registerChannelInstance("sdrangel.channel.tcpsrc", gui);
-//		m_pluginAPI->addChannelRollup(gui);
-		return gui;
-	} else {
-		return 0;
-	}
+	return TCPSrcGUI::create(m_pluginAPI, deviceUISet, rxChannel);
 }
 
 BasebandSampleSink* TCPSrcPlugin::createRxChannelBS(DeviceSourceAPI *deviceAPI)
diff --git a/plugins/channelrx/tcpsrc/tcpsrcplugin.h b/plugins/channelrx/tcpsrc/tcpsrcplugin.h
index 35e524aa6..74d3d5996 100644
--- a/plugins/channelrx/tcpsrc/tcpsrcplugin.h
+++ b/plugins/channelrx/tcpsrc/tcpsrcplugin.h
@@ -18,7 +18,7 @@ public:
 	const PluginDescriptor& getPluginDescriptor() const;
 	void initPlugin(PluginAPI* pluginAPI);
 
-	virtual PluginInstanceGUI* createRxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel);
+	virtual PluginInstanceGUI* createRxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel);
 	virtual BasebandSampleSink* createRxChannelBS(DeviceSourceAPI *deviceAPI);
 	virtual ChannelSinkAPI* createRxChannelCS(DeviceSourceAPI *deviceAPI);
 
diff --git a/plugins/channelrx/udpsrc/udpsrcplugin.cpp b/plugins/channelrx/udpsrc/udpsrcplugin.cpp
index dca27ab34..2ea355c73 100644
--- a/plugins/channelrx/udpsrc/udpsrcplugin.cpp
+++ b/plugins/channelrx/udpsrc/udpsrcplugin.cpp
@@ -51,17 +51,9 @@ void UDPSrcPlugin::initPlugin(PluginAPI* pluginAPI)
 	m_pluginAPI->registerRxChannel(UDPSrc::m_channelIdURI, UDPSrc::m_channelId, this);
 }
 
-PluginInstanceGUI* UDPSrcPlugin::createRxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel)
+PluginInstanceGUI* UDPSrcPlugin::createRxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel)
 {
-	if(channelName == UDPSrc::m_channelIdURI)
-	{
-		UDPSrcGUI* gui = UDPSrcGUI::create(m_pluginAPI, deviceUISet, rxChannel);
-//		deviceAPI->registerChannelInstance("sdrangel.channel.udpsrc", gui);
-//		m_pluginAPI->addChannelRollup(gui);
-		return gui;
-	} else {
-		return 0;
-	}
+	return UDPSrcGUI::create(m_pluginAPI, deviceUISet, rxChannel);
 }
 
 BasebandSampleSink* UDPSrcPlugin::createRxChannelBS(DeviceSourceAPI *deviceAPI)
diff --git a/plugins/channelrx/udpsrc/udpsrcplugin.h b/plugins/channelrx/udpsrc/udpsrcplugin.h
index a760d1c58..9c3ca2de6 100644
--- a/plugins/channelrx/udpsrc/udpsrcplugin.h
+++ b/plugins/channelrx/udpsrc/udpsrcplugin.h
@@ -35,7 +35,7 @@ public:
 	const PluginDescriptor& getPluginDescriptor() const;
 	void initPlugin(PluginAPI* pluginAPI);
 
-	virtual PluginInstanceGUI* createRxChannelGUI(const QString& channelName, DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel);
+	virtual PluginInstanceGUI* createRxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel);
 	virtual BasebandSampleSink* createRxChannelBS(DeviceSourceAPI *deviceAPI);
 	virtual ChannelSinkAPI* createRxChannelCS(DeviceSourceAPI *deviceAPI);
 
diff --git a/sdrbase/plugin/plugininterface.h b/sdrbase/plugin/plugininterface.h
index e0c9fa45c..1601be112 100644
--- a/sdrbase/plugin/plugininterface.h
+++ b/sdrbase/plugin/plugininterface.h
@@ -79,7 +79,6 @@ public:
 	// channel Rx plugins
 
     virtual PluginInstanceGUI* createRxChannelGUI(
-            const QString& channelName __attribute__((unused)),
             DeviceUISet *deviceUISet __attribute__((unused)),
             BasebandSampleSink *rxChannel __attribute__((unused)))
     { return 0; }
diff --git a/sdrbase/plugin/pluginmanager.cpp b/sdrbase/plugin/pluginmanager.cpp
index 367fca05f..774c5eaa0 100644
--- a/sdrbase/plugin/pluginmanager.cpp
+++ b/sdrbase/plugin/pluginmanager.cpp
@@ -184,7 +184,7 @@ void PluginManager::createRxChannelInstance(int channelPluginIndex, DeviceUISet
     {
         PluginInterface *pluginInterface = m_rxChannelRegistrations[channelPluginIndex].m_plugin;
         BasebandSampleSink *rxChannel = pluginInterface->createRxChannelBS(deviceAPI);
-        pluginInterface->createRxChannelGUI(m_rxChannelRegistrations[channelPluginIndex].m_channelIdURI, deviceUISet, rxChannel);
+        pluginInterface->createRxChannelGUI(deviceUISet, rxChannel);
     }
 }
 
diff --git a/sdrgui/device/deviceuiset.cpp b/sdrgui/device/deviceuiset.cpp
index 52ae22354..ee2d38061 100644
--- a/sdrgui/device/deviceuiset.cpp
+++ b/sdrgui/device/deviceuiset.cpp
@@ -176,11 +176,11 @@ void DeviceUISet::loadRxChannelSettings(const Preset *preset, PluginAPI *pluginA
                     if((*channelRegistrations)[i].m_channelIdURI == channelConfig.m_channelIdURI)
                     {
                         qDebug("DeviceUISet::loadChannelSettings: creating new channel [%s]", qPrintable(channelConfig.m_channelIdURI));
-                        BasebandSampleSink *rxChannel = (*channelRegistrations)[i].m_plugin->createRxChannelBS(m_deviceSourceAPI);
-                        PluginInstanceGUI *rxChannelGUI = (*channelRegistrations)[i].m_plugin->createRxChannelGUI(
-                                channelConfig.m_channelIdURI, this, rxChannel);
-                        reg = ChannelInstanceRegistration(
-                                channelConfig.m_channelIdURI, rxChannelGUI);
+                        BasebandSampleSink *rxChannel
+                            = (*channelRegistrations)[i].m_plugin->createRxChannelBS(m_deviceSourceAPI);
+                        PluginInstanceGUI *rxChannelGUI
+                            = (*channelRegistrations)[i].m_plugin->createRxChannelGUI(this, rxChannel);
+                        reg = ChannelInstanceRegistration(channelConfig.m_channelIdURI, rxChannelGUI);
                         break;
                     }
                 }