audio/routing.h file

Contents

Routing graph.

Classes

struct GraphNode
A node in the processing graph.
struct Graph
Graph.

Enums

enum GraphNodeType { ROUTE_NODE_TYPE_PORT, ROUTE_NODE_TYPE_PLUGIN, ROUTE_NODE_TYPE_TRACK, ROUTE_NODE_TYPE_FADER, ROUTE_NODE_TYPE_MONITOR_FADER, ROUTE_NODE_TYPE_PREFADER, ROUTE_NODE_TYPE_SAMPLE_PROCESSOR }
Graph nodes can be either ports or processors.

Typedefs

using GraphNode = struct GraphNode
A node in the processing graph.
using Graph = struct Graph
Graph.
using GraphNodeType = enum GraphNodeType
Graph nodes can be either ports or processors.

Functions

void router_start_cycle(Router* self, const nframes_t nsamples, const nframes_t local_offset, const Position* pos)
Starts a new cycle.
auto router_get_max_playback_latency(Router* router) -> nframes_t
Returns the max playback latency of the trigger nodes.
auto router_is_processing_thread(Router* router) -> int
Returns if the current thread is a processing thread.
auto graph_get_node_name(GraphNode* node) -> char*
Returns a human friendly name of the node.
auto graph_validate(Router* router, const Port* src, const Port* dest) -> int
Adds a new connection for the given src and dest ports and validates the graph.
auto graph_start(Graph* graph) -> int
Starts as many threads as there are cores.
auto graph_new(Router* router) -> Graph*
Returns a new graph.
void graph_free(Graph* self)
Frees the graph and its members.