Hi All, Have just managed to navigate through the early stages of building a new plugin. I need to check if the plugin.dylib is in the right place, I think, so I can go to the next stage. Any help would be really appreciated. Thanks.
Assuming your build environment is on current versions, run make install
should do it.
Hi Paul - Thanks for the message. I get an error message when I run ‘make install’: ➜ MyPlugin3 git:(master) ✗ make install parse error: Unmatched ‘}’ at line 16, column 1 parse error: Unmatched ‘}’ at line 16, column 1 /Users/brianwatterson/Rack/plugin.mk:9: *** SLUG could not be found in manifest. Stop. I have looked at the code but can’t find the ‘unmatched }’ and the slug seems to be present in the manifest. I’ve tried a couple of times to make a plugin (Blank) but always seem to hit a roadblock at this point.
It appears you have an error in your manifest that makes it invalid JSON. If you share it, I can probably point it out. (paste it into a reply, with a line consisting of three back ticks (```) before and after).
If you want a working blank starting point, you can try Paul-Dempsey/GenericBlank: Template for a VCV Rack Blank module, rather than the Rack tutorial, which tends to lead you to a place that’s hard to work out of for many newcomers.
Also, won’t a decent editor show a syntax error on bad JSON?
It will.
haha, or course if you define “decent editor” as something that shows JSON syntax errors, then it’s a tautology! Seriously, though, for the n00bs: most everyone seems to use Visual Studio Code for making VCV modules, although there are a significant number using the usual suspects (Sublime, VIM, etc…)
Hi Paul, Thanks for the reply - it’s very good of you to help. Here is the plugin.json:
"slug": "MyPlugin3",
"name": "MyPlugin3",
"version": "1.0.0",
"license": "CCO-1.0",
"brand": "MyPlugin3",
"author": "BW-DEV",
"authorEmail": "",
"authorUrl": "",
"pluginUrl": "",
"manualUrl": "",
"sourceUrl": "",
"donateUrl": "",
"changelogUrl": "",
"modules":
} ```
There is no open brace (cut and paste error?) and there are no modules.
Modules is an array, and probably should have one or more entries:
"modules":
[
{
"slug": "sqh-harmony1",
"name": "Harmony",
"description": "Harmony Generator",
"manualUrl": "https://github.com/squinkylabs/SqHarmony/blob/main/docs/harmony.md",
"tags": ["Utility"]
}
]
That’s an edited except of mine. Or go look in the manifest for the fundamental (of whatever they are called now) modules.
Here’s the error I get when I put your “JSON” into VSC:
Hi Squinky - The opening brace is there - it just refused to appear on the message. Of course it worked this time!
{ “slug”: “MyPlugin3”, “name”: “MyPlugin3”, “version”: “1.0.0”, “license”: “CCO-1.0”, “brand”: “MyPlugin3”, “author”: “BW-DEV”, “authorEmail”: “”, “authorUrl”: “”, “pluginUrl”: “”, “manualUrl”: “”, “sourceUrl”: “”, “donateUrl”: “”, “changelogUrl”: “”, “modules”: }
You’re missing the array of modules. Every plugin has at least one module in it.
To see a complete working, almost minimal example see: GenericBlank/plugin.json at main · Paul-Dempsey/GenericBlank (github.com)
Well, I don’t know why they are missing - I followed the helper.py all the way through. My Terminal gave all the right responses:
➜ ~ git:(master) ✗ export RACK_DIR=/Users/brianwatterson/Rack
➜ ~ git:(master) ✗ $RACK_DIR/helper.py createplugin MyPlugin3
Plugin name [MyPlugin3]:
Version [1.0.0]:
License (if open-source, use license identifier from SPDX License List | Software Package Data Exchange (SPDX)) [proprietary]: CCO-1.0
Brand (prefix for all module names) [MyPlugin3]:
Author : BW-DEV
Author email (optional) :
Author website URL (optional) :
Plugin website URL (optional) :
Manual website URL (optional) :
Source code URL (optional) :
Donate URL (optional) :
Manifest written to MyPlugin3/plugin.json
Created template plugin in MyPlugin3/
yes, that’s what I said earlier.
Now it will be a race for who is the first to say “don’t user helper.py. It’s a horrible crutch that does more harm than good.”
don’t user helper.py. It’s a horrible crutch that does more harm than good.
oh, crap. Squinky beat me to it.
LOL -haha. I see what you did there!
O.K. Thanks both. I’ll try your very generously offered GenericBlank Template Paul - Thank you. I do have an account with Github but I have found it a quite confusing place to get around in. Two questions, if I may: Where would I find my manifest file and r.e. Github - Which bit do I click on to access your module code, please? Many thanks.