gen-dsp CLI Cheatsheet¶
Default Command -- Generate a Plugin Project¶
Source type is auto-detected: directory (gen~ export), .gdsp file, or .json file.
| Option | Description |
|---|---|
-p, --platform PLATFORM |
Target platform(s) (required): a name, a comma-separated list (clap,vst3,au), or all. Names: au, auv3, chuck, circle, clap, csound, daisy, lv2, max, pd, sc, standalone, vcvrack, vst3, webaudio |
-n, --name NAME |
Plugin name (default: inferred from source) |
-o, --output DIR |
Output directory (default: <name>_<platform>; parent dir for multi-target) |
--config PATH |
Read defaults from a gen-dsp.toml (default: ./gen-dsp.toml if present) |
--no-build |
Skip building after project creation |
--dry-run |
Show what would be done without creating files |
--buffers NAME [...] |
Explicit buffer names (overrides auto-detection) |
--no-patch |
Skip platform patches (e.g. exp2f fix) |
--no-shared-cache |
Disable shared OS cache for FetchContent downloads |
--cache-dir DIR |
Explicit FetchContent cache directory (baked into CMakeLists.txt) |
--board BOARD |
Board variant (see gen-dsp list --boards daisy\|circle) |
--no-midi |
Disable MIDI note handling |
--midi-gate NAME |
MIDI gate parameter name |
--midi-freq NAME |
MIDI frequency parameter name |
--midi-vel NAME |
MIDI velocity parameter name |
--midi-freq-unit {hz,midi} |
Unit for MIDI frequency parameter |
--voices N |
Polyphony voices (default: 1) |
--inputs-as-params [NAME ...] |
Remap signal inputs to parameters (no names = all; with names = only those) |
Examples:
gen-dsp ./my_export -p vst3
gen-dsp ./my_export -p clap -n myeffect -o ./build
gen-dsp ./my_export -p daisy --board pod
gen-dsp ./my_export -p pd --no-build --buffers sample envelope
gen-dsp synth.gdsp -p clap --midi-freq freq --midi-gate gate --voices 4
gen-dsp ./my_export -p clap,vst3,au # multi-target
gen-dsp ./my_export -p all --no-build # every platform
gen-dsp # uses ./gen-dsp.toml
A gen-dsp.toml in the project directory supplies defaults (keys mirror the options above; platform may be a list or all). CLI flags override it.
build -- Build an Existing Project¶
| Option | Description |
|---|---|
project-path |
Path to project directory (default: current directory) |
-p, --platform PLATFORM |
Target platform (default: pd) |
--clean |
Clean before building |
-v, --verbose |
Show build output |
detect -- Analyze a gen~ Export or Graph File¶
For a gen~ export directory: name, signal I/O counts, parameters, detected buffers, and needed patches. For a .gdsp/.json graph file: name, I/O, parameters with ranges, node-type breakdown, buffers, delay lines, and validity.
manifest -- Emit JSON Manifest¶
Outputs a JSON manifest describing I/O counts, parameters with ranges, and buffers.
patch -- Apply Platform-Specific Patches¶
Currently applies the exp2f -> exp2 fix for macOS compatibility with Max 9 exports.
chain -- Multi-Plugin Chain Mode (Circle)¶
| Option | Description |
|---|---|
export-path |
Base directory for gen~ exports |
--graph GRAPH |
JSON graph file for multi-plugin chain (required) |
-n, --name NAME |
Name for the chain project (required) |
-p, --platform PLATFORM |
Target platform (default: circle) |
-o, --output OUTPUT |
Output directory (default: ./<name>) |
--export EXPORTS |
Additional export path (repeatable) |
--board BOARD |
Board variant |
--no-patch |
Skip platform patches |
--no-build |
Skip building |
--dry-run |
Show what would be done |
compile -- Compile Graph to C++ (requires gen-dsp[graph])¶
Compiles a .gdsp or .json graph file to C++. Outputs to stdout by default, or to a directory with -o.
validate -- Validate a Graph File (requires gen-dsp[graph])¶
Checks graph connectivity and type correctness.
viz -- Generate Graph Visualization (DOT) (requires gen-dsp[graph])¶
Generates a Graphviz DOT file for the graph.
sim -- Simulate a Graph (requires gen-dsp[sim])¶
gen-dsp sim <file> [-i [NAME=]FILE] [-o DIR] [-n SAMPLES] [--param NAME=VALUE] [--sample-rate SR] [--optimize]
| Option | Description |
|---|---|
-i, --input [NAME=]FILE |
Map audio input to WAV file (repeatable) |
-o, --output DIR |
Output directory (default: current dir) |
-n, --samples N |
Number of samples (required for generators) |
--param NAME=VALUE |
Set parameter (repeatable) |
--sample-rate SR |
Override sample rate |
--optimize |
Optimize before simulation |
list -- List Available Platforms¶
gen-dsp list # platform names, one per line
gen-dsp list -v # name, build system, extension, description
gen-dsp list --json # machine-readable metadata
gen-dsp list --boards daisy # valid --board variants for a platform
cache -- Show or Prune Cached SDKs¶
gen-dsp cache # list cached SDKs with sizes
gen-dsp cache --prune # delete them (asks for confirmation)
gen-dsp cache --prune -y # delete without prompting
gen-dsp cache --prune --dry-run # preview what would be removed
doctor -- Check Build Prerequisites¶
gen-dsp doctor # all platforms
gen-dsp doctor -p daisy # one platform
gen-dsp doctor --json # machine-readable
Reports, per platform, whether the host has the tools needed to build (compilers, CMake/Make, cross-toolchains, Emscripten, Xcode, git), with install hints. Exits non-zero when a requested platform is not ready (usable as a CI gate).
Global Options¶
| Option | Description |
|---|---|
-V, --version |
Show version |
-h, --help |
Show help |