summaryrefslogtreecommitdiff
path: root/libs/ardour/session_process.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2015-04-26 06:00:08 +0200
committerRobin Gareus <robin@gareus.org>2015-04-26 06:00:08 +0200
commit6ac8588cd8a34eb5fd2698d3396cb06bd4501fb3 (patch)
tree0d89d89910a7ecc6d1ee0745001470f13ae8ffc7 /libs/ardour/session_process.cc
parentc0437aed47b8b2ba6657743143f9b63536708071 (diff)
clickless meter-point changes
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