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()
This commit is contained in:
Robin Gareus 2017-07-21 23:07:51 +02:00
parent ce48dfdeba
commit 038c391d55

View File

@ -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,