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

◆ dispatch_branch_async()

std::shared_ptr< Vruta::SoundRoutine > MayaFlux::Kriya::BufferPipeline::dispatch_branch_async ( BranchInfo &  branch,
uint64_t  cycle 
)
private

Definition at line 27 of file BufferPipelineBranches.cpp.

28{
29 if (!m_scheduler)
30 return nullptr;
31
32 branch.pipeline->m_active_self = branch.pipeline;
33
34 auto branch_routine = branch.pipeline->execute_internal(1, branch.samples_per_operation);
35
36 auto task = std::make_shared<Vruta::SoundRoutine>(std::move(branch_routine));
37 m_scheduler->add_task(task);
38
39 m_branch_tasks.push_back(task);
40
41 return task;
42}
std::vector< std::shared_ptr< Vruta::Routine > > m_branch_tasks
Vruta::TaskScheduler * m_scheduler
void add_task(const std::shared_ptr< Routine > &routine, const std::string &name="", bool initialize=false)
Add a routine to the scheduler based on its processing token.
Definition Scheduler.cpp:94

References MayaFlux::Vruta::TaskScheduler::add_task(), m_branch_tasks, m_scheduler, MayaFlux::Kriya::BufferPipeline::BranchInfo::pipeline, and MayaFlux::Kriya::BufferPipeline::BranchInfo::samples_per_operation.

Referenced by dispatch_cycle_branches().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: