diff options
author | Ben Loftis <ben@harrisonconsoles.com> | 2014-07-03 12:25:35 -0500 |
---|---|---|
committer | Ben Loftis <ben@harrisonconsoles.com> | 2014-07-03 12:56:33 -0500 |
commit | 043b76569d2420edda4e8a6781b530a281f3be7a (patch) | |
tree | 5337234d9ce0a595316c018618bdc82f9b92f957 /gtk2_ardour/ardour_ui.cc | |
parent | 53a5f5d8ca8da56c8e72b01eceadc47a9eb1783a (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.cc | 8 |
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); |