diff options
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 |