13
0

desensitize auto-return button on slave != None and ignore auto-return in libardour if slave != None

git-svn-id: svn://localhost/ardour2/trunk@1531 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Paul Davis 2007-02-28 01:27:56 +00:00
parent 4f460078b8
commit 2756e72d0d
2 changed files with 6 additions and 4 deletions

View File

@ -826,11 +826,13 @@ ARDOUR_UI::parameter_changed (const char* parameter_name)
switch (Config->get_slave_source()) { switch (Config->get_slave_source()) {
case None: case None:
ActionManager::get_action ("Transport", "ToggleAutoPlay")->set_sensitive (true); ActionManager::get_action ("Transport", "ToggleAutoPlay")->set_sensitive (true);
ActionManager::get_action ("Transport", "ToggleAutoReturn")->set_sensitive (true);
break; break;
default: default:
/* XXX need to make auto-play is off as well as insensitive */ /* XXX need to make auto-play is off as well as insensitive */
ActionManager::get_action ("Transport", "ToggleAutoPlay")->set_sensitive (false); ActionManager::get_action ("Transport", "ToggleAutoPlay")->set_sensitive (false);
ActionManager::get_action ("Transport", "ToggleAutoReturn")->set_sensitive (false);
break; break;
} }

View File

@ -175,7 +175,7 @@ Session::realtime_stop (bool abort)
waiting_for_sync_offset = true; waiting_for_sync_offset = true;
} }
transport_sub_state = (Config->get_auto_return() ? AutoReturning : 0); transport_sub_state = ((Config->get_slave_source() == None && Config->get_auto_return()) ? AutoReturning : 0);
} }
void void
@ -371,13 +371,13 @@ Session::non_realtime_stop (bool abort, int on_entry, bool& finished)
update_latency_compensation (true, abort); update_latency_compensation (true, abort);
} }
if (Config->get_auto_return() || (post_transport_work & PostTransportLocate) || synced_to_jack()) { if ((Config->get_slave_source() == None && Config->get_auto_return()) || (post_transport_work & PostTransportLocate) || synced_to_jack()) {
if (pending_locate_flush) { if (pending_locate_flush) {
flush_all_redirects (); flush_all_redirects ();
} }
if ((Config->get_auto_return() || synced_to_jack()) && !(post_transport_work & PostTransportLocate)) { if (((Config->get_slave_source() == None && Config->get_auto_return()) || synced_to_jack()) && !(post_transport_work & PostTransportLocate)) {
_transport_frame = last_stop_frame; _transport_frame = last_stop_frame;