I wrote a couple of python scripts for manipulating .vcv patch files. The idea is that a patchlet is a one-row patch that does something specific. A collection of patchlets can form a toolbox for quickly creating new patches.
a chain of modules that creates a specific effect (similar to an audio effect chain in Ableton)
a multi-oscillator synth voice that you might want to duplicate multiple times in a patch
(assuming you can’t use polyphony)
a whole percussion section
a complex multi-module melody generator
I’ve found this approach useful for my own Rack workflow. Hopefully someone else may also find this helpful.
extractPatchlets takes an existing patch and extracts patchlets, one for each row in the original patch. Cables between modules on the same row are preserved.
combinePatchlets takes a set of patchlets and combines them into one patch.
Executable binaries are available for MacOS.
There are plans to make improvements to this project: Windows binaries, a GUI, a script for appending patchlets, improvements in code efficiency.
Yeah, the description it not up-to-date yet, here is a bit more text. The module is also not yet ready for release.
The same convention is used for loading and saving of modules as described for enabling and disabling.
Terrific, I’ve really missed the ability to load patches into the current one - i.é., I have a few combinations that I always use for a given purpose, and it’s tedious doing it manually every time, as opposed to loading in these “snippets”. Thank you!
We are not working together. I’m not a developer and Ben is clearly a superb one (his v1 modules are outstanding). So if he can successfully add a load/save option to STRIP, I think that will be a much cooler implementation than something outside of Rack, like python scripts or executables.
I’ll still release an appendPatchlets python script and executables for Mac and Windows this week, but it may not be worthwhile to put much more work into my implementation, given Ben’s work-in-progress.
For me, the important thing is the idea of Patchlets, or specialized collections of connected modules that can be loaded and saved into other patches. I’ve always felt that having an optional middle layer between a patches and individual modules would be a very powerful tool for Rack workflows
It will be amazing being able to save just a few modules and add them later to a patch, and by that create sorts of “presets” for later use. I will be more than happy to help out, if there is anything I can do let me know