LTC: don’t flag “no lock” until delta was at zero at least least once.
authorRobin Gareus <robin@gareus.org>
Mon, 12 Jan 2015 22:17:39 +0000 (23:17 +0100)
committerRobin Gareus <robin@gareus.org>
Mon, 12 Jan 2015 22:17:39 +0000 (23:17 +0100)
libs/ardour/ltc_slave.cc

index b675f43489292101c750f01df76343244376ea6e..c5840f68d4f0ad76a306ce356c8efa53b70aeec2 100644 (file)
@@ -479,7 +479,8 @@ LTC_Slave::speed_and_position (double& speed, framepos_t& pos)
                pos = session.transport_frame();
                return true;
        } else if (ltc_speed != 0) {
                pos = session.transport_frame();
                return true;
        } else if (ltc_speed != 0) {
-               if (delayedlocked > 0) delayedlocked--;
+               if (delayedlocked > 1) delayedlocked--;
+               else if (current_delta == 0) delayedlocked = 0;
        }
 
        if (abs(now - last_timestamp) > FLYWHEEL_TIMEOUT) {
        }
 
        if (abs(now - last_timestamp) > FLYWHEEL_TIMEOUT) {