18 : last_update_( start_time ), start_time_( start_time ),
23 template <
typename Sender >
26 using namespace realtime;
28 if ( !running_ && started_ )
34 else if ( running_ && !started_ )
42 const auto dt =
tick();
43 while ( last_update_ + dt <= t )
60 last_update_ = start_time_;
68 constexpr
void stop() noexcept
75 return pulses_per_quarter_note_;
86 int pulses_per_quarter_note_{initial_pulses_per_quarter_note};
87 bool started_ =
false;
88 bool running_ =
false;
89 bool continue_ =
false;
Definition: clock_base.hpp:8
constexpr void start() noexcept
Definition: clock_base.hpp:63
constexpr clock_base() noexcept=default
constexpr beat_duration tick() const noexcept
Definition: clock_base.hpp:78
Definition: beat_duration.hpp:13
constexpr bool is_started() const noexcept
Definition: clock_base.hpp:51
constexpr int pulses_per_quarter_note() const noexcept
Definition: clock_base.hpp:73
void reset() noexcept
Definition: clock_base.hpp:56
void update(beat_time_point t, Sender sender)
Definition: clock_base.hpp:24
constexpr auto realtime_stop
Definition: byte.hpp:30
constexpr void stop() noexcept
Definition: clock_base.hpp:68
constexpr auto realtime_continue
Definition: byte.hpp:29
Definition: beat_time_point.hpp:8
static constexpr int initial_pulses_per_quarter_note
Definition: clock_base.hpp:11
constexpr auto realtime_clock
Definition: byte.hpp:27
constexpr auto realtime_start
Definition: byte.hpp:28