11 , m_channels(
std::move(channels))
19 , m_scheduler(scheduler)
20 , m_graph_manager(graph_manager)
39 static std::vector<std::shared_ptr<NodeTimer>> active_timers;
40 active_timers.push_back(timer);
44 std::remove_if(active_timers.begin(), active_timers.end(),
45 [](
const std::shared_ptr<NodeTimer>& t) {
46 return !t->is_active();
59 return NodeTimeSpec(seconds, std::vector<uint32_t> { channel });
64 return { seconds, channels };
unsigned int channel
The output channel to connect to.
bool has_explicit_channels() const
Checks if explicit channels were specified.
NodeTimeSpec(double seconds, std::optional< std::vector< uint32_t > > channels=std::nullopt)
Constructs a NodeTimeSpec with the specified duration.
Vruta::TaskScheduler & m_scheduler
Reference to the scheduler that will manage timing.
Nodes::NodeGraphManager & m_graph_manager
Reference to the graph manager that will manage node connections.
double get_seconds() const
Gets the duration of this operation.
const std::vector< uint32_t > & get_channels() const
Gets the list of channels to activate.
Represents a timed activation operation for processing nodes.
Central manager for the computational processing node graph.
Token-based multimodal task scheduling system for unified coroutine processing.
NodeConfig & get_node_config()
NodeTimeSpec Time(double seconds)
std::shared_ptr< BufferPipeline > operator>>(std::shared_ptr< BufferPipeline > pipeline, BufferOperation &&operation)
std::shared_ptr< Nodes::NodeGraphManager > get_node_graph_manager()
Gets the node graph manager from the default engine.
void register_audio_node(const std::shared_ptr< Nodes::Node > &node, uint32_t channel)
Adds a node to the root node of a specific channel.
std::shared_ptr< Vruta::TaskScheduler > get_scheduler()
Gets the task scheduler from the default engine.
Main namespace for the Maya Flux audio engine.
size_t callback_cache_size