implement Ardour-only version of playhead priority, which is basically auto-return...
authorPaul Davis <paul@linuxaudiosystems.com>
Thu, 25 Jun 2015 17:12:47 +0000 (13:12 -0400)
committerPaul Davis <paul@linuxaudiosystems.com>
Mon, 29 Jun 2015 18:18:16 +0000 (14:18 -0400)
libs/ardour/session_transport.cc

index 80bfb109987a56d5c968e216df96fbd1b9c72346..51734a06c0ba4a280e0b737556a20d4095eba86f 100644 (file)
@@ -494,6 +494,7 @@ Session::non_realtime_locate ()
        clear_clicks ();
 }
 
+#ifdef USE_TRACKS_CODE_FEATURES
 bool
 Session::select_playhead_priority_target (framepos_t& jump_to)
 {
@@ -525,15 +526,7 @@ Session::select_playhead_priority_target (framepos_t& jump_to)
                           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) {
-#endif
                if (!_range_selection.empty()) {
                        jump_to = _range_selection.from;
                } 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)) {
                jump_to = _last_roll_location;
        }
-#endif
        
        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
 Session::follow_playhead_priority ()