summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2008-03-19 18:10:51 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2008-03-19 18:10:51 +0000
commit4808f7fe8b4208ab1cd1fcb505867092272d726c (patch)
tree5083fc38a65b12fd3aedfbd7ad618a69cee8dabc /libs
parentd9faaed2c1371ba8bfc04bd6bd69c23bcbe1b143 (diff)
fix up and re-enable MTC transmission
git-svn-id: svn://localhost/ardour2/branches/3.0@3158 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs')
-rw-r--r--libs/ardour/session_midi.cc17
-rw-r--r--libs/ardour/session_process.cc10
-rw-r--r--libs/ardour/session_state.cc2
-rw-r--r--libs/midi++2/jack_midiport.cc2
4 files changed, 15 insertions, 16 deletions
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]) {