Compact node inventory: id, type, label, port counts
arrangement_get
Current arrangement: length, MIDI clips, gain automation lanes
Project management
Tool
Description
project_new
Replace the current project with a validated graph
project_open
Load a Turtle or JSON project from disk
project_save
Atomically save the current project
project_capture_midi
Run the engine, capture MIDI output, write a multi-track SMF (requires native addon)
Graph operations
All graph mutations require stopped audio and the current expectedRevision.
Tool
Description
graph_apply_changes
Validate and atomically apply a batch of node and connection operations. Supports dryRun.
node_add
Add a plugin node with optional initial connections
node_remove
Remove a node and all its connections
connection_add
Add a single audio or MIDI connection
connection_remove
Remove a connection
midi_mapping_add
Route one MIDI CC on a channel to a plugin parameter
midi_mapping_remove
Remove a MIDI CC to parameter mapping
Transport
Tool
Description
transport_configure
Set tempo, loop range, or position (requires stopped audio)
transport_play
Start audio processing
transport_stop
Stop audio processing
Parameters and arrangement
Tool
Description
parameter_set
Set a normalised VST3 parameter value; applies live, with an optional sample offset inside the upcoming block
parameters_set_batch
Set multiple parameters on one node atomically
arrangement_update
Replace arrangement length, MIDI clips, and gain lanes
clip_add
Add a MIDI clip with note events
clip_remove
Remove a MIDI clip by id
clip_freeze
Capture a generator to a MIDI clip (needs native engine)
arrangement_render_midi
Write the current arrangement to a Standard MIDI File
arrangement_render_audio
Offline-bounce the project to a stereo WAV file (needs native engine)
Plugin discovery
Tool
Description
plugins_list
List installed plugins with optional text filter
plugins_search
Search by name, role, signal types, or vendor
plugin_describe
Full merged description, CC mappings, recommendations, and cautions for one plugin
plugin_validate_chain
Check two adjacent plugins for compatible signal flow
plugins_scan
Rescan VST3 bundles under ~/.vst3 and refresh metadata
JigDAW plugins
Tool
Description
jigdaw_describe
Dereference a JigDAW plugin IRI and return its profile plus the graph node to add for it
jigdaw_collection
Open a JigDAW collection URL and list the plugin IRIs it names
A JigDAW plugin has no catalogue to be listed in, so jigdaw_describe is available whether or not a plugin catalogue is configured, and it is the step to take before wiring a JigdawPlugin node: the port counts it returns are read from the profile, and the host reads the same profile and overwrites whatever a project declared. jigdaw_collection is the step before that: it opens a collection such as https://strandz.it/jigdaw/collections/jigdaw.ttl and returns the member IRIs to describe. See JigDAW plugins.
HTTP API
When transmission-live.js is running, the same operations are available over HTTP.
GET endpoints
Endpoint
Response
GET /status
Revision, dirty flag, transport, engine state
GET /project
Complete graph (JSON)
GET /plugins
All discovered plugins with merged profiles
GET /peaks
{ peakL, peakR } — use for silence detection
GET /diagnostics
Engine state, timing, underrun count
GET /jack-ports
Available JACK playback/capture ports via jack_lsp
POST endpoints
Endpoint
Body
Description
POST /graph/apply
{ changes, expectedRevision, dryRun? }
Atomic graph mutation
POST /transport
{ action: "play"\|"stop"\|"configure", ... }
Transport control
POST /parameters
{ nodeId, parameters: [{id, normalizedValue}] }
Set VST3 parameters
POST /projects/open
{ path }
Load a project file
POST /projects/save
{ path? }
Save the current project
POST /projects/new
{ graph }
Replace project with a new graph
POST /plugins/scan
—
Rescan ~/.vst3
Example: check output levels
curl http://127.0.0.1:7878/peaks
# {"peakL": 0.42, "peakR": 0.41}# Both near zero → silence at output; run "peaks" in the console to diagnose.