43 NodeTimeSpec(
double seconds, std::optional<std::vector<uint32_t>> channels = std::nullopt);
63 [[nodiscard]]
inline double get_seconds()
const {
return m_seconds; }
82 [[nodiscard]]
const std::vector<uint32_t>&
get_channels()
const {
return m_channels.value(); }
167 unsigned int channel = 0;
197void operator>>(std::shared_ptr<Nodes::Node> node,
DAC& terminal);
static DAC & instance()
Gets the singleton instance of OutputTerminal.
DAC()=default
Private constructor to enforce singleton pattern.
std::optional< std::vector< uint32_t > > m_channels
bool has_explicit_channels() const
Checks if explicit channels were specified.
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.
double m_seconds
Duration of the operation in seconds.
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.
NodeTimeSpec Time(double seconds)
std::shared_ptr< BufferPipeline > operator>>(std::shared_ptr< BufferPipeline > pipeline, BufferOperation &&operation)