summaryrefslogtreecommitdiff
path: root/gtk2_ardour/ardour_ui.cc
diff options
context:
space:
mode:
authorBen Loftis <ben@harrisonconsoles.com>2014-07-03 12:25:35 -0500
committerBen Loftis <ben@harrisonconsoles.com>2014-07-03 12:56:33 -0500
commit043b76569d2420edda4e8a6781b530a281f3be7a (patch)
tree5337234d9ce0a595316c018618bdc82f9b92f957 /gtk2_ardour/ardour_ui.cc
parent53a5f5d8ca8da56c8e72b01eceadc47a9eb1783a (diff)
fix the naming and behavior of always-play-range to match the button, which is follow-edits. when you select a range, the playhead should jump to the start of the range and begin to play the selection. BUT (unlike previous implementation) if the user wants to relocate the playhead, then that should be allowed. The user should always remain in charge of the playhead location. NOTE: your previous config setting will be invalidated. You must re-save a session to overwrite with the new config variable
Diffstat (limited to 'gtk2_ardour/ardour_ui.cc')
-rw-r--r--gtk2_ardour/ardour_ui.cc8
1 files changed, 4 insertions, 4 deletions
diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc
index cde9d0d9ee..a11c4d556c 100644
--- a/gtk2_ardour/ardour_ui.cc
+++ b/gtk2_ardour/ardour_ui.cc
@@ -1909,7 +1909,7 @@ ARDOUR_UI::transport_roll ()
}
}
- } else if (_session->get_play_range () && !Config->get_always_play_range()) {
+ } else if (_session->get_play_range () ) {
/* stop playing a range if we currently are */
_session->request_play_range (0, true);
}
@@ -1976,10 +1976,10 @@ ARDOUR_UI::toggle_roll (bool with_abort, bool roll_out_of_bounded_mode)
if (rolling) {
_session->request_stop (with_abort, true);
} else {
- if ( Config->get_always_play_range() ) {
+ if ( Config->get_follow_edits() && ( editor->get_selection().time.front().start == _session->transport_frame() ) ) { //if playhead is exactly at the start of a range, we can assume it was placed there by follow_edits
_session->request_play_range (&editor->get_selection().time, true);
+ _session->set_requested_return_frame( editor->get_selection().time.front().start ); //force an auto-return here
}
-
_session->request_transport_speed (1.0f);
}
}
@@ -2153,7 +2153,7 @@ ARDOUR_UI::map_transport_state ()
auto_loop_button.set_active (false);
}
- if (Config->get_always_play_range()) {
+ if (Config->get_follow_edits()) {
/* light up both roll and play-selection if they are joined */
roll_button.set_active (true);
play_selection_button.set_active (true);