diff --git a/sdrbase/device/devicesinkapi.cpp b/sdrbase/device/devicesinkapi.cpp index 1c5772e31..1e816a8ea 100644 --- a/sdrbase/device/devicesinkapi.cpp +++ b/sdrbase/device/devicesinkapi.cpp @@ -294,7 +294,7 @@ void DeviceSinkAPI::saveSinkSettings(Preset* preset) } else { - qDebug("DeviceSinkAPI::saveSourceSettings: %s", qPrintable(m_sampleSinkPluginInstanceUI->getName())); + qDebug("DeviceSinkAPI::saveSourceSettings: serializing sink %s[%d]: %s", qPrintable(m_sampleSinkId), m_sampleSinkSequence, qPrintable(m_sampleSinkSerial)); if (m_sampleSinkPluginInstanceUI != 0) // GUI flavor { diff --git a/sdrbase/device/devicesourceapi.cpp b/sdrbase/device/devicesourceapi.cpp index bb9c4a896..3707d1717 100644 --- a/sdrbase/device/devicesourceapi.cpp +++ b/sdrbase/device/devicesourceapi.cpp @@ -281,7 +281,7 @@ void DeviceSourceAPI::saveSourceSettings(Preset* preset) { if (preset->isSourcePreset()) { - qDebug("DeviceSourceAPI::saveSourceSettings: %s", qPrintable(m_sampleSourcePluginInstanceUI->getName())); + qDebug("DeviceSourceAPI::saveSourceSettings: serializing source %s[%d]: %s", qPrintable(m_sampleSourceId), m_sampleSourceSequence, qPrintable(m_sampleSourceSerial)); if (m_sampleSourcePluginInstanceUI != 0) { diff --git a/sdrsrv/maincore.cpp b/sdrsrv/maincore.cpp index 858b1a335..12afea660 100644 --- a/sdrsrv/maincore.cpp +++ b/sdrsrv/maincore.cpp @@ -344,6 +344,7 @@ void MainCore::changeSampleSource(int deviceSetIndex, int selectedDeviceIndex) { qDebug("MainCore::changeSampleSource: deviceSet at %d", deviceSetIndex); DeviceSet *deviceSet = m_deviceSets[deviceSetIndex]; + deviceSet->m_deviceSourceAPI->saveSourceSettings(m_settings.getWorkingPreset()); // save old API settings deviceSet->m_deviceSourceAPI->stopAcquisition(); // deletes old UI and input object @@ -400,6 +401,8 @@ void MainCore::changeSampleSource(int deviceSetIndex, int selectedDeviceIndex) DeviceSampleSource *source = deviceSet->m_deviceSourceAPI->getPluginInterface()->createSampleSourcePluginInstanceInput( deviceSet->m_deviceSourceAPI->getSampleSourceId(), deviceSet->m_deviceSourceAPI); deviceSet->m_deviceSourceAPI->setSampleSource(source); + + deviceSet->m_deviceSourceAPI->loadSourceSettings(m_settings.getWorkingPreset()); // load new API settings } } @@ -409,6 +412,7 @@ void MainCore::changeSampleSink(int deviceSetIndex, int selectedDeviceIndex) { qDebug("MainCore::changeSampleSink: device set at %d", deviceSetIndex); DeviceSet *deviceSet = m_deviceSets[deviceSetIndex]; + deviceSet->m_deviceSinkAPI->saveSinkSettings(m_settings.getWorkingPreset()); // save old API settings deviceSet->m_deviceSinkAPI->stopGeneration(); // deletes old UI and output object @@ -465,6 +469,8 @@ void MainCore::changeSampleSink(int deviceSetIndex, int selectedDeviceIndex) DeviceSampleSink *sink = deviceSet->m_deviceSinkAPI->getPluginInterface()->createSampleSinkPluginInstanceOutput( deviceSet->m_deviceSinkAPI->getSampleSinkId(), deviceSet->m_deviceSinkAPI); deviceSet->m_deviceSinkAPI->setSampleSink(sink); + + deviceSet->m_deviceSinkAPI->loadSinkSettings(m_settings.getWorkingPreset()); // load new API settings } }