summaryrefslogtreecommitdiff
path: root/libs/ardour/session_process.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2019-11-03 14:42:10 +0100
committerRobin Gareus <robin@gareus.org>2019-11-03 15:19:37 +0100
commite371e8a51a258c6b8b1bc79426a4ac9546365a67 (patch)
tree22c30b3cf39f5fb08bbb255ff962c44ef26e40ff /libs/ardour/session_process.cc
parentb412ca72157bd3b292a99584058916cac41a6d56 (diff)
Fix timecode generation after split-cycles
Diffstat (limited to 'libs/ardour/session_process.cc')
-rw-r--r--libs/ardour/session_process.cc16
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)) {