5#define MAX_PENDING_NODES 2048
84 double process_sample();
106 std::vector<double> process_batch(uint32_t num_samples);
116 void process_batch_frame(uint32_t num_frames);
202 void process_pending_operations();
#define MAX_PENDING_NODES
static MayaFlux::Nodes::ProcessingToken token
std::vector< std::shared_ptr< Node > > m_Nodes
Collection of nodes registered with this root node.
uint32_t m_channel
The processing channel index for this root node.
uint32_t get_channel()
Gets the channel index associated with this root node.
void clear_all_nodes()
Removes all nodes from this root node.
std::atomic< bool > m_is_processing
Flag indicating if the root node is currently processing nodes.
bool m_skip_state_management
Flag indicating whether to skip preprocessing and post processing.
std::atomic< uint32_t > m_pending_count
Counter tracking the number of pending operations.
unsigned int get_node_size()
Gets the number of nodes registered with this root node.
ProcessingToken m_token
The processing token indicating the domain of this root node.
ProcessingToken get_token()
Gets the processing token associated with this root node.
Container for top-level nodes in a processing channel with multi-modal support.
ProcessingToken
Enumerates the different processing domains for nodes.
Contains the node-based computational processing system components.
void register_node(const std::shared_ptr< Nodes::Node > &node, const Nodes::ProcessingToken &token, uint32_t channel)
void unregister_node(const std::shared_ptr< Nodes::Node > &node, const Nodes::ProcessingToken &token, uint32_t channel)
Removes a node from the root node of specified channels.
std::shared_ptr< Node > node
The node to be registered or unregistered.
std::atomic< bool > active
Flag indicating if this pending operation slot is in use.
Structure for storing pending node registration/unregistration operations.