diff options
Diffstat (limited to 'libs/ardour/session_process.cc')
-rw-r--r-- | libs/ardour/session_process.cc | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/libs/ardour/session_process.cc b/libs/ardour/session_process.cc index 731253e086..28aa7b1441 100644 --- a/libs/ardour/session_process.cc +++ b/libs/ardour/session_process.cc @@ -505,15 +505,15 @@ Session::process_with_events (pframes_t nframes) return; } - if (!_exporting && !timecode_transmission_suspended()) { - send_midi_time_code_for_cycle (_transport_sample, end_sample, nframes); - } - - ltc_tx_send_time_code_for_cycle (_transport_sample, end_sample, _target_transport_speed, _transport_speed, nframes); samplepos_t stop_limit = compute_stop_limit (); if (maybe_stop (stop_limit)) { + if (!_exporting && !timecode_transmission_suspended()) { + send_midi_time_code_for_cycle (_transport_sample, end_sample, nframes); + } + ltc_tx_send_time_code_for_cycle (_transport_sample, end_sample, _target_transport_speed, _transport_speed, nframes); + no_roll (nframes); return; } @@ -544,6 +544,12 @@ Session::process_with_events (pframes_t nframes) if (this_nframes) { + if (!_exporting && !timecode_transmission_suspended()) { + send_midi_time_code_for_cycle (_transport_sample, _transport_sample + samples_moved, this_nframes); + } + + ltc_tx_send_time_code_for_cycle (_transport_sample, _transport_sample + samples_moved, _target_transport_speed, _transport_speed, this_nframes); + click (_transport_sample, this_nframes); if (process_routes (this_nframes, session_needs_butler)) { |