REF / Music API / Agraph

Ascene . Agraph . Aengine
Anode . Modulator . Envelope
Songbook . Song . TimeKeeper
Voices . SampleMgr . StreamMgr
Loader . Async . Plot
Random . Rhythm . Util
MIDI . OSC . HID . Piano
Music Theory with Tonal

right-click to navigate to page sections


Agraph == "audio graph"

The audio graph is responsible for scheduling the processing of Anodes within Hz's c++-side audio engine. Usually you create and connect Anodes via the higher level Ascene methods and perhaps that makes this page interesting only to deep-divers.

Inside the lone (shared) audio engine within Hz is a single audio graph comprising all the Anodes that have been instantiated in the engine's current session. Each Ascene running in different async fibers owns a subset of the Anodes that reside in the graph.

Depending on the modularity of the synthesizers and effects-chains in your songs, the audio graph can contain between 5 and thousands of nodes.


an example graph

AGraph Method Description
Clear() resets the graph to empty.
AddEdge(n1, n2, srcParam=0, sinkParam=0, remap=null) creates a graph edge
RemoveEdge(n1, n2, srcParam=0, sinkParam=0) removes a graph edge
ToDot(title="") returns a Dot representation of the graph
GetUpstreamNodes(n) returns a list of Anodes upstream from n
GetDownstreamNodes(n) returns a list of Anodes downstream from n
home .. topics .. interface .. reference .. examples .. tipjar