VCV modules which support saving samples

An additional nuance to this requirement: if a file is referenced external to the .vcv file, it can be changed or deleted later. One person may consider being able to change the external file and have those changes visible in the patch as an advantage; another may consider it an unwanted side-effect.

I personally would prefer behavior that makes a safe copy of any external data into the patch file so that it is a frozen snapshot in time. Only if I explicitly import a new version of external data into the patch should it update the behavior of the patch. This way, I don’t end up with patches and random file dependencies scattered around my hard drive. That gets hard to manage over time unless you have a meticulous system to know what audio files are used by what patches, which are safe to edit/delete, and which must be left as-is.

So the second requirement…

… ends up satisfying my preferences for simplifying state management of patches on a single machine also.

2 Likes

Would you do that if the sample in question was many gigabytes? That way each saved variation of the patch would be many gigabytes.

Yes, there are practical engineering limits and tradeoffs. In the case of multi-gigabyte files, storing inside the patch file would be unworkable.

1 Like

Many samplers (and this is the strategy we are pursuing with short circuit this year) store the path and md5sum or some such. Then the obvious implementation for missing sample can also be used for changed.

Clap has an extension (clap/include/clap/ext/draft/resource-directory.h at main · free-audio/clap · GitHub) letting plugins participate in daw collect which is kinda like the rack patch store thing

The reason this is a hard problem is that the solution is super context dependent even with the same tool depending on your workflow

3 Likes

Since VCV files are now binary files, I think it’s more favorable and more ideal to store data in them. I believe version 1 like some VST presets it was xml/text based, so external data made sense.

Thanks for the tag. I’ll keep an eye on this discussion, but I have a ton going on at the moment, including a new project that’s taking up most of my time. It’s unlikely that I’ll be updating my Voxglitch samplers anytime soon. I wonder if storing a URL to the samples online might be worth considering. When the patch loads, it would download the resources locally and use the local copies whenever possible.

1 Like

Let’s come back to the topic:

Discovered Fundamental WT VCO also saves wavetables in patches.

That’s right, but not in presets.

1 Like

I inserted the “Save sample in Patch” function in the context menu of my player/sampler modules.
When vcv is launched the module tries to load the sample from the reference, and if it is not found it is loaded from the patchfile, without losing the link to the original file.
I also noticed that the onSave() function is only executed when vcv closes or when a manual save occurs, and never on autoSave, this is very good when working with large sample sizes.

2 Likes

Thanks @sickozell for all your work on this. It’s great to have this feature for using patches across machines and having full backups.

1 Like