[Summary] Fixed loop processing in cases when loop is moved/resized
authorGZharun <grygoriiz@wavesglobal.com>
Tue, 17 Feb 2015 12:20:42 +0000 (14:20 +0200)
committerPaul Davis <paul@linuxaudiosystems.com>
Tue, 17 Feb 2015 15:37:35 +0000 (10:37 -0500)
[Reviewed by] REQUIRED REVIEW FROM PAUL DAVIS

libs/ardour/session_transport.cc

index fa1c0c31d01e6dab387b9e045e82a2820546555d..449349996fd5ff6f3c57d05ff8437d9894cac225 100644 (file)
@@ -458,7 +458,9 @@ Session::non_realtime_locate ()
                         */
                        set_track_loop (false);
 
-               } else if (loc && Config->get_seamless_loop() && (loc->start() == _transport_frame)) {
+               } else if (loc && Config->get_seamless_loop() &&
+                   ((loc->start() <= _transport_frame) ||
+                   (loc->end() > _transport_frame) ) ) {
 
                        /* jumping to start of loop. This  might have been done before but it is
                         * idempotent and cheap. Doing it here ensures that when we start playback