Repository navigation
Building
You need the VCV Rack 2 SDK. Point RACK_DIR at it and run make:
RACK_DIR=../Rack-SDK make
That produces plugin.dll, plugin.so or plugin.dylib depending on the
platform. make install copies it into your Rack plugins directory.
Neither runs as part of the normal build. Both are there because the things they catch cannot be caught by reading the code.
tools/panelcheck.sh
Parses every panel with Rack's own nanosvg, which is the only parser whose opinion matters, and checks:
- the page size is 128.5 mm tall and a whole number of HP wide
- nothing overflows the panel edge
- the hidden
componentslayer is not being drawn - no
<text>elements survive, since nanosvg ignores them and the labels would simply be missing
Rendering a panel with Inkscape proves nothing about how Rack will draw it. Inkscape has a full SVG implementation and nanosvg does not.
tools/dspcheck.sh
Builds a small program that drives every module's process() offline and
asserts the output is audible, finite, bounded, stereo, and correct across
sixteen polyphonic channels and three sample rates.
It links against libRack.dll, so it needs an installed copy of Rack rather
than only the SDK.
The sixteen channel case is the one that earns its keep. Polyphony bugs are quiet: a module that shares one delay line across all channels still produces sound, and still sounds like a flanger, and is still wrong.
python scripts/genpanels.py
Needs fonttools and DejaVu Sans. See Panels.
Modules
Reference