67 EventChain& then(std::function<
void()> action,
double delay_seconds = 0.F);
96 EventChain& every(
double interval_seconds, std::function<
void()> action);
122 [[nodiscard]]
bool is_active()
const;
136 EventChain& on_complete(std::function<
void()> callback);
145 [[nodiscard]]
const std::string&
name()
const {
return m_name; }
151 [[nodiscard]]
size_t event_count()
const {
return m_events.size(); }
212 bool m_on_complete_fired {};
217 void fire_on_complete();
219 size_t m_repeat_count { 1 };
221 uint64_t m_default_rate { 48000 };
Vruta::TaskScheduler & m_Scheduler
Reference to the scheduler that manages timing.
const std::string & name() const
Gets the name of the event chain.
std::function< void()> m_on_complete
Optional callback to execute when the chain completes.
std::vector< TimedEvent > m_events
Collection of events in this chain.
size_t repeat_count() const
Gets the repeat count for the entire chain.
std::string m_name
Optional name for the event chain.
size_t event_count() const
Gets the number of events in the chain.
std::shared_ptr< Vruta::SoundRoutine > m_routine
The underlying computational routine that implements the chain.
A sequential chain of timed events with precise temporal control.
Token-based multimodal task scheduling system for unified coroutine processing.
double delay_seconds
Delay before execution.
std::function< void()> action
Function to execute.
Structure representing a timed event in the chain.