diff options
author | Robin Gareus <robin@gareus.org> | 2013-04-05 06:50:54 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2013-04-05 06:50:54 +0200 |
commit | 985e3dcc50fc7dd66a258ae0758956a1fff8f3bd (patch) | |
tree | ff86123ada5aae297c309b00334466f57c9d8f44 /libs/ardour/session_process.cc | |
parent | 3f97d8c6d50d04b1eb18ada690a114240d1e5593 (diff) |
ignore "external timecode is sync locked" for non timecode slaves.
Diffstat (limited to 'libs/ardour/session_process.cc')
-rw-r--r-- | libs/ardour/session_process.cc | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/libs/ardour/session_process.cc b/libs/ardour/session_process.cc index cd7daaf185..7ed8030e6b 100644 --- a/libs/ardour/session_process.cc +++ b/libs/ardour/session_process.cc @@ -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) { |