diff --git a/plugins/CrossoverEQ/CrossoverEQ.cpp b/plugins/CrossoverEQ/CrossoverEQ.cpp index a50b6381f..023bdff9c 100644 --- a/plugins/CrossoverEQ/CrossoverEQ.cpp +++ b/plugins/CrossoverEQ/CrossoverEQ.cpp @@ -196,9 +196,9 @@ bool CrossoverEQEffect::processAudioBuffer( sampleFrame* buf, const fpp_t frames double outSum = 0.0; for( int f = 0; f < frames; ++f ) { + outSum = buf[f][0] * buf[f][0] + buf[f][1] * buf[f][1]; buf[f][0] = d * buf[f][0] + w * m_work[f][0]; buf[f][1] = d * buf[f][1] + w * m_work[f][1]; - outSum = buf[f][0] * buf[f][0] + buf[f][1] * buf[f][1]; } checkGate( outSum ); diff --git a/plugins/Eq/EqEffect.cpp b/plugins/Eq/EqEffect.cpp index b145fd1c9..8bd5edb77 100644 --- a/plugins/Eq/EqEffect.cpp +++ b/plugins/Eq/EqEffect.cpp @@ -86,6 +86,10 @@ bool EqEffect::processAudioBuffer(sampleFrame *buf, const fpp_t frames) } m_eqControls.m_inProgress = true; double outSum = 0.0; + for( fpp_t f = 0; f < frames; ++f ) + { + outSum += buf[f][0]*buf[f][0] + buf[f][1]*buf[f][1]; + } const float outGain = m_eqControls.m_outGainModel.value(); const int sampleRate = Engine::mixer()->processingSampleRate() * 2; sampleFrame m_inPeak = { 0, 0 }; @@ -189,10 +193,6 @@ bool EqEffect::processAudioBuffer(sampleFrame *buf, const fpp_t frames) m_downsampleFilters[i].processBuffer(m_upBuf , m_upBufFrames ); } downSample( buf, frames ); - for( fpp_t f = 0; f < frames; ++f ) - { - outSum += buf[f][0]*buf[f][0] + buf[f][1]*buf[f][1]; - } checkGate( outSum / frames ); if(m_eqControls.m_analyzeModel.value() ) { diff --git a/plugins/SpectrumAnalyzer/SpectrumAnalyzer.cpp b/plugins/SpectrumAnalyzer/SpectrumAnalyzer.cpp index c06d4aa2b..4af1e3ad9 100644 --- a/plugins/SpectrumAnalyzer/SpectrumAnalyzer.cpp +++ b/plugins/SpectrumAnalyzer/SpectrumAnalyzer.cpp @@ -150,7 +150,7 @@ bool SpectrumAnalyzer::processAudioBuffer( sampleFrame* _buf, const fpp_t _frame m_framesFilledUp = 0; - checkGate( 0 ); + checkGate( 1 ); return isRunning(); }