From 58f7b966347a6760728b33e13232a12122155777 Mon Sep 17 00:00:00 2001 From: f4exb Date: Fri, 23 Apr 2021 00:17:52 +0200 Subject: [PATCH] APT demod: send settings to image worker --- plugins/channelrx/demodapt/aptdemod.cpp | 11 ++++++++--- .../channelrx/demodapt/aptdemodimageworker.cpp | 18 ++++++++++++++++++ 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/plugins/channelrx/demodapt/aptdemod.cpp b/plugins/channelrx/demodapt/aptdemod.cpp index 4bcc86014..e4ba69adf 100644 --- a/plugins/channelrx/demodapt/aptdemod.cpp +++ b/plugins/channelrx/demodapt/aptdemod.cpp @@ -309,9 +309,14 @@ void APTDemod::applySettings(const APTDemodSettings& settings, bool force) reverseAPIKeys.append("streamIndex"); } - APTDemodBaseband::MsgConfigureAPTDemodBaseband *msg = APTDemodBaseband::MsgConfigureAPTDemodBaseband::create(settings, force); + APTDemodBaseband::MsgConfigureAPTDemodBaseband *msg + = APTDemodBaseband::MsgConfigureAPTDemodBaseband::create(settings, force); m_basebandSink->getInputMessageQueue()->push(msg); + APTDemodImageWorker::MsgConfigureAPTDemodImageWorker *msgToImg + = APTDemodImageWorker::MsgConfigureAPTDemodImageWorker::create(settings, force); + m_imageWorker->getInputMessageQueue()->push(msgToImg); + if (settings.m_useReverseAPI) { bool fullUpdate = ((m_settings.m_useReverseAPI != settings.m_useReverseAPI) && settings.m_useReverseAPI) || @@ -336,8 +341,8 @@ void APTDemod::applySettings(const APTDemodSettings& settings, bool force) m_settings = settings; - if (callProcessImage) - sendImageToGUI(); + // if (callProcessImage) + // sendImageToGUI(); } QByteArray APTDemod::serialize() const diff --git a/plugins/channelrx/demodapt/aptdemodimageworker.cpp b/plugins/channelrx/demodapt/aptdemodimageworker.cpp index fee0ee01d..267051402 100644 --- a/plugins/channelrx/demodapt/aptdemodimageworker.cpp +++ b/plugins/channelrx/demodapt/aptdemodimageworker.cpp @@ -121,7 +121,25 @@ bool APTDemodImageWorker::handleMessage(const Message& cmd) void APTDemodImageWorker::applySettings(const APTDemodSettings& settings, bool force) { (void) force; + bool callProcessImage = false; + + if ((settings.m_cropNoise != m_settings.m_cropNoise) || + (settings.m_denoise != m_settings.m_denoise) || + (settings.m_linearEqualise != m_settings.m_linearEqualise) || + (settings.m_histogramEqualise != m_settings.m_histogramEqualise) || + (settings.m_precipitationOverlay != m_settings.m_precipitationOverlay) || + (settings.m_flip != m_settings.m_flip) || + (settings.m_channels != m_settings.m_channels)) + { + // Call after settings have been applied + callProcessImage = true; + } + m_settings = settings; + + if (callProcessImage) { + sendImageToGUI(); + } } void APTDemodImageWorker::resetDecoder()