diff options
author | Robin Gareus <robin@gareus.org> | 2017-07-21 23:07:51 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2017-07-21 23:07:51 +0200 |
commit | 038c391d55ba3f78080c86ab09c3ad909f1b427b (patch) | |
tree | ca1201e27d63dbb19fd3856a2181e7ded1cf93a1 /libs | |
parent | ce48dfdeba3e20f18d63b52f49547d930ffc0ec0 (diff) |
More non-rt calls to VCA - fixes VCA automation writing
This calls for a unified API to invoke
Automatable methods ::transport_located() and ::transport_stopped()
on Stripables, rather than indirectly calling it via
Route::non_realtime_locate(), Route::nonrealtime_handle_transport_stopped()
Diffstat (limited to 'libs')
-rw-r--r-- | libs/ardour/session_transport.cc | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/libs/ardour/session_transport.cc b/libs/ardour/session_transport.cc index faf6458b16..4ee2945579 100644 --- a/libs/ardour/session_transport.cc +++ b/libs/ardour/session_transport.cc @@ -454,7 +454,10 @@ Session::butler_transport_work () } (*i)->non_realtime_locate (_transport_frame); } - + VCAList v = _vca_manager->vcas (); + for (VCAList::const_iterator i = v.begin(); i != v.end(); ++i) { + (*i)->transport_located (_transport_frame); + } } if (ptw & PostTransportAdjustCaptureBuffering) { @@ -503,6 +506,10 @@ Session::butler_transport_work () goto restart; } } + VCAList v = _vca_manager->vcas (); + for (VCAList::const_iterator i = v.begin(); i != v.end(); ++i) { + (*i)->transport_located (_transport_frame); + } } } @@ -608,6 +615,12 @@ Session::non_realtime_locate () (*i)->non_realtime_locate (_transport_frame); } } + { + VCAList v = _vca_manager->vcas (); + for (VCAList::const_iterator i = v.begin(); i != v.end(); ++i) { + (*i)->transport_located (_transport_frame); + } + } _scene_changer->locate (_transport_frame); @@ -888,6 +901,13 @@ Session::non_realtime_stop (bool abort, int on_entry, bool& finished) } } + { + VCAList v = _vca_manager->vcas (); + for (VCAList::const_iterator i = v.begin(); i != v.end(); ++i) { + (*i)->transport_located (_transport_frame); + } + } + have_looped = false; /* don't bother with this stuff if we're disconnected from the engine, |