$Id$
*/
+#include "pbd/compose.h"
#include "midi++/port.h"
#include "midi++/manager.h"
#include "evoral/midi_events.h"
void
MidiClockTicker::session_going_away ()
{
- SessionHandlePtr::session_going_away();
- _midi_port = 0;
+ SessionHandlePtr::session_going_away();
+ _midi_port = 0;
}
void MidiClockTicker::update_midi_clock_port()
DEBUG_TRACE (PBD::DEBUG::MidiClock,
string_compose ("Transport state change, speed: %1 position: %2 play loop: %3\n", speed, position, _session->get_play_loop())
);
-
+
if (speed == 1.0f) {
_last_tick = position;
double MidiClockTicker::one_ppqn_in_frames (framepos_t transport_position)
{
const Tempo& current_tempo = _session->tempo_map().tempo_at(transport_position);
- const Meter& current_meter = _session->tempo_map().meter_at(transport_position);
- double frames_per_beat =
- current_tempo.frames_per_beat(_session->nominal_frame_rate(),
- current_meter);
+ double frames_per_beat = current_tempo.frames_per_beat(_session->nominal_frame_rate());
double quarter_notes_per_beat = 4.0 / current_tempo.note_type();
double frames_per_quarter_note = frames_per_beat / quarter_notes_per_beat;
if (!_midi_port) {
return;
}
-
+
static uint8_t _midi_clock_tick[1] = { MIDI_CMD_COMMON_START };
_midi_port->write (_midi_clock_tick, 1, offset);
}
if (!_midi_port) {
return;
}
-
+
static uint8_t _midi_clock_tick[1] = { MIDI_CMD_COMMON_CONTINUE };
_midi_port->write (_midi_clock_tick, 1, offset);
}
if (!_midi_port) {
return;
}
-
+
static uint8_t _midi_clock_tick[1] = { MIDI_CMD_COMMON_STOP };
_midi_port->write (_midi_clock_tick, 1, offset);
}