=== modified file 'mixxx/src/engine/enginepregain.cpp' --- mixxx/src/engine/enginepregain.cpp 2012-07-22 09:31:52 +0000 +++ mixxx/src/engine/enginepregain.cpp 2012-08-10 22:28:44 +0000 @@ -118,13 +118,14 @@ m_fSumClock=0; } } - fGain = fGain*m_fReplayGainCorrection; + + // Clamp gain to within [0, 10.0] to prevent insane gains. This can happen + // (some corrupt files get really high replay gain values). + // 10 allows a maximum replay Gain Boost * calculated replay gain of ~2 + fGain = fGain * math_max(0.0, math_min(10.0, m_fReplayGainCorrection)); + m_pTotalGain->set(fGain); - // Clamp gain to within [0, 2.0] to prevent insane gains. This can happen - // (some corrupt files get really high replaygain values). - fGain = math_max(0.0, math_min(2.0, fGain)); - //qDebug()<<"Clock"<<(float)clock()/CLOCKS_PER_SEC; // SampleUtil deals with aliased buffers and gains of 1 or 0. SampleUtil::copyWithGain(pOutput, pIn, fGain, iBufferSize);