From 6ac8588cd8a34eb5fd2698d3396cb06bd4501fb3 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Sun, 26 Apr 2015 06:00:08 +0200 Subject: clickless meter-point changes --- libs/ardour/session_process.cc | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'libs/ardour/session_process.cc') diff --git a/libs/ardour/session_process.cc b/libs/ardour/session_process.cc index c868bd635d..7db46f9157 100644 --- a/libs/ardour/session_process.cc +++ b/libs/ardour/session_process.cc @@ -75,6 +75,17 @@ Session::process (pframes_t nframes) (this->*process_function) (nframes); + /* realtime-safe meter-position changes + * + * ideally this would be done in + * Route::process_output_buffers() but various functions + * callig it hold a _processor_lock reader-lock + */ + boost::shared_ptr r = routes.reader (); + for (RouteList::iterator i = r->begin(); i != r->end(); ++i) { + (*i)->apply_meter_change_rt(); + } + _engine.main_thread()->drop_buffers (); /* deliver MIDI clock. Note that we need to use the transport frame -- cgit v1.2.3