9namespace Nodes::Generator {
45 MAYAFLUX_API Vruta::SoundRoutine
metro(Vruta::TaskScheduler& scheduler,
double interval_seconds, std::function<
void()> callback);
76 MAYAFLUX_API Vruta::SoundRoutine
sequence(Vruta::TaskScheduler& scheduler, std::vector<std::pair<
double, std::function<
void()>>>
sequence);
115 MAYAFLUX_API Vruta::SoundRoutine
line(Vruta::TaskScheduler& scheduler,
float start_value,
float end_value,
float duration_seconds, uint32_t step_duration = 5,
bool restartable =
false);
158 MAYAFLUX_API Vruta::SoundRoutine
pattern(Vruta::TaskScheduler& scheduler, std::function<std::any(uint64_t)> pattern_func, std::function<
void(std::any)> callback,
double interval_seconds);
168 MAYAFLUX_API Vruta::SoundRoutine
Gate(
169 Vruta::TaskScheduler& scheduler, std::function<
void()> callback,
170 std::shared_ptr<Nodes::Generator::Logic> logic_node,
bool open =
true);
180 MAYAFLUX_API Vruta::SoundRoutine
Trigger(
181 Vruta::TaskScheduler& scheduler,
183 std::function<
void()> callback,
184 std::shared_ptr<Nodes::Generator::Logic> logic_node);
193 MAYAFLUX_API Vruta::SoundRoutine
Toggle(
194 Vruta::TaskScheduler& scheduler,
195 std::function<
void()> callback,
196 std::shared_ptr<Nodes::Generator::Logic> logic_node);
@ Vruta
Coroutines, schedulers, clocks, task management.
@ Kriya
Automatable tasks and fluent scheduling api for Nodes and Buffers.
Vruta::SoundRoutine sequence(Vruta::TaskScheduler &scheduler, std::vector< std::pair< double, std::function< void()> > > sequence)
Creates a temporal sequence that executes callbacks at specified time offsets.
Vruta::SoundRoutine Trigger(Vruta::TaskScheduler &scheduler, bool target_state, std::function< void()> callback, std::shared_ptr< Nodes::Generator::Logic > logic_node)
Coroutine that executes callback when logic node changes to specific state.
Vruta::SoundRoutine pattern(Vruta::TaskScheduler &scheduler, std::function< std::any(uint64_t)> pattern_func, std::function< void(std::any)> callback, double interval_seconds)
Creates a generative algorithm that produces values based on a pattern function.
Vruta::SoundRoutine Toggle(Vruta::TaskScheduler &scheduler, std::function< void()> callback, std::shared_ptr< Nodes::Generator::Logic > logic_node)
Coroutine that executes callback on any logic node state change.
Vruta::SoundRoutine line(Vruta::TaskScheduler &scheduler, float start_value, float end_value, float duration_seconds, uint32_t step_duration, bool restartable)
Creates a continuous interpolation generator between two values over time.
Vruta::SoundRoutine Gate(Vruta::TaskScheduler &scheduler, std::function< void()> callback, std::shared_ptr< Nodes::Generator::Logic > logic_node, bool open)
Coroutine that executes callback continuously while logic node outputs true.
Vruta::SoundRoutine metro(Vruta::TaskScheduler &scheduler, double interval_seconds, std::function< void()> callback)
Creates a periodic event generator that executes a callback at regular intervals.
Main namespace for the Maya Flux audio engine.