summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2013-08-03 01:37:25 +0200
committerRobin Gareus <robin@gareus.org>2013-08-03 01:37:25 +0200
commit0eb5b7d1aba607bf9f3b0ac15d8916280f571a22 (patch)
treecad214f7143346dd9bafaa1f9ea81f683ba0d5f9
parent99fb7346f07be28f548855b3e9c1ff2a174d994f (diff)
parente82574de05ca96d55226404f3bb54161a2297d84 (diff)
Merge branch 'midiclock' of https://github.com/axetota/ardour
-rw-r--r--gtk2_ardour/midi_tracer.cc3
-rw-r--r--libs/ardour/ticker.cc9
2 files changed, 5 insertions, 7 deletions
diff --git a/gtk2_ardour/midi_tracer.cc b/gtk2_ardour/midi_tracer.cc
index 74c9b1643e..073fd9cc15 100644
--- a/gtk2_ardour/midi_tracer.cc
+++ b/gtk2_ardour/midi_tracer.cc
@@ -303,8 +303,7 @@ MidiTracer::tracer (Parser&, byte* msg, size_t len)
} else if (len == 3 && msg[0] == MIDI::position) {
/* MIDI Song Position */
- uint16_t midi_beats = (uint16_t) msg[1];
- midi_beats |= msg[2];
+ int midi_beats = (msg[2] << 7) | msg[1];
s += snprintf (&buf[s], bufsize, "%16s %d\n", "Position", (int) midi_beats);
} else {
diff --git a/libs/ardour/ticker.cc b/libs/ardour/ticker.cc
index 0a4081bec7..f32cdf9415 100644
--- a/libs/ardour/ticker.cc
+++ b/libs/ardour/ticker.cc
@@ -386,11 +386,10 @@ MidiClockTicker::send_position_event (uint32_t midi_beats, pframes_t offset)
}
/* split midi beats into a 14bit value */
- MIDI::byte msg[3] = {
- MIDI_CMD_COMMON_SONG_POS,
- midi_beats & 0x007f,
- midi_beats & 0x3f80
- };
+ MIDI::byte msg[3];
+ msg[0] = MIDI_CMD_COMMON_SONG_POS;
+ msg[1] = midi_beats & 0x007f;
+ msg[2] = midi_beats >> 7;
_midi_port->midimsg (msg, sizeof (msg), offset);