Initialize LOMM arrays (#7355)

Fixes LOMM distortion and delay bug.
This commit is contained in:
Lost Robot
2024-06-30 06:37:38 -05:00
committed by GitHub
parent 118ca4e9a2
commit a0fbd7e7b4

View File

@@ -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<float, 2>{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;
}