summaryrefslogtreecommitdiff
path: root/libs/ardour/transport_master_manager.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2020-03-22 10:57:38 -0600
committerPaul Davis <paul@linuxaudiosystems.com>2020-03-22 10:57:54 -0600
commitf703385d07e312fd9362087b55d1cf319b6d7df1 (patch)
treef7d3770f697c3830f4d6f76a0f539cff1ccab952 /libs/ardour/transport_master_manager.cc
parent1f3145f8ff01d483eeb9d10ec1dd685db7fe47f3 (diff)
fix slaving to JACK transport (again!)
Diffstat (limited to 'libs/ardour/transport_master_manager.cc')
-rw-r--r--libs/ardour/transport_master_manager.cc9
1 files changed, 9 insertions, 0 deletions
diff --git a/libs/ardour/transport_master_manager.cc b/libs/ardour/transport_master_manager.cc
index 3b3923dc0e..f3083f7af6 100644
--- a/libs/ardour/transport_master_manager.cc
+++ b/libs/ardour/transport_master_manager.cc
@@ -441,6 +441,15 @@ TransportMasterManager::set_current_locked (boost::shared_ptr<TransportMaster> c
unblock_disk_output ();
+ if (c && c->type() == Engine) {
+
+ /* We cannot sync with an already moving JACK transport mechanism, so
+ * stop it before we start.
+ */
+
+ AudioEngine::instance()->transport_stop ();
+ }
+
DEBUG_TRACE (DEBUG::Slave, string_compose ("current transport master set to %1\n", (c ? c->name() : string ("none"))));
return 0;