diff options
author | Robin Gareus <robin@gareus.org> | 2015-04-26 06:00:08 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2015-04-26 06:00:08 +0200 |
commit | 6ac8588cd8a34eb5fd2698d3396cb06bd4501fb3 (patch) | |
tree | 0d89d89910a7ecc6d1ee0745001470f13ae8ffc7 /libs/ardour/session_process.cc | |
parent | c0437aed47b8b2ba6657743143f9b63536708071 (diff) |
clickless meter-point changes
Diffstat (limited to 'libs/ardour/session_process.cc')
-rw-r--r-- | libs/ardour/session_process.cc | 11 |
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 |