Process tasks in a specific domain with default algorithm.
255{
258 return;
259 }
260
262 if (tasks.empty()) {
263 auto& clock = *clock_it->second;
264 clock.tick(processing_units);
265 return;
266 }
267
268 auto& clock = *clock_it->second;
269
270 for (uint64_t i = 0; i < processing_units; i++) {
271 uint64_t current_context = clock.current_position();
272
273 for (auto& routine : tasks) {
274 if (routine && routine->is_active()) {
275 if (routine->requires_clock_sync()) {
276 if (current_context >= routine->next_execution()) {
278 }
279 } else {
281 }
282 }
283 }
284
285 clock.tick(1);
286 }
287}
static MayaFlux::Nodes::ProcessingToken token
std::vector< std::shared_ptr< Routine > > get_tasks_for_token(ProcessingToken token) const
Get all tasks for a specific processing domain.
std::unordered_map< ProcessingToken, std::unique_ptr< IClock > > m_token_clocks
Clock instances for each processing domain.
@ SAMPLE_BASED
Sample-accurate delay (audio domain)