GraphNode struct

A node in the processing graph.


Public variables

Graph* graph
Ref back to the graph so we don't have to pass it around.
GraphNode** childnodes
outgoing edges downstream nodes to activate when this node has completed processed
volatile gint refcount
Incoming node count.
gint init_refcount
Initial incoming node count.
GraphNode** parentnodes
Used when creating the graph so we can traverse it backwards to set the latencies.
Port* port
Port, if not a plugin or fader.
Plugin* pl
Plugin, if plugin.
Fader* fader
Fader, if fader.
Fader* prefader
Pre-Fader, if prefader node.
SampleProcessor* sample_processor
Sample processor, if sample processor.
HardwareProcessor* hw_processor
Hardware processor, if hardware processor.
bool terminal
For debugging.
nframes_t playback_latency
The playback latency of the node, in samples.
nframes_t route_playback_latency
The route's playback latency so far.