73 void schedule(
double delay_seconds, std::function<
void()> callback);
90 [[nodiscard]]
inline bool is_active()
const {
return m_active; }
184 void execute(
const std::function<
void()>& start_func,
const std::function<
void()>& end_func,
double duration_seconds);
201 [[nodiscard]]
bool is_pending()
const;
277 void activate_node(
const std::shared_ptr<Nodes::Node>& node,
278 double duration_seconds,
280 const std::vector<uint32_t>& channels = {});
295 void activate_network(
const std::shared_ptr<Nodes::Network::NodeNetwork>&
network,
296 double duration_seconds,
298 const std::vector<uint32_t>& channels = {});
312 void activate_buffer(
const std::shared_ptr<Buffers::Buffer>& buffer,
313 double duration_seconds,
315 uint32_t channel = 0);
332 [[nodiscard]]
inline bool is_active()
const {
return m_timer.is_active(); }
351 void cleanup_current_operation();
Core::GlobalNetworkConfig network
Token-based multimodal buffer management system for unified data stream processing.
Buffers::ProcessingToken m_buffer_token
The processing token associated with the currently active buffer.
~TemporalActivation()=default
std::vector< uint32_t > m_channels
The output channels the current node is connected to.
Vruta::ProcessingToken m_execution_token
The processing token associated with the currently active node, network or buffer.
Nodes::ProcessingToken m_node_token
The processing token associated with the currently active node or buffer.
std::shared_ptr< Buffers::Buffer > m_current_buffer
The currently active buffer being played.
std::shared_ptr< Nodes::Network::NodeNetwork > m_current_network
The currently active network being played.
bool is_active() const
Checks if a node is currently active.
Nodes::NodeGraphManager & m_node_graph_manager
Reference to the graph manager that manages processing nodes.
std::shared_ptr< Nodes::Node > m_current_node
The currently active node being played.
Buffers::BufferManager & m_buffer_manager
Reference to the buffer manager that manages processing buffers.
Timer m_timer
The timer used to schedule processing duration.
Vruta::TaskScheduler & m_scheduler
Reference to the scheduler that manages this timer.
Specialized timer for controlling computational nodes, buffers, and networks.
Vruta::TaskScheduler & m_Scheduler
Reference to the scheduler that manages this action.
Timer m_timer
The timer used to schedule the end function.
Vruta::ProcessingToken m_token
The processing token that determines the timing context and thread evaluator for this action.
Utility for executing actions with a start and end function over a duration.
bool m_active
Flag indicating whether a callback is currently scheduled.
bool is_active() const
Checks if a callback is currently scheduled.
std::shared_ptr< Vruta::Routine > m_routine
The underlying computational routine that implements the timer.
std::function< void()> m_callback
The callback function to execute when the timer fires.
Vruta::TaskScheduler & m_Scheduler
Reference to the scheduler that manages this timer.
Vruta::ProcessingToken m_token
The processing token that determines the timing context and thread evaluator for this timer.
High-level utility for scheduling one-shot timed callbacks.
Central manager for the computational processing node graph.
Token-based multimodal task scheduling system for unified coroutine processing.
ProcessingToken
Bitfield enum defining processing characteristics and backend requirements for buffer operations.
ProcessingToken
Enumerates the different processing domains for nodes.
Contains the node-based computational processing system components.