diff --git a/plugins/channelrx/demodadsb/adsbdemod.h b/plugins/channelrx/demodadsb/adsbdemod.h index 8d9c5e6af..31bbc60fb 100644 --- a/plugins/channelrx/demodadsb/adsbdemod.h +++ b/plugins/channelrx/demodadsb/adsbdemod.h @@ -114,7 +114,10 @@ public: SWGSDRangel::SWGChannelSettings& response); void getMagSqLevels(double& avg, double& peak, int& nbSamples) { m_basebandSink->getMagSqLevels(avg, peak, nbSamples); } - void propagateMessageQueueToGUI() { m_basebandSink->setMessageQueueToGUI(getMessageQueueToGUI()); } + void setMessageQueueToGUI(MessageQueue* queue) override { + BasebandSampleSink::setMessageQueueToGUI(queue); + m_basebandSink->setMessageQueueToGUI(queue); + } void setTarget(float targetAzimuth, float targetElevation) { diff --git a/plugins/channelrx/demodadsb/adsbdemodgui.cpp b/plugins/channelrx/demodadsb/adsbdemodgui.cpp index c0a320943..f2d38561b 100644 --- a/plugins/channelrx/demodadsb/adsbdemodgui.cpp +++ b/plugins/channelrx/demodadsb/adsbdemodgui.cpp @@ -835,7 +835,6 @@ ADSBDemodGUI::ADSBDemodGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, Baseb m_adsbDemod = reinterpret_cast(rxChannel); //new ADSBDemod(m_deviceUISet->m_deviceSourceAPI); m_adsbDemod->setMessageQueueToGUI(getInputMessageQueue()); - m_adsbDemod->propagateMessageQueueToGUI(); connect(&MainCore::instance()->getMasterTimer(), SIGNAL(timeout()), this, SLOT(tick())); diff --git a/plugins/channelrx/demodfreedv/freedvdemod.h b/plugins/channelrx/demodfreedv/freedvdemod.h index 15bcd8eba..65697ea92 100644 --- a/plugins/channelrx/demodfreedv/freedvdemod.h +++ b/plugins/channelrx/demodfreedv/freedvdemod.h @@ -111,7 +111,10 @@ public: int getBER() const { return m_basebandSink->getBER(); } float getFrequencyOffset() const { return m_basebandSink->getFrequencyOffset(); } bool isSync() const { return m_basebandSink->isSync(); } - void propagateMessageQueueToGUI() { m_basebandSink->setMessageQueueToGUI(getMessageQueueToGUI()); } + void setMessageQueueToGUI(MessageQueue* queue) override { + BasebandSampleSink::setMessageQueueToGUI(queue); + m_basebandSink->setMessageQueueToGUI(queue); + } virtual int webapiSettingsGet( SWGSDRangel::SWGChannelSettings& response, diff --git a/plugins/channelrx/demodfreedv/freedvdemodgui.cpp b/plugins/channelrx/demodfreedv/freedvdemodgui.cpp index d8b7f826f..62f0102ca 100644 --- a/plugins/channelrx/demodfreedv/freedvdemodgui.cpp +++ b/plugins/channelrx/demodfreedv/freedvdemodgui.cpp @@ -258,7 +258,6 @@ FreeDVDemodGUI::FreeDVDemodGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, B m_spectrumVis = m_freeDVDemod->getSpectrumVis(); m_spectrumVis->setGLSpectrum(ui->glSpectrum); m_freeDVDemod->setMessageQueueToGUI(getInputMessageQueue()); - m_freeDVDemod->propagateMessageQueueToGUI(); resetToDefaults(); diff --git a/plugins/channelrx/demodnfm/nfmdemod.h b/plugins/channelrx/demodnfm/nfmdemod.h index b3386eb61..d9b824bad 100644 --- a/plugins/channelrx/demodnfm/nfmdemod.h +++ b/plugins/channelrx/demodnfm/nfmdemod.h @@ -115,7 +115,10 @@ public: void setSelectedCtcssIndex(int selectedCtcssIndex) { m_basebandSink->setSelectedCtcssIndex(selectedCtcssIndex); } bool getSquelchOpen() const { return m_basebandSink->getSquelchOpen(); } void getMagSqLevels(double& avg, double& peak, int& nbSamples) { m_basebandSink->getMagSqLevels(avg, peak, nbSamples); } - void propagateMessageQueueToGUI() { m_basebandSink->setMessageQueueToGUI(getMessageQueueToGUI()); } + void setMessageQueueToGUI(MessageQueue* queue) override { + BasebandSampleSink::setMessageQueueToGUI(queue); + m_basebandSink->setMessageQueueToGUI(queue); + } int getAudioSampleRate() const { return m_basebandSink->getAudioSampleRate(); } uint32_t getNumberOfDeviceStreams() const; diff --git a/plugins/channelrx/demodssb/ssbdemod.h b/plugins/channelrx/demodssb/ssbdemod.h index 51c21647a..849fc92c0 100644 --- a/plugins/channelrx/demodssb/ssbdemod.h +++ b/plugins/channelrx/demodssb/ssbdemod.h @@ -91,7 +91,10 @@ public: return m_settings.m_inputFrequencyOffset; } - void propagateMessageQueueToGUI() { m_basebandSink->setMessageQueueToGUI(getMessageQueueToGUI()); } + void setMessageQueueToGUI(MessageQueue* queue) override { + BasebandSampleSink::setMessageQueueToGUI(queue); + m_basebandSink->setMessageQueueToGUI(queue); + } uint32_t getAudioSampleRate() const { return m_basebandSink->getAudioSampleRate(); } uint32_t getChannelSampleRate() const { return m_basebandSink->getChannelSampleRate(); } double getMagSq() const { return m_basebandSink->getMagSq(); } diff --git a/plugins/channelrx/demodssb/ssbdemodgui.cpp b/plugins/channelrx/demodssb/ssbdemodgui.cpp index 7b80f1494..7567e45cc 100644 --- a/plugins/channelrx/demodssb/ssbdemodgui.cpp +++ b/plugins/channelrx/demodssb/ssbdemodgui.cpp @@ -290,7 +290,6 @@ SSBDemodGUI::SSBDemodGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, Baseban m_spectrumVis = m_ssbDemod->getSpectrumVis(); m_spectrumVis->setGLSpectrum(ui->glSpectrum); m_ssbDemod->setMessageQueueToGUI(getInputMessageQueue()); - m_ssbDemod->propagateMessageQueueToGUI(); CRightClickEnabler *audioMuteRightClickEnabler = new CRightClickEnabler(ui->audioMute); connect(audioMuteRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(audioSelect())); diff --git a/plugins/channeltx/filesource/filesource.cpp b/plugins/channeltx/filesource/filesource.cpp index d4f995319..f04815005 100644 --- a/plugins/channeltx/filesource/filesource.cpp +++ b/plugins/channeltx/filesource/filesource.cpp @@ -616,9 +616,9 @@ void FileSource::getMagSqLevels(double& avg, double& peak, int& nbSamples) const m_basebandSource->getMagSqLevels(avg, peak, nbSamples); } -void FileSource::propagateMessageQueueToGUI() -{ - m_basebandSource->setMessageQueueToGUI(getMessageQueueToGUI()); +void FileSource::setMessageQueueToGUI(MessageQueue* queue) { + BasebandSampleSource::setMessageQueueToGUI(queue); + m_basebandSource->setMessageQueueToGUI(queue); } double FileSource::getMagSq() const diff --git a/plugins/channeltx/filesource/filesource.h b/plugins/channeltx/filesource/filesource.h index a217ac87d..6a281f5ac 100644 --- a/plugins/channeltx/filesource/filesource.h +++ b/plugins/channeltx/filesource/filesource.h @@ -228,7 +228,7 @@ public: double getMagSq() const; void getMagSqLevels(double& avg, double& peak, int& nbSamples) const; - void propagateMessageQueueToGUI(); + void setMessageQueueToGUI(MessageQueue* queue) override; uint32_t getNumberOfDeviceStreams() const; static const QString m_channelIdURI; diff --git a/plugins/channeltx/filesource/filesourcegui.cpp b/plugins/channeltx/filesource/filesourcegui.cpp index 6309325b7..00c6d7833 100644 --- a/plugins/channeltx/filesource/filesourcegui.cpp +++ b/plugins/channeltx/filesource/filesourcegui.cpp @@ -188,7 +188,6 @@ FileSourceGUI::FileSourceGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, Bas m_fileSource = (FileSource*) channelTx; m_fileSource->setMessageQueueToGUI(getInputMessageQueue()); - m_fileSource->propagateMessageQueueToGUI(); m_fileName = m_settings.m_fileName; connect(&(m_deviceUISet->m_deviceAPI->getMasterTimer()), SIGNAL(timeout()), this, SLOT(tick())); diff --git a/plugins/channeltx/modatv/atvmod.cpp b/plugins/channeltx/modatv/atvmod.cpp index fdf157bbf..40a9ae2e4 100644 --- a/plugins/channeltx/modatv/atvmod.cpp +++ b/plugins/channeltx/modatv/atvmod.cpp @@ -764,7 +764,7 @@ void ATVMod::getCameraNumbers(std::vector& numbers) m_basebandSource->getCameraNumbers(numbers); } -void ATVMod::propagateMessageQueueToGUI() -{ - m_basebandSource->setMessageQueueToGUI(getMessageQueueToGUI()); +void ATVMod::setMessageQueueToGUI(MessageQueue* queue) { + BasebandSampleSource::setMessageQueueToGUI(queue); + m_basebandSource->setMessageQueueToGUI(queue); } diff --git a/plugins/channeltx/modatv/atvmod.h b/plugins/channeltx/modatv/atvmod.h index a6caa8136..ffe53c515 100644 --- a/plugins/channeltx/modatv/atvmod.h +++ b/plugins/channeltx/modatv/atvmod.h @@ -300,7 +300,7 @@ public: void setLevelMeter(QObject *levelMeter); int getEffectiveSampleRate() const; void getCameraNumbers(std::vector& numbers); - void propagateMessageQueueToGUI(); + void setMessageQueueToGUI(MessageQueue* queue) override; static const QString m_channelIdURI; static const QString m_channelId; diff --git a/plugins/channeltx/modatv/atvmodgui.cpp b/plugins/channeltx/modatv/atvmodgui.cpp index 87d0c2270..a7645637b 100644 --- a/plugins/channeltx/modatv/atvmodgui.cpp +++ b/plugins/channeltx/modatv/atvmodgui.cpp @@ -70,7 +70,6 @@ ATVModGUI::ATVModGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, BasebandSam m_atvMod = (ATVMod*) channelTx; m_atvMod->setMessageQueueToGUI(getInputMessageQueue()); - m_atvMod->propagateMessageQueueToGUI(); connect(&MainCore::instance()->getMasterTimer(), SIGNAL(timeout()), this, SLOT(tick())); diff --git a/sdrbase/dsp/basebandsamplesink.h b/sdrbase/dsp/basebandsamplesink.h index de9649329..0282d6dc0 100644 --- a/sdrbase/dsp/basebandsamplesink.h +++ b/sdrbase/dsp/basebandsamplesink.h @@ -38,7 +38,7 @@ public: virtual bool handleMessage(const Message& cmd) = 0; //!< Processing of a message. Returns true if message has actually been processed MessageQueue *getInputMessageQueue() { return &m_inputMessageQueue; } //!< Get the queue for asynchronous inbound communication - void setMessageQueueToGUI(MessageQueue *queue) { m_guiMessageQueue = queue; } + virtual void setMessageQueueToGUI(MessageQueue *queue) { m_guiMessageQueue = queue; } MessageQueue *getMessageQueueToGUI() { return m_guiMessageQueue; } protected: