13
0

implement Ardour-only version of playhead priority, which is basically auto-return to last roll location or nothing

This commit is contained in:
Paul Davis 2015-06-25 13:12:47 -04:00
parent 5c8e239f95
commit a51dcaaa21

View File

@ -494,6 +494,7 @@ Session::non_realtime_locate ()
clear_clicks (); clear_clicks ();
} }
#ifdef USE_TRACKS_CODE_FEATURES
bool bool
Session::select_playhead_priority_target (framepos_t& jump_to) Session::select_playhead_priority_target (framepos_t& jump_to)
{ {
@ -525,15 +526,7 @@ Session::select_playhead_priority_target (framepos_t& jump_to)
Last Locate Last Locate
*/ */
#ifndef USE_TRACKS_CODE_FEATURES
if (autoreturn & LastLocate) {
jump_to = _last_roll_location;
}
if (jump_to < 0 && (autoreturn & RangeSelectionStart)) {
#else
if (autoreturn & RangeSelectionStart) { if (autoreturn & RangeSelectionStart) {
#endif
if (!_range_selection.empty()) { if (!_range_selection.empty()) {
jump_to = _range_selection.from; jump_to = _range_selection.from;
} else { } else {
@ -570,14 +563,26 @@ Session::select_playhead_priority_target (framepos_t& jump_to)
} }
} }
#ifdef USE_TRACKS_CODE_FEATURES
if (jump_to < 0 && (autoreturn & LastLocate)) { if (jump_to < 0 && (autoreturn & LastLocate)) {
jump_to = _last_roll_location; jump_to = _last_roll_location;
} }
#endif
return jump_to >= 0; return jump_to >= 0;
} }
#else
bool
Session::select_playhead_priority_target (framepos_t& jump_to)
{
if (!config.get_auto_return()) {
return false;
}
jump_to = _last_roll_location;
return jump_to >= 0;
}
#endif
void void
Session::follow_playhead_priority () Session::follow_playhead_priority ()