|
Zrythm v2.0.0-DEV
a highly automated and intuitive digital audio workstation
|
Manages the collection of graph nodes. More...
#include <src/dsp/graph_node.h>
Public Member Functions | |
| units::sample_u32_t | get_max_route_playback_latency () const |
| Returns the max playback latency of the trigger nodes. | |
| void | update_latencies () |
| Updates the latencies of all nodes. | |
| void | set_initial_and_terminal_nodes () |
| Updates the initial and terminal nodes based on graph_nodes_. | |
| void | finalize_nodes () |
| Sets the initial/terminal nodes. | |
| GraphNode * | find_node_for_processable (const IProcessable &processable) const |
Data Fields | |
| std::vector< std::unique_ptr< GraphNode > > | graph_nodes_ |
| All nodes in the graph. | |
| std::vector< std::reference_wrapper< GraphNode > > | trigger_nodes_ |
| A subset of graph_nodes_ that are trigger nodes. | |
| std::vector< std::reference_wrapper< GraphNode > > | terminal_nodes_ |
| A subset of graph_nodes_ that are terminal nodes. | |
| std::unique_ptr< InitialProcessor > | initial_processor_ |
Manages the collection of graph nodes.
This class holds a main collection of graph nodes, as well as subsets of those nodes that are initial trigger nodes and terminal nodes.
Definition at line 332 of file graph_node.h.
|
inline |
Sets the initial/terminal nodes.
To be called when all nodes have been added.
Definition at line 357 of file graph_node.h.
| units::sample_u32_t zrythm::dsp::graph::GraphNodeCollection::get_max_route_playback_latency | ( | ) | const |
Returns the max playback latency of the trigger nodes.
| std::vector<std::unique_ptr<GraphNode> > zrythm::dsp::graph::GraphNodeCollection::graph_nodes_ |
All nodes in the graph.
Definition at line 365 of file graph_node.h.
| std::unique_ptr<InitialProcessor> zrythm::dsp::graph::GraphNodeCollection::initial_processor_ |
Definition at line 382 of file graph_node.h.
| std::vector<std::reference_wrapper<GraphNode> > zrythm::dsp::graph::GraphNodeCollection::terminal_nodes_ |
A subset of graph_nodes_ that are terminal nodes.
Terminal nodes are nodes without outgoing edges.
Definition at line 380 of file graph_node.h.
| std::vector<std::reference_wrapper<GraphNode> > zrythm::dsp::graph::GraphNodeCollection::trigger_nodes_ |
A subset of graph_nodes_ that are trigger nodes.
Trigger nodes are nodes without incoming edges. They run concurrently at the start of each cycle to kick off processing.
Definition at line 373 of file graph_node.h.