mirror of
https://github.com/f4exb/sdrangel.git
synced 2025-02-03 09:44:01 -05: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);
|
||||
}
|
||||
|
||||
void DeviceSourceAPI::setSampleSourcePluginInterface(PluginInterface *interface)
|
||||
{
|
||||
m_pluginInterface = interface;
|
||||
}
|
||||
|
||||
void DeviceSourceAPI::setSampleSourcePluginInstanceUI(PluginInstanceUI *gui)
|
||||
{
|
||||
if (m_sampleSourcePluginInstanceUI != 0)
|
||||
|
@ -36,6 +36,7 @@ class ChannelMarker;
|
||||
class QWidget;
|
||||
class PluginInstanceUI;
|
||||
class PluginAPI;
|
||||
class PluginInterface;
|
||||
class Preset;
|
||||
class DeviceSinkAPI;
|
||||
|
||||
@ -72,12 +73,14 @@ public:
|
||||
void setSampleSourceSerial(const QString& serial);
|
||||
void setSampleSourceDisplayName(const QString& serial);
|
||||
void setSampleSourceSequence(int sequence);
|
||||
void setSampleSourcePluginInterface(PluginInterface *interface);
|
||||
void setSampleSourcePluginInstanceUI(PluginInstanceUI *gui);
|
||||
|
||||
const QString& getHardwareId() const { return m_hardwareId; }
|
||||
const QString& getSampleSourceId() const { return m_sampleSourceId; }
|
||||
const QString& getSampleSourceSerial() const { return m_sampleSourceSerial; }
|
||||
const QString& getSampleSourceDisplayName() const { return m_sampleSourceDisplayName; }
|
||||
PluginInterface *getPluginInterface() { return m_pluginInterface; }
|
||||
uint32_t getSampleSourceSequence() const { return m_sampleSourceSequence; }
|
||||
|
||||
void registerChannelInstance(const QString& channelName, PluginInstanceUI* pluginGUI);
|
||||
@ -148,6 +151,7 @@ protected:
|
||||
QString m_sampleSourceSerial;
|
||||
QString m_sampleSourceDisplayName;
|
||||
uint32_t m_sampleSourceSequence;
|
||||
PluginInterface* m_pluginInterface;
|
||||
PluginInstanceUI* m_sampleSourcePluginInstanceUI;
|
||||
|
||||
ChannelInstanceRegistrations m_channelInstanceRegistrations;
|
||||
|
@ -212,10 +212,10 @@ void MainWindow::addSourceDevice()
|
||||
ui->tabInputsSelect->addTab(m_deviceUIs.back()->m_samplingDeviceControl, tabNameCStr);
|
||||
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;
|
||||
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->setSampleSourcePluginInstanceUI(pluginGUI);
|
||||
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->setSampleSourceSerial(m_sampleSourceDevices[index].m_deviceSerial);
|
||||
deviceAPI->setSampleSourceDisplayName(m_sampleSourceDevices[index].m_displayName);
|
||||
deviceAPI->setSampleSourcePluginInterface(m_sampleSourceDevices[index].m_plugin);
|
||||
|
||||
return index;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user