diff --git a/libs/ardour/session_midi.cc b/libs/ardour/session_midi.cc index 56c5221836..d877c158b8 100644 --- a/libs/ardour/session_midi.cc +++ b/libs/ardour/session_midi.cc @@ -748,22 +748,17 @@ Session::send_midi_time_code_for_cycle(nframes_t nframes) assert (next_quarter_frame_to_send >= 0); assert (next_quarter_frame_to_send <= 7); - if (next_quarter_frame_to_send < 0) - { - printf("Negative????\n"); - } - if (_mtc_port == 0 || !session_send_mtc || transmitting_smpte_time.negative - /*|| (next_quarter_frame_to_send < 0)*/ ) { - //printf("(MTC) Not sending MTC\n"); + /*|| (next_quarter_frame_to_send < 0)*/ ) { + // cerr << "(MTC) Not sending MTC\n"; return 0; } /* Duration of one quarter frame */ nframes_t quarter_frame_duration = ((long) _frames_per_smpte_frame) >> 2; - //cerr << "(MTC) TR: " << _transport_frame << " - SF: " << outbound_mtc_smpte_frame - //<< " - NQ: " << next_quarter_frame_to_send << " - FD" << quarter_frame_duration << endl; + // cerr << "(MTC) TR: " << _transport_frame << " - SF: " << outbound_mtc_smpte_frame + // << " - NQ: " << next_quarter_frame_to_send << " - FD" << quarter_frame_duration << endl; // FIXME: this should always be true //assert((outbound_mtc_smpte_frame + (next_quarter_frame_to_send * quarter_frame_duration)) @@ -773,8 +768,8 @@ Session::send_midi_time_code_for_cycle(nframes_t nframes) // Send quarter frames for this cycle while (_transport_frame + nframes > (outbound_mtc_smpte_frame + (next_quarter_frame_to_send * quarter_frame_duration))) { - - //cerr << "(MTC) Next frame to send: " << next_quarter_frame_to_send << endl; + + // cerr << "(MTC) Next frame to send: " << next_quarter_frame_to_send << endl; switch (next_quarter_frame_to_send) { case 0: diff --git a/libs/ardour/session_process.cc b/libs/ardour/session_process.cc index 40a70c6862..09d85097d0 100644 --- a/libs/ardour/session_process.cc +++ b/libs/ardour/session_process.cc @@ -335,7 +335,9 @@ Session::process_with_events (nframes_t nframes) return; } - send_midi_time_code_for_cycle(nframes); + if (!_exporting) { + send_midi_time_code_for_cycle(nframes); + } if (actively_recording()) { stop_limit = max_frames; @@ -754,8 +756,6 @@ Session::process_without_events (nframes_t nframes) if (!follow_slave (nframes, 0)) { return; } - - send_midi_time_code_for_cycle(nframes); } if (_transport_speed == 0) { @@ -763,6 +763,10 @@ Session::process_without_events (nframes_t nframes) return; } + if (!_exporting) { + send_midi_time_code_for_cycle(nframes); + } + if (actively_recording()) { stop_limit = max_frames; } else { diff --git a/libs/ardour/session_state.cc b/libs/ardour/session_state.cc index b8cdd6226d..41261fdfbc 100644 --- a/libs/ardour/session_state.cc +++ b/libs/ardour/session_state.cc @@ -352,7 +352,7 @@ Session::second_stage_init (bool new_session) BootMessage (_("Reset Remote Controls")); - //send_full_time_code (); + send_full_time_code (0); _engine.transport_locate (0); deliver_mmc (MIDI::MachineControl::cmdMmcReset, 0); deliver_mmc (MIDI::MachineControl::cmdLocate, 0); diff --git a/libs/midi++2/jack_midiport.cc b/libs/midi++2/jack_midiport.cc index 053529b769..59fbbd424a 100644 --- a/libs/midi++2/jack_midiport.cc +++ b/libs/midi++2/jack_midiport.cc @@ -113,7 +113,7 @@ JACK_MidiPort::flush (void* jack_port_buffer) non_process_thread_fifo.get_read_vector (&vec); if (vec.len[0] + vec.len[1]) { - cerr << "Flush " << vec.len[0] + vec.len[1] << "events from non-process FIFO\n"; + cerr << "Flush " << vec.len[0] + vec.len[1] << " events from non-process FIFO\n"; } if (vec.len[0]) {