using namespace MIDI;
using namespace PBD;
-#define DEBUG_MIDI_CLOCK 1
-
MIDIClock_Slave::MIDIClock_Slave (Session& s, MIDI::Port& p, int ppqn)
: ppqn (ppqn)
, bandwidth (1.0 / 60.0) // 1 BpM = 1 / 60 Hz
MIDIClock_Slave::calculate_one_ppqn_in_frames_at(framepos_t time)
{
const Tempo& current_tempo = session->tempo_map().tempo_at(time);
- const Meter& current_meter = session->tempo_map().meter_at(time);
- double frames_per_beat =
- current_tempo.frames_per_beat(session->frame_rate(),
- current_meter);
+ double frames_per_beat = current_tempo.frames_per_beat(session->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;
t1 * session->frame_rate(),
session->frame_rate(),
((t1 - t0) * session->frame_rate()) / one_ppqn_in_frames));
-
+
last_timestamp = timestamp;
}
_starting = true;
_started = true;
-
+
// session->request_locate(0, false);
}
// calculate speed
speed = ((t1 - t0) * session->frame_rate()) / one_ppqn_in_frames;
-
+
// provide a 3% deadzone to lock the speed
if (fabs(speed - 1.0) <= 0.03)
speed = 1.0;