Zrythm
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
graph_node.h File Reference

Routing graph node. More...

#include <stdbool.h>
#include "utils/types.h"
#include <gtk/gtk.h>
Include dependency graph for graph_node.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

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

Enumerations

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 , ROUTE_NODE_TYPE_INITIAL_PROCESSOR ,
  ROUTE_NODE_TYPE_HW_PROCESSOR , ROUTE_NODE_TYPE_MODULATOR_MACRO_PROCESOR , ROUTE_NODE_TYPE_CHANNEL_SEND
}
 Graph nodes can be either ports or processors. More...
 

Functions

 TYPEDEF_STRUCT (GraphNode)
 
 TYPEDEF_STRUCT (Graph)
 
 TYPEDEF_STRUCT (PassthroughProcessor)
 
 TYPEDEF_STRUCT (Port)
 
 TYPEDEF_STRUCT (Fader)
 
 TYPEDEF_STRUCT (Track)
 
 TYPEDEF_STRUCT (SampleProcessor)
 
 TYPEDEF_STRUCT (Plugin)
 
 TYPEDEF_STRUCT (HardwareProcessor)
 
 TYPEDEF_STRUCT (ModulatorMacroProcessor)
 
 TYPEDEF_STRUCT (EngineProcessTimeInfo)
 
 TYPEDEF_STRUCT (ChannelSend)
 
char * graph_node_get_name (GraphNode *node)
 Returns a human friendly name of the node.
 
void * graph_node_get_pointer (GraphNode *self)
 
void graph_node_print_to_str (GraphNode *node, char *buf, size_t buf_sz)
 
void graph_node_print (GraphNode *node)
 
HOT void graph_node_process (GraphNode *node, EngineProcessTimeInfo time_nfo)
 Processes the GraphNode.
 
HOT nframes_t graph_node_get_single_playback_latency (GraphNode *node)
 Returns the latency of only the given port, without adding the previous/next latencies.
 
void graph_node_set_route_playback_latency (GraphNode *node, nframes_t dest_latency)
 Sets the playback latency of the given node recursively.
 
HOT void graph_node_trigger (GraphNode *self)
 Called by an upstream node when it has completed processing.
 
void graph_node_connect (GraphNode *from, GraphNode *to)
 
GraphNodegraph_node_new (Graph *graph, GraphNodeType type, void *data)
 
void graph_node_free (GraphNode *node)
 

Detailed Description

Routing graph node.

Definition in file graph_node.h.