mirror of
https://github.com/f4exb/sdrangel.git
synced 2024-09-28 15:56:33 -04:00
PluginManager::selectSampleSourceBySerialOrSequence: store plugin interface in device API
This commit is contained in:
parent
6b6b99f30e
commit
29f975942c
@ -173,6 +173,11 @@ void DeviceSourceAPI::setSampleSourceSequence(int sequence)
|
|||||||
m_deviceSourceEngine->setSourceSequence(sequence);
|
m_deviceSourceEngine->setSourceSequence(sequence);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void DeviceSourceAPI::setSampleSourcePluginInterface(PluginInterface *interface)
|
||||||
|
{
|
||||||
|
m_pluginInterface = interface;
|
||||||
|
}
|
||||||
|
|
||||||
void DeviceSourceAPI::setSampleSourcePluginInstanceUI(PluginInstanceUI *gui)
|
void DeviceSourceAPI::setSampleSourcePluginInstanceUI(PluginInstanceUI *gui)
|
||||||
{
|
{
|
||||||
if (m_sampleSourcePluginInstanceUI != 0)
|
if (m_sampleSourcePluginInstanceUI != 0)
|
||||||
|
@ -36,6 +36,7 @@ class ChannelMarker;
|
|||||||
class QWidget;
|
class QWidget;
|
||||||
class PluginInstanceUI;
|
class PluginInstanceUI;
|
||||||
class PluginAPI;
|
class PluginAPI;
|
||||||
|
class PluginInterface;
|
||||||
class Preset;
|
class Preset;
|
||||||
class DeviceSinkAPI;
|
class DeviceSinkAPI;
|
||||||
|
|
||||||
@ -72,12 +73,14 @@ public:
|
|||||||
void setSampleSourceSerial(const QString& serial);
|
void setSampleSourceSerial(const QString& serial);
|
||||||
void setSampleSourceDisplayName(const QString& serial);
|
void setSampleSourceDisplayName(const QString& serial);
|
||||||
void setSampleSourceSequence(int sequence);
|
void setSampleSourceSequence(int sequence);
|
||||||
|
void setSampleSourcePluginInterface(PluginInterface *interface);
|
||||||
void setSampleSourcePluginInstanceUI(PluginInstanceUI *gui);
|
void setSampleSourcePluginInstanceUI(PluginInstanceUI *gui);
|
||||||
|
|
||||||
const QString& getHardwareId() const { return m_hardwareId; }
|
const QString& getHardwareId() const { return m_hardwareId; }
|
||||||
const QString& getSampleSourceId() const { return m_sampleSourceId; }
|
const QString& getSampleSourceId() const { return m_sampleSourceId; }
|
||||||
const QString& getSampleSourceSerial() const { return m_sampleSourceSerial; }
|
const QString& getSampleSourceSerial() const { return m_sampleSourceSerial; }
|
||||||
const QString& getSampleSourceDisplayName() const { return m_sampleSourceDisplayName; }
|
const QString& getSampleSourceDisplayName() const { return m_sampleSourceDisplayName; }
|
||||||
|
PluginInterface *getPluginInterface() { return m_pluginInterface; }
|
||||||
uint32_t getSampleSourceSequence() const { return m_sampleSourceSequence; }
|
uint32_t getSampleSourceSequence() const { return m_sampleSourceSequence; }
|
||||||
|
|
||||||
void registerChannelInstance(const QString& channelName, PluginInstanceUI* pluginGUI);
|
void registerChannelInstance(const QString& channelName, PluginInstanceUI* pluginGUI);
|
||||||
@ -148,6 +151,7 @@ protected:
|
|||||||
QString m_sampleSourceSerial;
|
QString m_sampleSourceSerial;
|
||||||
QString m_sampleSourceDisplayName;
|
QString m_sampleSourceDisplayName;
|
||||||
uint32_t m_sampleSourceSequence;
|
uint32_t m_sampleSourceSequence;
|
||||||
|
PluginInterface* m_pluginInterface;
|
||||||
PluginInstanceUI* m_sampleSourcePluginInstanceUI;
|
PluginInstanceUI* m_sampleSourcePluginInstanceUI;
|
||||||
|
|
||||||
ChannelInstanceRegistrations m_channelInstanceRegistrations;
|
ChannelInstanceRegistrations m_channelInstanceRegistrations;
|
||||||
|
@ -212,10 +212,10 @@ void MainWindow::addSourceDevice()
|
|||||||
ui->tabInputsSelect->addTab(m_deviceUIs.back()->m_samplingDeviceControl, tabNameCStr);
|
ui->tabInputsSelect->addTab(m_deviceUIs.back()->m_samplingDeviceControl, tabNameCStr);
|
||||||
ui->tabInputsSelect->setTabToolTip(deviceTabIndex, QString(uidCStr));
|
ui->tabInputsSelect->setTabToolTip(deviceTabIndex, QString(uidCStr));
|
||||||
|
|
||||||
int deviceIndex = m_pluginManager->selectSampleSourceBySerialOrSequence("sdrangel.samplesource.filesource", "0", 0, m_deviceUIs.back()->m_deviceSourceAPI);
|
m_pluginManager->selectSampleSourceBySerialOrSequence("sdrangel.samplesource.filesource", "0", 0, m_deviceUIs.back()->m_deviceSourceAPI);
|
||||||
|
|
||||||
QWidget *gui;
|
QWidget *gui;
|
||||||
PluginInstanceUI *pluginGUI = m_pluginManager->getPluginInterfaceAt(deviceIndex)->createSampleSourcePluginInstanceGUI(
|
PluginInstanceUI *pluginGUI = m_deviceUIs.back()->m_deviceSourceAPI->getPluginInterface()->createSampleSourcePluginInstanceGUI(
|
||||||
m_deviceUIs.back()->m_deviceSourceAPI->getSampleSourceId(), &gui, m_deviceUIs.back()->m_deviceSourceAPI);
|
m_deviceUIs.back()->m_deviceSourceAPI->getSampleSourceId(), &gui, m_deviceUIs.back()->m_deviceSourceAPI);
|
||||||
m_deviceUIs.back()->m_deviceSourceAPI->setSampleSourcePluginInstanceUI(pluginGUI);
|
m_deviceUIs.back()->m_deviceSourceAPI->setSampleSourcePluginInstanceUI(pluginGUI);
|
||||||
m_deviceUIs.back()->m_deviceSourceAPI->setInputGUI(gui, m_deviceUIs.back()->m_deviceSourceAPI->getSampleSourceDisplayName());
|
m_deviceUIs.back()->m_deviceSourceAPI->setInputGUI(gui, m_deviceUIs.back()->m_deviceSourceAPI->getSampleSourceDisplayName());
|
||||||
|
@ -509,6 +509,7 @@ int PluginManager::selectSampleSourceBySerialOrSequence(const QString& sourceId,
|
|||||||
deviceAPI->setSampleSourceId(m_sampleSourceDevices[index].m_deviceId);
|
deviceAPI->setSampleSourceId(m_sampleSourceDevices[index].m_deviceId);
|
||||||
deviceAPI->setSampleSourceSerial(m_sampleSourceDevices[index].m_deviceSerial);
|
deviceAPI->setSampleSourceSerial(m_sampleSourceDevices[index].m_deviceSerial);
|
||||||
deviceAPI->setSampleSourceDisplayName(m_sampleSourceDevices[index].m_displayName);
|
deviceAPI->setSampleSourceDisplayName(m_sampleSourceDevices[index].m_displayName);
|
||||||
|
deviceAPI->setSampleSourcePluginInterface(m_sampleSourceDevices[index].m_plugin);
|
||||||
|
|
||||||
return index;
|
return index;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user