20 lines
536 B
C++
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);
|
|
}
|