From 0e98e03745566b8180b75c4682cdfb3ce95de267 Mon Sep 17 00:00:00 2001 From: Dave French Date: Fri, 8 Jun 2018 17:26:07 +0100 Subject: [PATCH] Equaliser, Disable analyser when not visible (#4399) --- plugins/Eq/EqEffect.cpp | 4 ++-- plugins/Eq/EqSpectrumView.cpp | 3 +-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/plugins/Eq/EqEffect.cpp b/plugins/Eq/EqEffect.cpp index 2caac4daa..64b43e5a5 100644 --- a/plugins/Eq/EqEffect.cpp +++ b/plugins/Eq/EqEffect.cpp @@ -163,7 +163,7 @@ bool EqEffect::processAudioBuffer( sampleFrame *buf, const fpp_t frames ) const float outGain = m_outGain; sampleFrame m_inPeak = { 0, 0 }; - if(m_eqControls.m_analyseInModel.value( true ) && outSum > 0 ) + if(m_eqControls.m_analyseInModel.value( true ) && outSum > 0 && m_eqControls.isViewVisible() ) { m_eqControls.m_inFftBands.analyze( buf, frames ); } @@ -274,7 +274,7 @@ bool EqEffect::processAudioBuffer( sampleFrame *buf, const fpp_t frames ) checkGate( outSum / frames ); - if(m_eqControls.m_analyseOutModel.value( true ) && outSum > 0 ) + if(m_eqControls.m_analyseOutModel.value( true ) && outSum > 0 && m_eqControls.isViewVisible() ) { m_eqControls.m_outFftBands.analyze( buf, frames ); setBandPeaks( &m_eqControls.m_outFftBands , ( int )( sampleRate ) ); diff --git a/plugins/Eq/EqSpectrumView.cpp b/plugins/Eq/EqSpectrumView.cpp index d44e01ece..90d6e9e94 100644 --- a/plugins/Eq/EqSpectrumView.cpp +++ b/plugins/Eq/EqSpectrumView.cpp @@ -196,8 +196,6 @@ EqSpectrumView::EqSpectrumView(EqAnalyser *b, QWidget *_parent) : void EqSpectrumView::paintEvent(QPaintEvent *event) { - //only analyse if the view is visible - m_analyser->setActive( isVisible() ); const float energy = m_analyser->getEnergy(); if( energy <= 0 && m_peakSum <= 0 ) { @@ -291,5 +289,6 @@ float EqSpectrumView::bandToFreq( int index ) void EqSpectrumView::periodicalUpdate() { m_periodicalUpdate = true; + m_analyser->setActive( isVisible() ); update(); }