|
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 | |
| nframes_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 302 of file graph_node.h.
|
inline |
Sets the initial/terminal nodes.
To be called when all nodes have been added.
Definition at line 327 of file graph_node.h.
| nframes_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 335 of file graph_node.h.
| std::unique_ptr<InitialProcessor> zrythm::dsp::graph::GraphNodeCollection::initial_processor_ |
Definition at line 352 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 350 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 343 of file graph_node.h.