ignore "external timecode is sync locked" for non timecode slaves.
authorRobin Gareus <robin@gareus.org>
Fri, 5 Apr 2013 04:50:54 +0000 (06:50 +0200)
committerRobin Gareus <robin@gareus.org>
Fri, 5 Apr 2013 04:50:54 +0000 (06:50 +0200)
libs/ardour/session_process.cc

index cd7daaf185f8df9975b759951fee7718dd1f565f..7ed8030e6bd7574aa86263230732119f4c2026d8 100644 (file)
@@ -515,7 +515,9 @@ Session::follow_slave (pframes_t nframes)
                slave_speed = 0.0f;
        }
 
-       if (_slave->is_always_synced() || Config->get_timecode_source_is_synced()) {
+       if (_slave->is_always_synced() ||
+                       (Config->get_timecode_source_is_synced() && (dynamic_cast<TimecodeSlave*>(_slave)) != 0)
+                       ) {
 
                /* if the TC source is synced, then we assume that its
                   speed is binary: 0.0 or 1.0
@@ -543,7 +545,9 @@ Session::follow_slave (pframes_t nframes)
                                                   _slave_state, slave_transport_frame, slave_speed, this_delta, average_slave_delta));
 
 
-       if (_slave_state == Running && !_slave->is_always_synced() && !Config->get_timecode_source_is_synced()) {
+       if (_slave_state == Running && !_slave->is_always_synced() &&
+                       !(Config->get_timecode_source_is_synced() && (dynamic_cast<TimecodeSlave*>(_slave)) != 0)
+                       ) {
 
                if (_transport_speed != 0.0f) {