diff options
Diffstat (limited to 'libs/ardour/session_process.cc')
-rw-r--r-- | libs/ardour/session_process.cc | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/libs/ardour/session_process.cc b/libs/ardour/session_process.cc index 1d11de79d3..bd386a943d 100644 --- a/libs/ardour/session_process.cc +++ b/libs/ardour/session_process.cc @@ -348,6 +348,10 @@ Session::process_with_events (pframes_t nframes) end_frame = _transport_frame + frames_moved; +#ifdef HAVE_LTC + ltc_tx_send_time_code_for_cycle (_transport_frame, end_frame, _target_transport_speed, _transport_speed, nframes); +#endif + { SessionEvent* this_event; Events::iterator the_next_one; @@ -789,12 +793,20 @@ Session::process_without_events (pframes_t nframes) if (!_exporting && _slave) { if (!follow_slave (nframes)) { +#ifdef HAVE_LTC + ltc_tx_send_time_code_for_cycle (_transport_frame, _transport_frame, 0, 0 , nframes); +#endif return; } } if (_transport_speed == 0) { fail_roll (nframes); +#ifdef HAVE_LTC + if (!_exporting) { + ltc_tx_send_time_code_for_cycle (_transport_frame, _transport_frame, 0, 0 , nframes); + } +#endif return; } @@ -810,6 +822,12 @@ Session::process_without_events (pframes_t nframes) send_midi_time_code_for_cycle (_transport_frame, _transport_frame + frames_moved, nframes); } +#ifdef HAVE_LTC + if (!_exporting) { + ltc_tx_send_time_code_for_cycle (_transport_frame, _transport_frame + frames_moved, _target_transport_speed, _transport_speed, nframes); + } +#endif + framepos_t const stop_limit = compute_stop_limit (); if (maybe_stop (stop_limit)) { |