mirror of
https://github.com/f4exb/sdrangel.git
synced 2024-12-23 18:15:45 -05:00
SDRdaemonFEC support: correctly implement in plugin manager
This commit is contained in:
parent
0812ab0d13
commit
b73330c663
@ -25,7 +25,7 @@
|
||||
#include "sdrdaemonfecgui.h"
|
||||
|
||||
const PluginDescriptor SDRdaemonFECPlugin::m_pluginDescriptor = {
|
||||
QString("SDRdaemon input"),
|
||||
QString("SDRdaemon with FEC input"),
|
||||
QString("2.1.0"),
|
||||
QString("(c) Edouard Griffiths, F4EXB"),
|
||||
QString("https://github.com/f4exb/sdrangel"),
|
||||
@ -57,7 +57,7 @@ PluginInterface::SampleSourceDevices SDRdaemonFECPlugin::enumSampleSources()
|
||||
|
||||
for(int i = 0; i < count; i++)
|
||||
{
|
||||
QString displayedName(QString("SDRdaemon[%1]").arg(i));
|
||||
QString displayedName(QString("SDRdaemonFEC[%1]").arg(i));
|
||||
|
||||
result.append(SampleSourceDevice(displayedName,
|
||||
m_deviceTypeID,
|
||||
|
@ -15,6 +15,7 @@
|
||||
#include <QDebug>
|
||||
|
||||
const QString PluginManager::m_sdrDaemonDeviceTypeID = "sdrangel.samplesource.sdrdaemon";
|
||||
const QString PluginManager::m_sdrDaemonFECDeviceTypeID = "sdrangel.samplesource.sdrdaemonfec";
|
||||
const QString PluginManager::m_fileSourceDeviceTypeID = "sdrangel.samplesource.filesource";
|
||||
|
||||
PluginManager::PluginManager(MainWindow* mainWindow, QObject* parent) :
|
||||
@ -91,8 +92,10 @@ void PluginManager::duplicateLocalSampleSourceDevices(uint deviceUID)
|
||||
}
|
||||
|
||||
SampleSourceDevice *sdrDaemonSSD0 = 0;
|
||||
SampleSourceDevice *sdrDaemonFECSSD0 = 0;
|
||||
SampleSourceDevice *fileSourceSSD0 = 0;
|
||||
bool duplicateSDRDaemon = true;
|
||||
bool duplicateSDRDaemonFEC = true;
|
||||
bool duplicateFileSource = true;
|
||||
|
||||
for(int i = 0; i < m_sampleSourceDevices.count(); ++i)
|
||||
@ -106,6 +109,15 @@ void PluginManager::duplicateLocalSampleSourceDevices(uint deviceUID)
|
||||
duplicateSDRDaemon = false;
|
||||
}
|
||||
}
|
||||
else if (m_sampleSourceDevices[i].m_sourceId == m_sdrDaemonFECDeviceTypeID) // SDRdaemon with FEC
|
||||
{
|
||||
if (m_sampleSourceDevices[i].m_sourceSequence == 0) { // reference to device 0
|
||||
sdrDaemonFECSSD0 = &m_sampleSourceDevices[i];
|
||||
}
|
||||
else if (m_sampleSourceDevices[i].m_sourceSequence == deviceUID) { // already there
|
||||
duplicateSDRDaemonFEC = false;
|
||||
}
|
||||
}
|
||||
else if (m_sampleSourceDevices[i].m_sourceId == m_fileSourceDeviceTypeID) // File Source
|
||||
{
|
||||
if (m_sampleSourceDevices[i].m_sourceSequence == 0) { // reference to device 0
|
||||
@ -130,6 +142,19 @@ void PluginManager::duplicateLocalSampleSourceDevices(uint deviceUID)
|
||||
);
|
||||
}
|
||||
|
||||
if (sdrDaemonFECSSD0 && duplicateSDRDaemonFEC) // append item for a new instance
|
||||
{
|
||||
m_sampleSourceDevices.append(
|
||||
SampleSourceDevice(
|
||||
sdrDaemonFECSSD0->m_plugin,
|
||||
QString("SDRdaemonFEC[%1]").arg(deviceUID),
|
||||
sdrDaemonFECSSD0->m_sourceId,
|
||||
sdrDaemonFECSSD0->m_sourceSerial,
|
||||
deviceUID
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
if (fileSourceSSD0 && duplicateFileSource) // append item for a new instance
|
||||
{
|
||||
m_sampleSourceDevices.append(
|
||||
@ -151,7 +176,9 @@ void PluginManager::fillSampleSourceSelector(QComboBox* comboBox, uint deviceUID
|
||||
for(int i = 0; i < m_sampleSourceDevices.count(); i++)
|
||||
{
|
||||
// For "local" devices show only ones that concern this device set
|
||||
if ((m_sampleSourceDevices[i].m_sourceId == m_sdrDaemonDeviceTypeID) || (m_sampleSourceDevices[i].m_sourceId == m_fileSourceDeviceTypeID))
|
||||
if ((m_sampleSourceDevices[i].m_sourceId == m_sdrDaemonDeviceTypeID)
|
||||
|| (m_sampleSourceDevices[i].m_sourceId == m_sdrDaemonFECDeviceTypeID)
|
||||
|| (m_sampleSourceDevices[i].m_sourceId == m_fileSourceDeviceTypeID))
|
||||
{
|
||||
if (deviceUID != m_sampleSourceDevices[i].m_sourceSequence) {
|
||||
continue;
|
||||
|
@ -103,6 +103,7 @@ private:
|
||||
|
||||
// "Local" sample source device IDs
|
||||
static const QString m_sdrDaemonDeviceTypeID; //!< SDRdaemon source plugin ID
|
||||
static const QString m_sdrDaemonFECDeviceTypeID; //!< SDRdaemon with FEC source plugin ID
|
||||
static const QString m_fileSourceDeviceTypeID; //!< FileSource source plugin ID
|
||||
|
||||
// QString m_sampleSourceId;
|
||||
|
Loading…
Reference in New Issue
Block a user