MayaFlux 0.4.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ schedule_pattern()

MAYAFLUX_API void MayaFlux::schedule_pattern ( std::function< std::any(uint64_t)>  pattern_func,
std::function< void(std::any)>  callback,
double  interval_seconds,
std::string  name = "",
Vruta::ProcessingToken  token = Vruta::ProcessingToken::SAMPLE_ACCURATE 
)

Schedules a pattern generator that produces values based on a pattern function and addes it to the default scheduler list for evaluation.

Parameters
pattern_funcFunction that generates pattern values based on step index
callbackFunction to call with each pattern value
interval_secondsTime between pattern steps
nameName of the metronome task (optional but recommended). If not provided, a default name will be generated.
tokenProcessing token to determine which scheduler rate to use (default: SAMPLE_ACCURATE)

Uses the task scheduler from the default engine.

Definition at line 74 of file Chronie.cpp.

75{
76 auto scheduler = get_scheduler();
77 if (name.empty()) {
78 name = "pattern_" + std::to_string(scheduler->get_next_task_id());
79 }
80
81 auto pattern = Kriya::pattern(std::move(pattern_func), std::move(callback), interval_seconds, token);
82 get_scheduler()->add_task(pattern, name, false);
83}
std::shared_ptr< Vruta::TaskScheduler > get_scheduler()
Gets the task scheduler from the default engine.
Definition Chronie.cpp:22

References get_scheduler(), and MayaFlux::Kriya::pattern().

+ Here is the call graph for this function: