mirror of
				https://github.com/f4exb/sdrangel.git
				synced 2025-10-31 04:50:29 -04:00 
			
		
		
		
	All concerned demods: call applyChannelSettings with force=true at construction and start.
This commit is contained in:
		
							parent
							
								
									0af04cf66f
								
							
						
					
					
						commit
						6885dd1fe6
					
				| @ -67,6 +67,7 @@ AMDemod::AMDemod(DeviceSourceAPI *deviceAPI) : | |||||||
|     m_deviceAPI->addThreadedSink(m_threadedChannelizer); |     m_deviceAPI->addThreadedSink(m_threadedChannelizer); | ||||||
|     m_deviceAPI->addChannelAPI(this); |     m_deviceAPI->addChannelAPI(this); | ||||||
| 
 | 
 | ||||||
|  |     applyChannelSettings(m_inputSampleRate, m_inputFrequencyOffset, true); | ||||||
|     applySettings(m_settings, true); |     applySettings(m_settings, true); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @ -133,6 +134,7 @@ void AMDemod::start() | |||||||
| 	qDebug("AMDemod::start"); | 	qDebug("AMDemod::start"); | ||||||
| 	m_squelchCount = 0; | 	m_squelchCount = 0; | ||||||
| 	m_audioFifo.clear(); | 	m_audioFifo.clear(); | ||||||
|  |     applyChannelSettings(m_inputSampleRate, m_inputFrequencyOffset, true); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void AMDemod::stop() | void AMDemod::stop() | ||||||
| @ -181,19 +183,19 @@ bool AMDemod::handleMessage(const Message& cmd) | |||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void AMDemod::applyChannelSettings(int inputSampleRate, int inputFrequencyOffset) | void AMDemod::applyChannelSettings(int inputSampleRate, int inputFrequencyOffset, bool force) | ||||||
| { | { | ||||||
|     qDebug() << "AMDemod::applyChannelSettings:" |     qDebug() << "AMDemod::applyChannelSettings:" | ||||||
|             << " inputSampleRate: " << inputSampleRate |             << " inputSampleRate: " << inputSampleRate | ||||||
|             << " inputFrequencyOffset: " << inputFrequencyOffset; |             << " inputFrequencyOffset: " << inputFrequencyOffset; | ||||||
| 
 | 
 | ||||||
|     if ((m_inputFrequencyOffset != inputFrequencyOffset) || |     if ((m_inputFrequencyOffset != inputFrequencyOffset) || | ||||||
|         (m_inputSampleRate != inputSampleRate)) |         (m_inputSampleRate != inputSampleRate) || force) | ||||||
|     { |     { | ||||||
|         m_nco.setFreq(-inputFrequencyOffset, inputSampleRate); |         m_nco.setFreq(-inputFrequencyOffset, inputSampleRate); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     if (m_inputSampleRate != inputSampleRate) |     if ((m_inputSampleRate != inputSampleRate) || force) | ||||||
|     { |     { | ||||||
|         m_settingsMutex.lock(); |         m_settingsMutex.lock(); | ||||||
|         m_interpolator.create(16, inputSampleRate, m_settings.m_rfBandwidth / 2.2f); |         m_interpolator.create(16, inputSampleRate, m_settings.m_rfBandwidth / 2.2f); | ||||||
|  | |||||||
| @ -156,7 +156,7 @@ private: | |||||||
| 
 | 
 | ||||||
| 	QMutex m_settingsMutex; | 	QMutex m_settingsMutex; | ||||||
| 
 | 
 | ||||||
| 	void applyChannelSettings(int inputSampleRate, int inputFrequencyOffset); | 	void applyChannelSettings(int inputSampleRate, int inputFrequencyOffset, bool force = false); | ||||||
|     void applySettings(const AMDemodSettings& settings, bool force = false); |     void applySettings(const AMDemodSettings& settings, bool force = false); | ||||||
| 
 | 
 | ||||||
| 	void processOneSample(Complex &ci) | 	void processOneSample(Complex &ci) | ||||||
|  | |||||||
| @ -8,7 +8,7 @@ | |||||||
| 
 | 
 | ||||||
| const PluginDescriptor AMDemodPlugin::m_pluginDescriptor = { | const PluginDescriptor AMDemodPlugin::m_pluginDescriptor = { | ||||||
| 	QString("AM Demodulator"), | 	QString("AM Demodulator"), | ||||||
| 	QString("3.9.0"), | 	QString("3.10.1"), | ||||||
| 	QString("(c) Edouard Griffiths, F4EXB"), | 	QString("(c) Edouard Griffiths, F4EXB"), | ||||||
| 	QString("https://github.com/f4exb/sdrangel"), | 	QString("https://github.com/f4exb/sdrangel"), | ||||||
| 	true, | 	true, | ||||||
|  | |||||||
| @ -91,6 +91,7 @@ BFMDemod::BFMDemod(DeviceSourceAPI *deviceAPI) : | |||||||
|     m_deviceAPI->addThreadedSink(m_threadedChannelizer); |     m_deviceAPI->addThreadedSink(m_threadedChannelizer); | ||||||
|     m_deviceAPI->addChannelAPI(this); |     m_deviceAPI->addChannelAPI(this); | ||||||
| 
 | 
 | ||||||
|  |     applyChannelSettings(m_inputSampleRate, m_inputFrequencyOffset, true); | ||||||
|     applySettings(m_settings, true); |     applySettings(m_settings, true); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @ -300,6 +301,7 @@ void BFMDemod::start() | |||||||
| 	m_squelchState = 0; | 	m_squelchState = 0; | ||||||
| 	m_audioFifo.clear(); | 	m_audioFifo.clear(); | ||||||
| 	m_phaseDiscri.reset(); | 	m_phaseDiscri.reset(); | ||||||
|  |     applyChannelSettings(m_inputSampleRate, m_inputFrequencyOffset, true); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void BFMDemod::stop() | void BFMDemod::stop() | ||||||
| @ -363,19 +365,19 @@ bool BFMDemod::handleMessage(const Message& cmd) | |||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void BFMDemod::applyChannelSettings(int inputSampleRate, int inputFrequencyOffset) | void BFMDemod::applyChannelSettings(int inputSampleRate, int inputFrequencyOffset, bool force) | ||||||
| { | { | ||||||
|     qDebug() << "BFMDemod::applyChannelSettings:" |     qDebug() << "BFMDemod::applyChannelSettings:" | ||||||
|             << " inputSampleRate: " << inputSampleRate |             << " inputSampleRate: " << inputSampleRate | ||||||
|             << " inputFrequencyOffset: " << inputFrequencyOffset; |             << " inputFrequencyOffset: " << inputFrequencyOffset; | ||||||
| 
 | 
 | ||||||
|     if((inputFrequencyOffset != m_inputFrequencyOffset) || |     if((inputFrequencyOffset != m_inputFrequencyOffset) || | ||||||
|         (inputSampleRate != m_inputSampleRate)) |         (inputSampleRate != m_inputSampleRate) || force) | ||||||
|     { |     { | ||||||
|         m_nco.setFreq(-inputFrequencyOffset, inputSampleRate); |         m_nco.setFreq(-inputFrequencyOffset, inputSampleRate); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     if (inputSampleRate != m_inputSampleRate) |     if ((inputSampleRate != m_inputSampleRate) || force) | ||||||
|     { |     { | ||||||
|         m_pilotPLL.configure(19000.0/inputSampleRate, 50.0/inputSampleRate, 0.01); |         m_pilotPLL.configure(19000.0/inputSampleRate, 50.0/inputSampleRate, 0.01); | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -225,7 +225,7 @@ private: | |||||||
| 
 | 
 | ||||||
|     static const int m_udpBlockSize; |     static const int m_udpBlockSize; | ||||||
| 
 | 
 | ||||||
|     void applyChannelSettings(int inputSampleRate, int inputFrequencyOffset); |     void applyChannelSettings(int inputSampleRate, int inputFrequencyOffset, bool force = false); | ||||||
| 	void applySettings(const BFMDemodSettings& settings, bool force = false); | 	void applySettings(const BFMDemodSettings& settings, bool force = false); | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -25,7 +25,7 @@ | |||||||
| 
 | 
 | ||||||
| const PluginDescriptor BFMPlugin::m_pluginDescriptor = { | const PluginDescriptor BFMPlugin::m_pluginDescriptor = { | ||||||
| 	QString("Broadcast FM Demodulator"), | 	QString("Broadcast FM Demodulator"), | ||||||
| 	QString("3.9.0"), | 	QString("3.10.1"), | ||||||
| 	QString("(c) Edouard Griffiths, F4EXB"), | 	QString("(c) Edouard Griffiths, F4EXB"), | ||||||
| 	QString("https://github.com/f4exb/sdrangel"), | 	QString("https://github.com/f4exb/sdrangel"), | ||||||
| 	true, | 	true, | ||||||
|  | |||||||
| @ -86,6 +86,7 @@ DSDDemod::DSDDemod(DeviceSourceAPI *deviceAPI) : | |||||||
|     m_deviceAPI->addThreadedSink(m_threadedChannelizer); |     m_deviceAPI->addThreadedSink(m_threadedChannelizer); | ||||||
|     m_deviceAPI->addChannelAPI(this); |     m_deviceAPI->addChannelAPI(this); | ||||||
| 
 | 
 | ||||||
|  |     applyChannelSettings(m_inputSampleRate, m_inputFrequencyOffset, true); | ||||||
|     applySettings(m_settings, true); |     applySettings(m_settings, true); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @ -313,6 +314,7 @@ void DSDDemod::start() | |||||||
| 	m_audioFifo1.clear(); | 	m_audioFifo1.clear(); | ||||||
|     m_audioFifo2.clear(); |     m_audioFifo2.clear(); | ||||||
| 	m_phaseDiscri.reset(); | 	m_phaseDiscri.reset(); | ||||||
|  | 	applyChannelSettings(m_inputSampleRate, m_inputFrequencyOffset, true); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void DSDDemod::stop() | void DSDDemod::stop() | ||||||
| @ -365,19 +367,19 @@ bool DSDDemod::handleMessage(const Message& cmd) | |||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void DSDDemod::applyChannelSettings(int inputSampleRate, int inputFrequencyOffset) | void DSDDemod::applyChannelSettings(int inputSampleRate, int inputFrequencyOffset, bool force) | ||||||
| { | { | ||||||
|     qDebug() << "DSDDemod::applyChannelSettings:" |     qDebug() << "DSDDemod::applyChannelSettings:" | ||||||
|             << " inputSampleRate: " << inputSampleRate |             << " inputSampleRate: " << inputSampleRate | ||||||
|             << " inputFrequencyOffset: " << inputFrequencyOffset; |             << " inputFrequencyOffset: " << inputFrequencyOffset; | ||||||
| 
 | 
 | ||||||
|     if ((inputFrequencyOffset != m_inputFrequencyOffset) || |     if ((inputFrequencyOffset != m_inputFrequencyOffset) || | ||||||
|         (inputSampleRate != m_inputSampleRate)) |         (inputSampleRate != m_inputSampleRate) || force) | ||||||
|     { |     { | ||||||
|         m_nco.setFreq(-inputFrequencyOffset, inputSampleRate); |         m_nco.setFreq(-inputFrequencyOffset, inputSampleRate); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     if (inputSampleRate != m_inputSampleRate) |     if ((inputSampleRate != m_inputSampleRate) || force) | ||||||
|     { |     { | ||||||
|         m_settingsMutex.lock(); |         m_settingsMutex.lock(); | ||||||
|         m_interpolator.create(16, inputSampleRate, (m_settings.m_rfBandwidth) / 2.2); |         m_interpolator.create(16, inputSampleRate, (m_settings.m_rfBandwidth) / 2.2); | ||||||
|  | |||||||
| @ -202,7 +202,7 @@ private: | |||||||
| 
 | 
 | ||||||
|     static const int m_udpBlockSize; |     static const int m_udpBlockSize; | ||||||
| 
 | 
 | ||||||
|     void applyChannelSettings(int inputSampleRate, int inputFrequencyOffset); |     void applyChannelSettings(int inputSampleRate, int inputFrequencyOffset, bool force = false); | ||||||
| 	void applySettings(const DSDDemodSettings& settings, bool force = false); | 	void applySettings(const DSDDemodSettings& settings, bool force = false); | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -25,7 +25,7 @@ | |||||||
| 
 | 
 | ||||||
| const PluginDescriptor DSDDemodPlugin::m_pluginDescriptor = { | const PluginDescriptor DSDDemodPlugin::m_pluginDescriptor = { | ||||||
| 	QString("DSD Demodulator"), | 	QString("DSD Demodulator"), | ||||||
| 	QString("3.9.1"), | 	QString("3.10.1"), | ||||||
| 	QString("(c) Edouard Griffiths, F4EXB"), | 	QString("(c) Edouard Griffiths, F4EXB"), | ||||||
| 	QString("https://github.com/f4exb/sdrangel"), | 	QString("https://github.com/f4exb/sdrangel"), | ||||||
| 	true, | 	true, | ||||||
|  | |||||||
| @ -86,6 +86,7 @@ NFMDemod::NFMDemod(DeviceSourceAPI *devieAPI) : | |||||||
|     m_deviceAPI->addThreadedSink(m_threadedChannelizer); |     m_deviceAPI->addThreadedSink(m_threadedChannelizer); | ||||||
|     m_deviceAPI->addChannelAPI(this); |     m_deviceAPI->addChannelAPI(this); | ||||||
| 
 | 
 | ||||||
|  |     applyChannelSettings(m_inputSampleRate, m_inputFrequencyOffset, true); | ||||||
| 	applySettings(m_settings, true); | 	applySettings(m_settings, true); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @ -315,6 +316,7 @@ void NFMDemod::start() | |||||||
|     m_squelchCount = 0; |     m_squelchCount = 0; | ||||||
| 	m_audioFifo.clear(); | 	m_audioFifo.clear(); | ||||||
| 	m_phaseDiscri.reset(); | 	m_phaseDiscri.reset(); | ||||||
|  | 	applyChannelSettings(m_inputSampleRate, m_inputFrequencyOffset, true); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void NFMDemod::stop() | void NFMDemod::stop() | ||||||
| @ -361,19 +363,19 @@ bool NFMDemod::handleMessage(const Message& cmd) | |||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void NFMDemod::applyChannelSettings(int inputSampleRate, int inputFrequencyOffset) | void NFMDemod::applyChannelSettings(int inputSampleRate, int inputFrequencyOffset, bool force) | ||||||
| { | { | ||||||
|     qDebug() << "NFMDemod::applyChannelSettings:" |     qDebug() << "NFMDemod::applyChannelSettings:" | ||||||
|             << " inputSampleRate: " << inputSampleRate |             << " inputSampleRate: " << inputSampleRate | ||||||
|             << " inputFrequencyOffset: " << inputFrequencyOffset; |             << " inputFrequencyOffset: " << inputFrequencyOffset; | ||||||
| 
 | 
 | ||||||
|     if ((inputFrequencyOffset != m_inputFrequencyOffset) || |     if ((inputFrequencyOffset != m_inputFrequencyOffset) || | ||||||
|         (inputSampleRate != m_inputSampleRate)) |         (inputSampleRate != m_inputSampleRate) || force) | ||||||
|     { |     { | ||||||
|         m_nco.setFreq(-inputFrequencyOffset, inputSampleRate); |         m_nco.setFreq(-inputFrequencyOffset, inputSampleRate); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     if (inputSampleRate != m_inputSampleRate) |     if ((inputSampleRate != m_inputSampleRate) || force) | ||||||
|     { |     { | ||||||
|         m_settingsMutex.lock(); |         m_settingsMutex.lock(); | ||||||
|         m_interpolator.create(16, inputSampleRate, m_settings.m_rfBandwidth / 2.2); |         m_interpolator.create(16, inputSampleRate, m_settings.m_rfBandwidth / 2.2); | ||||||
|  | |||||||
| @ -220,7 +220,7 @@ private: | |||||||
|     static const int m_udpBlockSize; |     static const int m_udpBlockSize; | ||||||
| 
 | 
 | ||||||
| //    void apply(bool force = false);
 | //    void apply(bool force = false);
 | ||||||
|     void applyChannelSettings(int inputSampleRate, int inputFrequencyOffset); |     void applyChannelSettings(int inputSampleRate, int inputFrequencyOffset, bool force = false); | ||||||
|     void applySettings(const NFMDemodSettings& settings, bool force = false); |     void applySettings(const NFMDemodSettings& settings, bool force = false); | ||||||
|     void webapiFormatChannelSettings(SWGSDRangel::SWGChannelSettings& response, const NFMDemodSettings& settings); |     void webapiFormatChannelSettings(SWGSDRangel::SWGChannelSettings& response, const NFMDemodSettings& settings); | ||||||
| }; | }; | ||||||
|  | |||||||
| @ -7,7 +7,7 @@ | |||||||
| 
 | 
 | ||||||
| const PluginDescriptor NFMPlugin::m_pluginDescriptor = { | const PluginDescriptor NFMPlugin::m_pluginDescriptor = { | ||||||
| 	QString("NFM Demodulator"), | 	QString("NFM Demodulator"), | ||||||
| 	QString("3.9.0"), | 	QString("3.10.1"), | ||||||
| 	QString("(c) Edouard Griffiths, F4EXB"), | 	QString("(c) Edouard Griffiths, F4EXB"), | ||||||
| 	QString("https://github.com/f4exb/sdrangel"), | 	QString("https://github.com/f4exb/sdrangel"), | ||||||
| 	true, | 	true, | ||||||
|  | |||||||
| @ -70,6 +70,7 @@ WFMDemod::WFMDemod(DeviceSourceAPI* deviceAPI) : | |||||||
|     m_deviceAPI->addThreadedSink(m_threadedChannelizer); |     m_deviceAPI->addThreadedSink(m_threadedChannelizer); | ||||||
|     m_deviceAPI->addChannelAPI(this); |     m_deviceAPI->addChannelAPI(this); | ||||||
| 
 | 
 | ||||||
|  |     applyChannelSettings(m_inputSampleRate, m_inputFrequencyOffset, true); | ||||||
| 	applySettings(m_settings, true); | 	applySettings(m_settings, true); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @ -200,6 +201,7 @@ void WFMDemod::start() | |||||||
| 	m_squelchState = 0; | 	m_squelchState = 0; | ||||||
| 	m_audioFifo.clear(); | 	m_audioFifo.clear(); | ||||||
| 	m_phaseDiscri.reset(); | 	m_phaseDiscri.reset(); | ||||||
|  | 	applyChannelSettings(m_inputSampleRate, m_inputFrequencyOffset, true); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void WFMDemod::stop() | void WFMDemod::stop() | ||||||
| @ -253,19 +255,19 @@ bool WFMDemod::handleMessage(const Message& cmd) | |||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void WFMDemod::applyChannelSettings(int inputSampleRate, int inputFrequencyOffset) | void WFMDemod::applyChannelSettings(int inputSampleRate, int inputFrequencyOffset, bool force) | ||||||
| { | { | ||||||
|     qDebug() << "WFMDemod::applyChannelSettings:" |     qDebug() << "WFMDemod::applyChannelSettings:" | ||||||
|             << " inputSampleRate: " << inputSampleRate |             << " inputSampleRate: " << inputSampleRate | ||||||
|             << " inputFrequencyOffset: " << inputFrequencyOffset; |             << " inputFrequencyOffset: " << inputFrequencyOffset; | ||||||
| 
 | 
 | ||||||
|     if((inputFrequencyOffset != m_inputFrequencyOffset) || |     if((inputFrequencyOffset != m_inputFrequencyOffset) || | ||||||
|         (inputSampleRate != m_inputSampleRate)) |         (inputSampleRate != m_inputSampleRate) || force) | ||||||
|     { |     { | ||||||
|         m_nco.setFreq(-inputFrequencyOffset, inputSampleRate); |         m_nco.setFreq(-inputFrequencyOffset, inputSampleRate); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     if (inputSampleRate != m_inputSampleRate) |     if ((inputSampleRate != m_inputSampleRate) || force) | ||||||
|     { |     { | ||||||
|         qDebug() << "WFMDemod::applyChannelSettings: m_interpolator.create"; |         qDebug() << "WFMDemod::applyChannelSettings: m_interpolator.create"; | ||||||
|         m_interpolator.create(16, inputSampleRate, m_settings.m_afBandwidth); |         m_interpolator.create(16, inputSampleRate, m_settings.m_afBandwidth); | ||||||
|  | |||||||
| @ -167,7 +167,7 @@ private: | |||||||
| 
 | 
 | ||||||
|     static const int m_udpBlockSize; |     static const int m_udpBlockSize; | ||||||
| 
 | 
 | ||||||
|     void applyChannelSettings(int inputSampleRate, int inputFrequencyOffset); |     void applyChannelSettings(int inputSampleRate, int inputFrequencyOffset, bool force = false); | ||||||
|     void applySettings(const WFMDemodSettings& settings, bool force = false); |     void applySettings(const WFMDemodSettings& settings, bool force = false); | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -8,7 +8,7 @@ | |||||||
| 
 | 
 | ||||||
| const PluginDescriptor WFMPlugin::m_pluginDescriptor = { | const PluginDescriptor WFMPlugin::m_pluginDescriptor = { | ||||||
| 	QString("WFM Demodulator"), | 	QString("WFM Demodulator"), | ||||||
| 	QString("3.9.0"), | 	QString("3.10.1"), | ||||||
| 	QString("(c) Edouard Griffiths, F4EXB"), | 	QString("(c) Edouard Griffiths, F4EXB"), | ||||||
| 	QString("https://github.com/f4exb/sdrangel"), | 	QString("https://github.com/f4exb/sdrangel"), | ||||||
| 	true, | 	true, | ||||||
|  | |||||||
| @ -102,6 +102,7 @@ UDPSrc::UDPSrc(DeviceSourceAPI *deviceAPI) : | |||||||
|     m_deviceAPI->addThreadedSink(m_threadedChannelizer); |     m_deviceAPI->addThreadedSink(m_threadedChannelizer); | ||||||
|     m_deviceAPI->addChannelAPI(this); |     m_deviceAPI->addChannelAPI(this); | ||||||
| 
 | 
 | ||||||
|  |     applyChannelSettings(m_inputSampleRate, m_inputFrequencyOffset, true); | ||||||
|     applySettings(m_settings, true); |     applySettings(m_settings, true); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @ -313,6 +314,7 @@ void UDPSrc::feed(const SampleVector::const_iterator& begin, const SampleVector: | |||||||
| void UDPSrc::start() | void UDPSrc::start() | ||||||
| { | { | ||||||
| 	m_phaseDiscri.reset(); | 	m_phaseDiscri.reset(); | ||||||
|  | 	applyChannelSettings(m_inputSampleRate, m_inputFrequencyOffset, true); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void UDPSrc::stop() | void UDPSrc::stop() | ||||||
| @ -445,19 +447,19 @@ void UDPSrc::audioReadyRead() | |||||||
| 	//qDebug("UDPSrc::audioReadyRead: done");
 | 	//qDebug("UDPSrc::audioReadyRead: done");
 | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void UDPSrc::applyChannelSettings(int inputSampleRate, int inputFrequencyOffset) | void UDPSrc::applyChannelSettings(int inputSampleRate, int inputFrequencyOffset, bool force) | ||||||
| { | { | ||||||
|     qDebug() << "UDPSrc::applyChannelSettings:" |     qDebug() << "UDPSrc::applyChannelSettings:" | ||||||
|             << " inputSampleRate: " << inputSampleRate |             << " inputSampleRate: " << inputSampleRate | ||||||
|             << " inputFrequencyOffset: " << inputFrequencyOffset; |             << " inputFrequencyOffset: " << inputFrequencyOffset; | ||||||
| 
 | 
 | ||||||
|     if((inputFrequencyOffset != m_inputFrequencyOffset) || |     if((inputFrequencyOffset != m_inputFrequencyOffset) || | ||||||
|         (inputSampleRate != m_inputSampleRate)) |         (inputSampleRate != m_inputSampleRate) || force) | ||||||
|     { |     { | ||||||
|         m_nco.setFreq(-inputFrequencyOffset, inputSampleRate); |         m_nco.setFreq(-inputFrequencyOffset, inputSampleRate); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     if (inputSampleRate != m_inputSampleRate) |     if ((inputSampleRate != m_inputSampleRate) || force) | ||||||
|     { |     { | ||||||
|         m_settingsMutex.lock(); |         m_settingsMutex.lock(); | ||||||
|         m_interpolator.create(16, inputSampleRate, m_settings.m_rfBandwidth / 2.0); |         m_interpolator.create(16, inputSampleRate, m_settings.m_rfBandwidth / 2.0); | ||||||
|  | |||||||
| @ -198,7 +198,7 @@ protected: | |||||||
| 
 | 
 | ||||||
| 	QMutex m_settingsMutex; | 	QMutex m_settingsMutex; | ||||||
| 
 | 
 | ||||||
|     void applyChannelSettings(int inputSampleRate, int inputFrequencyOffset); |     void applyChannelSettings(int inputSampleRate, int inputFrequencyOffset, bool force = true); | ||||||
|     void applySettings(const UDPSrcSettings& settings, bool force = false); |     void applySettings(const UDPSrcSettings& settings, bool force = false); | ||||||
| 
 | 
 | ||||||
|     inline void calculateSquelch(double value) |     inline void calculateSquelch(double value) | ||||||
|  | |||||||
| @ -25,7 +25,7 @@ | |||||||
| 
 | 
 | ||||||
| const PluginDescriptor UDPSrcPlugin::m_pluginDescriptor = { | const PluginDescriptor UDPSrcPlugin::m_pluginDescriptor = { | ||||||
| 	QString("UDP Channel Source"), | 	QString("UDP Channel Source"), | ||||||
| 	QString("3.9.0"), | 	QString("3.10.1"), | ||||||
| 	QString("(c) Edouard Griffiths, F4EXB"), | 	QString("(c) Edouard Griffiths, F4EXB"), | ||||||
| 	QString("https://github.com/f4exb/sdrangel"), | 	QString("https://github.com/f4exb/sdrangel"), | ||||||
| 	true, | 	true, | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user