Files
AronaCore/core/audio/misc/audio_clock.cpp
2024-07-14 00:06:56 +08:00

20 lines
536 B
C++

#include "audio_clock.h"
#include "audio/device/audio_device_manager.h"
#include "audio/midi_sequencer/midi_sequencer.h"
void audio_clock::set_sample_tick(uint64_t tick) {
sample_tick_ = tick;
}
void audio_clock::set_midi_tick(uint64_t tick) {
midi_tick_ = tick;
}
void audio_clock::update_midi_tick() {
auto sample_rate = get_audio_device_manager()->get_sample_rate();
auto tpq = get_midi_sequencer()->get_tpq();
double second = (double)sample_tick_ / sample_rate;
midi_tick_ = (uint64_t)(second * tpq);
}