I’ve started a new project to capture my Rack development notes. Here I share various topics on the development of VCV Rack modules, from my practice. I don’t claim that my practices are ideal or “best” practice, but it’s stuff I’ve found to work for me and my plugins. At the moment, much of this is derived from previous posts on this forum, edited to stand alone.
Initial notes:
Note
Description
Use GenericBlank
Use the #d Generic Blank template repo to start a new plugin.
Project structure
File layout of Rack plugin
Build Rack
A.K.A. No SDK.
Panels
My Panel process, plus tips for using Inkscape.
Jitter periodic updates
Mitigate CPU spikes by adding jitter to periodic (control-rate) code.
As you can see from the full TOC, I have mapped out a few more topics that I have yet to write. If you have requests for a new topic, let me know. I’ll probably never write about DSP (not really qualified). My work so far has been mainly MIDI and UI.
For fast iteration on panel SVGs, implement hot-reloading.
This note gives step-by-step instructions and all the code needed to implement panel SVG reloading at the touch of a key or the right click menu. Now you can see updates to your panel graphics as Rack is running. No more build/restart cycle! Instant gratification! (Even if not automatic.)