summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gtk2_ardour/ardour_ui_options.cc11
-rw-r--r--libs/ardour/session_transport.cc2
2 files changed, 12 insertions, 1 deletions
diff --git a/gtk2_ardour/ardour_ui_options.cc b/gtk2_ardour/ardour_ui_options.cc
index 90e56ee532..e946916d60 100644
--- a/gtk2_ardour/ardour_ui_options.cc
+++ b/gtk2_ardour/ardour_ui_options.cc
@@ -822,6 +822,17 @@ ARDOUR_UI::parameter_changed (const char* parameter_name)
if (PARAM_IS ("slave-source")) {
sync_option_combo.set_active_text (slave_source_to_string (Config->get_slave_source()));
+
+ switch (Config->get_slave_source()) {
+ case None:
+ ActionManager::get_action ("Transport", "ToggleAutoPlay")->set_sensitive (true);
+ break;
+
+ default:
+ /* XXX need to make auto-play is off as well as insensitive */
+ ActionManager::get_action ("Transport", "ToggleAutoPlay")->set_sensitive (false);
+ break;
+ }
} else if (PARAM_IS ("send-mtc")) {
diff --git a/libs/ardour/session_transport.cc b/libs/ardour/session_transport.cc
index 9d9e0ca1f0..cf450bce8f 100644
--- a/libs/ardour/session_transport.cc
+++ b/libs/ardour/session_transport.cc
@@ -924,7 +924,7 @@ Session::post_transport ()
if (post_transport_work & PostTransportLocate) {
- if ((Config->get_auto_play() && !_exporting) || (post_transport_work & PostTransportRoll)) {
+ if (((Config->get_slave_source() == None && Config->get_auto_play()) && !_exporting) || (post_transport_work & PostTransportRoll)) {
start_transport ();
} else {