From a0fbd7e7b4ba54b3e8ab3649031c10a27efb1716 Mon Sep 17 00:00:00 2001 From: Lost Robot <34612565+LostRobotMusic@users.noreply.github.com> Date: Sun, 30 Jun 2024 06:37:38 -0500 Subject: [PATCH] Initialize LOMM arrays (#7355) Fixes LOMM distortion and delay bug. --- plugins/LOMM/LOMM.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/plugins/LOMM/LOMM.cpp b/plugins/LOMM/LOMM.cpp index e24171cea..72478f6b5 100644 --- a/plugins/LOMM/LOMM.cpp +++ b/plugins/LOMM/LOMM.cpp @@ -64,14 +64,10 @@ LOMMEffect::LOMMEffect(Model* parent, const Descriptor::SubPluginFeatures::Key* { autoQuitModel()->setValue(autoQuitModel()->maxValue()); - m_yL[0][0] = m_yL[0][1] = LOMM_MIN_FLOOR; - m_yL[1][0] = m_yL[1][1] = LOMM_MIN_FLOOR; - m_yL[2][0] = m_yL[2][1] = LOMM_MIN_FLOOR; - m_ap.setFilterType(BasicFilters<2>::FilterType::AllPass); connect(Engine::audioEngine(), SIGNAL(sampleRateChanged()), this, SLOT(changeSampleRate())); - emit changeSampleRate(); + changeSampleRate(); } void LOMMEffect::changeSampleRate() @@ -97,6 +93,11 @@ void LOMMEffect::changeSampleRate() m_scLookBuf[j][i].resize(m_lookBufLength, LOMM_MIN_FLOOR); } } + + std::fill(m_yL.begin(), m_yL.end(), std::array{LOMM_MIN_FLOOR, LOMM_MIN_FLOOR}); + m_rms = m_gainResult = m_displayIn = m_displayOut = m_prevOut = m_yL; + m_crestPeakVal[0] = m_crestPeakVal[1] = LOMM_MIN_FLOOR; + m_crestRmsVal = m_crestFactorVal = m_crestPeakVal; }