tone-generator/scheduler.hpp

30 lines
400 B
C++

#pragma once
#include "timing.hpp"
namespace scheduler {
enum State {
play,
skip,
pause,
end,
};
inline uint32_t timestamp = 0;
inline State state = State::pause;
void reset();
void do_all();
inline bool is_running() {
return state <= State::skip;
}
inline bool should_update() {
return (state == State::play && timing::at >= timestamp) || state == State::skip;
}
};