Files
AronaCore/core/audio/misc/audio_clock.h

20 lines
609 B
C++

#pragma once
#include <cstdint>
class audio_clock {
public:
audio_clock();
void set_sample_tick(uint64_t tick);
void set_midi_tick(uint64_t tick);
[[nodiscard]] uint64_t get_sample_tick() const { return sample_tick_; }
[[nodiscard]] uint64_t get_midi_tick() const { return midi_tick_; }
[[nodiscard]] uint64_t get_sample_tick_diff(uint64_t tick) const { return tick - sample_tick_; }
[[nodiscard]] uint64_t get_midi_tick_diff(uint64_t tick) const { return tick - midi_tick_; }
private:
void update_midi_tick();
uint64_t sample_tick_ = 0;
uint64_t midi_tick_ = 0;
};