Use input signal to measure levels for autoquit in FX that can potentially mute the signal

This commit is contained in:
Vesa
2014-12-24 20:07:04 +02:00
parent a34c6a1c58
commit 56ba799404
3 changed files with 6 additions and 6 deletions

View File

@@ -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 );

View File

@@ -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() )
{

View File

@@ -150,7 +150,7 @@ bool SpectrumAnalyzer::processAudioBuffer( sampleFrame* _buf, const fpp_t _frame
m_framesFilledUp = 0;
checkGate( 0 );
checkGate( 1 );
return isRunning();
}