.YML <> .VCV file interchange

As the capabilities of the 4ms Meta increase/accelerate might be worth having an easy way one click option to allow users to interchange between .yml and .vcv files so that things can be tidied/expanded in VCV rack. I can see there are ways to unpack .vcv files using zstd (involving brew installation on the Mac) so it ought be interchangeable but I’m not keen on getting brew on my Mac right now.

Also there are times when using a text editor on a .yml file really helps set multiple precise parameters for the Meta but then I find I want to tweak further in VCV rack.

zstd is support by tar on macOs, no need for homebrew

tar -xf ./mypatch.vcv --zstd 

p.s.: homebrew is worth installing, and if you don’t put it in your path, then it will have no side effects. I source a script when I need to use it (which as a dev is a lot ;))


as for converting from MM yml → vcv json.
the MM yml file doesn’t contain all the information used in a vcv patch file, e.g. lacks position info.
you could cobble something together, that just meant you didn’t have to re-enter the patch.
but it’d be a once and done process..

ie. you’d convert to vcv, then edit it vcv to ‘tidy’ it up.

btw: tar becomes pretty irrelevant at that point, as if you are going to do this conversion, you’re going to need code, so use something like python/c++ etc, which all have libs for zstd anyway.

this has been discussed before :

Thanks for the pointers - will explore further. Disk space on this machine a bit tight so was trying to avoid installing brew…

homebrew itself is pretty small,
but then it all comes down to what you install using it.
indeed, my install is about nearly 5gb, but I do have various version of python/cross compilers/libs and other stuff.

all that said, as above, you don’t need for this task.
and no point installing unless you do a lot of stuff on the command line.
(or at least thats my main use for it, I know some others use if as a more general install tool)


as for implementation…
for testing, vcv can read a patch in non compressed form. so for this conversion you wont need to worry about it just create the patch.json in a directory, and load that
unfortunately, they changed it so this only now works from the command line

/Applications/VCV\ Rack\ 2\ Pro.app/Contents/MacOS/Rack patch.json

the normal file open menu does not work (anymore !)
so. you probably use something like zstandard lib for python, day to day use.

btw: if you just want to look at what an uncompressed patch looks like in vcv, you can also just look in the autosave directory of vcv, this has your current patch in uncompressed format.

anyways, all the tools/info are already available, ‘just’ a matter of knocking something up.
in fairness, I think a simple hack at this (in something like python) would be pretty quick to do, but not really sure of its usefulness (to me)

the zstd lib is not supported in the current OS or at least /usr/bin/tar can’t find it. And homebrew’s gtar also does not support it and can’t find it even after brew install zlib

I too am interested in an easy script to run to go from a MM .yml to .vcv

works for me on macOS 15.5 … using /usr/bin/tar

man tar also shows its available…
that said, in checking this I noticed it says you don’t need —zstd unless you are creating an archive (though it doesn’t mind having it) - since by default tar will detect it and decompress automatically.

I do have zstd installed via homebrew. and it is on my path, not sure if this is necessary or not, as above it seems part of macOS these days - that said, I have homebrew installed and setup on all my Macs.