summaryrefslogtreecommitdiff
path: root/libs/ardour/session_process.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/session_process.cc')
-rw-r--r--libs/ardour/session_process.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/libs/ardour/session_process.cc b/libs/ardour/session_process.cc
index 3c46a2e0a6..6d8c0f9f70 100644
--- a/libs/ardour/session_process.cc
+++ b/libs/ardour/session_process.cc
@@ -83,7 +83,7 @@ Session::process (pframes_t nframes)
*/
try {
- if (!_engine.freewheeling() && Config->get_send_midi_clock() && transport_speed() == 1.0f && midi_clock->has_midi_port()) {
+ if (!_silent && !_engine.freewheeling() && Config->get_send_midi_clock() && (transport_speed() == 1.0f || transport_speed() == 0.0f) && midi_clock->has_midi_port()) {
midi_clock->tick (transport_at_start, nframes);
}
} catch (...) {
@@ -421,7 +421,9 @@ Session::process_with_events (pframes_t nframes)
check_declick_out ();
}
- _engine.split_cycle (this_nframes);
+ if (nframes > 0) {
+ _engine.split_cycle (this_nframes);
+ }
/* now handle this event and all others scheduled for the same time */