From a05e48dab0bd406a83ca69da2a1c5f2e6350b1c4 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Fri, 2 Oct 2015 22:28:03 +0200 Subject: fix unbound DSP calc. --- libs/ardour/ardour/dsp_load_calculator.h | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/libs/ardour/ardour/dsp_load_calculator.h b/libs/ardour/ardour/dsp_load_calculator.h index c7f8e2a2e0..09714bab22 100644 --- a/libs/ardour/ardour/dsp_load_calculator.h +++ b/libs/ardour/ardour/dsp_load_calculator.h @@ -68,16 +68,12 @@ public: return; } - if (elapsed_time_us() > m_max_time_us) { - m_dsp_load = 1.0f; + const float load = elapsed_time_us() / (float)m_max_time_us; + if (load > m_dsp_load || load > 1.0) { + m_dsp_load = load; } else { - const float load = elapsed_time_us() / (float)m_max_time_us; - if (load > m_dsp_load) { - m_dsp_load = load; - } else { - const float alpha = 0.2f * (m_max_time_us * 1e-6f); - m_dsp_load = m_dsp_load + alpha * (load - m_dsp_load) + 1e-12; - } + const float alpha = 0.2f * (m_max_time_us * 1e-6f); + m_dsp_load = m_dsp_load + alpha * (load - m_dsp_load) + 1e-12; } } -- cgit v1.2.3