Fix VCA Automation: end write pass
authorRobin Gareus <robin@gareus.org>
Fri, 21 Jul 2017 19:46:36 +0000 (21:46 +0200)
committerRobin Gareus <robin@gareus.org>
Fri, 21 Jul 2017 19:48:20 +0000 (21:48 +0200)
libs/ardour/session_transport.cc

index 8eb25bfbd827eb2b22ebb497496f46db79d08533..faf6458b16677b4103aebb51790008a099c8277a 100644 (file)
@@ -48,6 +48,8 @@
 #include "ardour/slave.h"
 #include "ardour/tempo.h"
 #include "ardour/operations.h"
+#include "ardour/vca.h"
+#include "ardour/vca_manager.h"
 
 #include "pbd/i18n.h"
 
@@ -792,9 +794,15 @@ Session::non_realtime_stop (bool abort, int on_entry, bool& finished)
 
        if (_engine.running()) {
                PostTransportWork ptw = post_transport_work ();
+
                for (RouteList::iterator i = r->begin(); i != r->end(); ++i) {
                        (*i)->nonrealtime_handle_transport_stopped (abort, (ptw & PostTransportLocate), (!(ptw & PostTransportLocate) || pending_locate_flush));
                }
+               VCAList v = _vca_manager->vcas ();
+               for (VCAList::const_iterator i = v.begin(); i != v.end(); ++i) {
+                       (*i)->transport_stopped (_transport_frame);
+               }
+
                update_latency_compensation ();
        }