summaryrefslogtreecommitdiff
path: root/libs/ardour/session_process.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/session_process.cc')
-rw-r--r--libs/ardour/session_process.cc11
1 files changed, 11 insertions, 0 deletions
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<RouteList> 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