X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fsession_ltc.cc;h=5c4a65ad03b8991667501ff0a499b76d8eba8a34;hb=dec10f2f3c6fffe27e72243d9bf36713d8f084f9;hp=ae18c43ac9e887ea897c2f69e84d43124119b8b9;hpb=30b087ab3d28f1585987fa3f6ae006562ae192e3;p=ardour.git diff --git a/libs/ardour/session_ltc.cc b/libs/ardour/session_ltc.cc index ae18c43ac9..5c4a65ad03 100644 --- a/libs/ardour/session_ltc.cc +++ b/libs/ardour/session_ltc.cc @@ -18,7 +18,7 @@ */ -#include "timecode/time.h" +#include "temporal/time.h" #include "ardour/audioengine.h" #include "ardour/audio_port.h" @@ -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