I was looking at this section:
Notice that you must give the path to the plugin.json
file that the Rack-SDK requires. This file is read by the MetaModule in order to get the brand name and slug.
- Create a
plugin-mm.json
file. Read more about this file here. You can just use a blank file to get started.
touch plugin-mm.json
So that error is saying it canât copy the plugin.json file into the temporary directory itâs using to create the plugin .mmplugin file.
When it says âCreating plugin at âŚâ that means itâs attempting to create the plugin (I see how that wording is confusing and sounds like it already created the plugin). But then it hits an error and wonât actually make the plugin file.
Whatâs failing is that it canât copy the plugin.json file from ââŚ/Rack/plugins/JW-Modules/â to the temporary directory which is in â/Users/jeremy/vcv/JWMeta/build/JWMetaâ.
My first guess is the path to the plugin.json is wrong. I would first try specifying a full path instead of a relative path. You can use the cmake variable ${CMAKE_CURRENT_LIST_DIR}
as a starter. Something like:
create_plugin(
SOURCE_LIB JWMeta
PLUGIN_NAME JW-Modules #see my comments below
PLUGIN_JSON ${CMAKE_CURRENT_LIST_DIR}/../Rack/plugins/JW-Modules/plugin.json
Above I filled in the path for PLUGIN_JSON with a full path, but Iâm just guessing what it should be. The variable CMAKE_CURRENT_LIST_DIR will changed to the full path to the CMakeLists.txt file, so make the path relative to that.
Less likely (but possibleâI just helped someone else with this exact issue) is that the file permissions for either the source or dest got messed up (e.g. accidentally ran sudo to build something)
Also, I see the use of JWMeta
. Thatâs OK to use as the cmake library name, but in the PLUGIN_NAME
field of create_plugin()
you need to specify the VCV Rack brand slug for your plugin. Iâm guessing itâs not really JWMeta
? If not, then change it to what VCV uses for the brand slug. You can change the display name in the plugin-mm.json file, but you have to have the slug match what VCV uses or else when people create patches in VCV with your modules, the MetaModule wonât know to look in your plugin for those modules.
got it thanks! now it creates the plugin at /Users/jeremy/vcv/metamodule-plugins/JW-Modules.mmplugin
What are my next steps? I know some of my modules will either have to be modified or excluded. Like for example clicking on NoteSeq in a drawing to add a cell wonât work but clicking randomize should work. But how do I test things out? My actual meta module hardware should be coming today.
Looks like you are making progress!!!
super awesome really excited to try these modules out!!
Awesome! Looks like you figured out external plugins in the simulator, too. Not all things work there, itâs primarily a UI simulator (but usually audio/CV signals work too).
Next steps⌠Once your hardware is up and running, then running the modules on it will give you a sense of the CPU loads and if you need to do any optimizations for the 32-bit architecture. (keep in mind there are two cores, and the % number shown is the % load of a single core).
Also just going through the modules, testing them out to make sure they behave the same on VCV as on MM (or at least document any differences). You can do some of that on the simulator by putting .yml files in the patches/ dir.
Looking nice!