remove tests for locate_pending() before deciding whether to increment transport...
authorPaul Davis <paul@linuxaudiosystems.com>
Fri, 28 Jul 2017 16:10:04 +0000 (12:10 -0400)
committerPaul Davis <paul@linuxaudiosystems.com>
Mon, 18 Sep 2017 15:40:53 +0000 (11:40 -0400)
libs/ardour/session_process.cc

index a6c877e70532bf75ee4778803049ed46e2ca6edf..168712b76df7ebe0d369b883525fb35f69d17f26 100644 (file)
@@ -388,16 +388,12 @@ Session::process_with_events (pframes_t nframes)
                }
        }
 
                }
        }
 
-       if (locate_pending()) {
-               frames_moved = 0;
+       if (_transport_speed == 1.0) {
+               frames_moved = (framecnt_t) nframes;
        } else {
        } else {
-               if (_transport_speed == 1.0) {
-                       frames_moved = (framecnt_t) nframes;
-               } else {
-                       interpolation.set_target_speed (_target_transport_speed);
-                       interpolation.set_speed (_transport_speed);
-                       frames_moved = (framecnt_t) interpolation.interpolate (0, nframes, 0, 0);
-               }
+               interpolation.set_target_speed (_target_transport_speed);
+               interpolation.set_speed (_transport_speed);
+               frames_moved = (framecnt_t) interpolation.interpolate (0, nframes, 0, 0);
        }
 
        end_frame = _transport_frame + frames_moved;
        }
 
        end_frame = _transport_frame + frames_moved;
@@ -449,11 +445,7 @@ Session::process_with_events (pframes_t nframes)
                while (nframes) {
 
                        this_nframes = nframes; /* real (jack) time relative */
                while (nframes) {
 
                        this_nframes = nframes; /* real (jack) time relative */
-                       if (locate_pending()) {
-                               frames_moved = 0;
-                       } else {
-                               frames_moved = (framecnt_t) floor (_transport_speed * nframes); /* transport relative */
-                       }
+                       frames_moved = (framecnt_t) floor (_transport_speed * nframes); /* transport relative */
 
                        /* running an event, position transport precisely to its time */
                        if (this_event && this_event->action_frame <= end_frame && this_event->action_frame >= _transport_frame) {
 
                        /* running an event, position transport precisely to its time */
                        if (this_event && this_event->action_frame <= end_frame && this_event->action_frame >= _transport_frame) {
@@ -858,18 +850,13 @@ Session::process_without_events (pframes_t nframes)
                return;
        }
 
                return;
        }
 
-       if (locate_pending()) {
-               cerr << "p-WO-E: locate still pending\n";
-               frames_moved = 0;
+       if (_transport_speed == 1.0) {
+               frames_moved = (framecnt_t) nframes;
        } else {
        } else {
-               if (_transport_speed == 1.0) {
-                       frames_moved = (framecnt_t) nframes;
-               } else {
-                       interpolation.set_target_speed (_target_transport_speed);
-                       interpolation.set_speed (_transport_speed);
-                       frames_moved = (framecnt_t) interpolation.interpolate (0, nframes, 0, 0);
-                       cerr << "p-WO-E: current speed : " << _transport_speed << " interpolate says " << frames_moved << endl;
-               }
+               interpolation.set_target_speed (_target_transport_speed);
+               interpolation.set_speed (_transport_speed);
+               frames_moved = (framecnt_t) interpolation.interpolate (0, nframes, 0, 0);
+               cerr << "p-WO-E: current speed : " << _transport_speed << " interpolate says " << frames_moved << endl;
        }
 
        cerr << "p-WO-E: will move " << frames_moved << endl;
        }
 
        cerr << "p-WO-E: will move " << frames_moved << endl;