diff options
author | Robin Gareus <robin@gareus.org> | 2017-09-29 04:13:57 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2017-09-29 05:03:48 +0200 |
commit | f974cd5401f8e042f7c221261c5ce18b9adb8859 (patch) | |
tree | a21dea1aed0a918f33b4ec01d89a15d817dc7ec6 /libs/ardour/session_ltc.cc | |
parent | eb6df8939dfb483b46b0549f39db219876bd4d2c (diff) |
Update Timecode Generator/Slave alignment
Diffstat (limited to 'libs/ardour/session_ltc.cc')
-rw-r--r-- | libs/ardour/session_ltc.cc | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/libs/ardour/session_ltc.cc b/libs/ardour/session_ltc.cc index 6b3d8b2174..5c4a65ad03 100644 --- a/libs/ardour/session_ltc.cc +++ b/libs/ardour/session_ltc.cc @@ -263,16 +263,15 @@ Session::ltc_tx_send_time_code_for_cycle (samplepos_t start_sample, samplepos_t * buffer. * * The timecode is generated directly in the Session process callback - * using _transport_sample. It requires that the session has set the - * port's playback latency to worst_playback_latency() prior to - * calling ltc_tx_send_time_code_for_cycle(). + * using _transport_sample (which is the audible frame at the + * output). */ samplepos_t cycle_start_sample; if (current_speed < 0) { - cycle_start_sample = (start_sample - ltc_out_latency.max + worst_playback_latency()); + cycle_start_sample = (start_sample + ltc_out_latency.max); } else if (current_speed > 0) { - cycle_start_sample = (start_sample + ltc_out_latency.max - worst_playback_latency()); + cycle_start_sample = (start_sample - ltc_out_latency.max); } else { /* There is no need to compensate for latency when not rolling * rather send the accurate NOW timecode |