diff options
author | Robin Gareus <robin@gareus.org> | 2019-11-03 14:42:10 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2019-11-03 15:19:37 +0100 |
commit | e371e8a51a258c6b8b1bc79426a4ac9546365a67 (patch) | |
tree | 22c30b3cf39f5fb08bbb255ff962c44ef26e40ff /libs/ardour/session_process.cc | |
parent | b412ca72157bd3b292a99584058916cac41a6d56 (diff) |
Fix timecode generation after split-cycles
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)) { |