From 5cdeb2401f789e9968a4f1fb775d1dfb3e9f5a77 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Fri, 27 Dec 2019 21:11:38 -0700 Subject: add new Session method to return the worst_latency_preroll() value rounded up to the nearest buffer size --- libs/ardour/ardour/session.h | 1 + libs/ardour/session_transport.cc | 6 ++++++ 2 files changed, 7 insertions(+) (limited to 'libs/ardour') diff --git a/libs/ardour/ardour/session.h b/libs/ardour/ardour/session.h index 3175168958..d71134db7e 100644 --- a/libs/ardour/ardour/session.h +++ b/libs/ardour/ardour/session.h @@ -504,6 +504,7 @@ public: samplecnt_t worst_input_latency () const { return _worst_input_latency; } samplecnt_t worst_route_latency () const { return _worst_route_latency; } samplecnt_t worst_latency_preroll () const; + samplecnt_t worst_latency_preroll_buffer_size_ceil () const; PBD::Signal0 LatencyUpdated; diff --git a/libs/ardour/session_transport.cc b/libs/ardour/session_transport.cc index e41eb59a0f..01bdcea7cb 100644 --- a/libs/ardour/session_transport.cc +++ b/libs/ardour/session_transport.cc @@ -1675,6 +1675,12 @@ Session::worst_latency_preroll () const return _worst_output_latency + _worst_input_latency; } +samplecnt_t +Session::worst_latency_preroll_buffer_size_ceil () const +{ + return lrintf (ceil ((_worst_output_latency + _worst_input_latency) / (float) current_block_size) * current_block_size); +} + void Session::unset_play_range () { -- cgit v1.2.3