From: Robin Gareus Date: Wed, 16 Sep 2015 15:45:04 +0000 (+0200) Subject: fix DSP load bounds 0..1 and add unbound API X-Git-Tag: 4.3~351 X-Git-Url: https://git.carlh.net/gitweb/?a=commitdiff_plain;h=e125c7807027b31e2fd2fb48ea117bb769c5f678;p=ardour.git fix DSP load bounds 0..1 and add unbound API --- diff --git a/libs/ardour/ardour/dsp_load_calculator.h b/libs/ardour/ardour/dsp_load_calculator.h index 7ee741aceb..c7f8e2a2e0 100644 --- a/libs/ardour/ardour/dsp_load_calculator.h +++ b/libs/ardour/ardour/dsp_load_calculator.h @@ -93,12 +93,18 @@ public: */ float get_dsp_load() const { - if (m_dsp_load > m_max_time_us) { - return 1.0f; - } - if (m_dsp_load < 0.0f) { - return 0.0f; - } + assert (m_dsp_load >= 0.f); // since stop > start is assured this cannot happen. + return std::min (1.f, m_dsp_load); + } + + /** + * @return an unbound value representing the percentage of time spent between + * start and stop in proportion to the max expected time in microseconds(us). + * This is useful for cases to estimate overload (e.g. Dummy backend) + */ + float get_dsp_load_unbound() const + { + assert (m_dsp_load >= 0.f); return m_dsp_load; }