commit e7e898c92b989c6174415c911ec066a2e5496218
parent b549c32508c961da09c5eb2b09d7fcf94e0af93f
Author: Matt Demanett <matt@demanett.net>
Date: Fri, 22 Jan 2021 00:12:46 -0500
RANALYZER: fix crash on change sample rate from high to low. #166
Diffstat:
2 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/src/Ranalyzer.cpp b/src/Ranalyzer.cpp
@@ -27,6 +27,8 @@ void Ranalyzer::sampleRateChange() {
_sampleTime = 1.0f / _sampleRate;
_maxFrequency = roundf(maxFrequencyNyquistRatio * _sampleRate);
_chirp.setSampleRate(_sampleRate);
+ _rangeMinHz = 0.0f;
+ _rangeMaxHz = 0.5f * _sampleRate;
if (_sampleRate >= 96000.0f) {
_core.setParams(1, AnalyzerCore::QUALITY_FIXED_32K, AnalyzerCore::WINDOW_NONE);
}
diff --git a/src/analyzer_base.cpp b/src/analyzer_base.cpp
@@ -459,6 +459,8 @@ void AnalyzerDisplay::draw(const DrawArgs& args) {
amplitudePlot = _module->_amplitudePlot;
rangeMinHz = _module->_rangeMinHz;
rangeMaxHz = _module->_rangeMaxHz;
+ assert(rangeMaxHz <= 0.5f * APP->engine->getSampleRate());
+ assert(rangeMinHz < rangeMaxHz);
}
else {
rangeMaxHz = 0.5f * APP->engine->getSampleRate();