diff options
author | Daniel Schürmann <daschuer@mixxx.org> | 2015-11-07 21:55:36 +0100 |
---|---|---|
committer | Daniel Schürmann <daschuer@mixxx.org> | 2015-11-07 21:55:36 +0100 |
commit | 589ed28937445e2febd018103b7b36312bb8c51c (patch) | |
tree | b769963ce1f6c35e2dc61635b013958e5cdcbeaf /src/engine/enginevumeter.cpp | |
parent | 4a2672f328ccc7beaf8fa813900acbe4fcf929cd (diff) |
Reset vu-meter when deck becomes inactive, fixes Bug #1511932
Diffstat (limited to 'src/engine/enginevumeter.cpp')
-rw-r--r-- | src/engine/enginevumeter.cpp | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/engine/enginevumeter.cpp b/src/engine/enginevumeter.cpp index b362bd53ab..938fa6c187 100644 --- a/src/engine/enginevumeter.cpp +++ b/src/engine/enginevumeter.cpp @@ -59,16 +59,21 @@ void EngineVuMeter::process(CSAMPLE* pIn, const int iBufferSize) { int sampleRate = (int)m_pSampleRate->get(); - SampleUtil::CLIP_STATUS clipped = SampleUtil::sumAbsPerChannel(&fVolSumL, &fVolSumR, pIn, iBufferSize); + SampleUtil::CLIP_STATUS clipped = SampleUtil::sumAbsPerChannel(&fVolSumL, + &fVolSumR, pIn, iBufferSize); m_fRMSvolumeSumL += fVolSumL; m_fRMSvolumeSumR += fVolSumR; - m_iSamplesCalculated += iBufferSize/2; + m_iSamplesCalculated += iBufferSize / 2; // Are we ready to update the VU meter?: - if (m_iSamplesCalculated > (sampleRate/VU_UPDATE_RATE)) { - doSmooth(m_fRMSvolumeL, log10(SHRT_MAX * m_fRMSvolumeSumL/(m_iSamplesCalculated*1000)+1)); - doSmooth(m_fRMSvolumeR, log10(SHRT_MAX * m_fRMSvolumeSumR/(m_iSamplesCalculated*1000)+1)); + if (m_iSamplesCalculated > (sampleRate / VU_UPDATE_RATE)) { + doSmooth(m_fRMSvolumeL, + log10(SHRT_MAX * m_fRMSvolumeSumL + / (m_iSamplesCalculated * 1000) + 1)); + doSmooth(m_fRMSvolumeR, + log10(SHRT_MAX * m_fRMSvolumeSumR + / (m_iSamplesCalculated * 1000) + 1)); const double epsilon = .0001; |