Add your plugin

How to get a plugin into the catalog. It takes one small file, once; after that new releases appear on their own.

The catalog is a list of plugins you point it at. It reads versions, links and checksums from your GitHub releases, so you never edit it for a new version.

What can be listed

Does your plugin need the user's own firmware to build, so that a built zip would contain someone else's code or ROMs? Then you can't publish a release. See Plugins that can't ship a zip below.

1. Publish a release the catalog can read

Build your zip with a repo, a license and, if you like, a catalog id, then check it locally:

tools/release.py ... --repo you/your-plugin-repo --license MIT --id your-plugin -o dist
tools/catalog_check.py dist/Your-Plugin-1.0.0-mpc-armv7.zip --catalog

Attach the zip to a GitHub release on your repo. The release workflow page has the whole path.

2. Add one file

Open a pull request to mpc-vst-plugins adding catalog/plugins/<id>.json, where <id> is the id in your zip's manifest:

{ "id": "your-plugin", "name": "Your Plugin", "author": "Your name",
  "repo": "you/your-plugin-repo", "kind": "instrument", "license": "MIT",
  "summary": "One line that says what it sounds like or does.",
  "style": "sampler", "tags": ["rompler"] }
FieldNotes
idLowercase letters, digits and hyphens. The file name must match. Never changes.
kindinstrument or effect
licenseAn SPDX id such as MIT or GPL-3.0-only
source_availabletrue if the license is not on the open-source list but the source is public. Shows the Restricted use badge.
style, tagsOptional lowercase words for the Style filter and search: synth, sampler, drum-machine, reverb, delay, utility
screenshot, homepageOptional links
asset_patternOptional. Which release file to use. The default is *-mpc-armv7.zip.

Do not put versions or checksums in this file. The catalog reads them from your release.

3. What happens next

Plugins that can't ship a zip

Some plugins compile the user's own firmware into the plugin. Their build contains firmware-derived data, so it must never be published or shared. Those are listed as Build it yourself: the catalog shows what you need, the exact build command and a warning, and offers no download.

Your repo needs an open-source license and a root LICENSE file, a one-command build script and a vX.Y.Z git tag that contains it. Never put a *-mpc-armv7.zip on a GitHub release; the nightly build flags it. The pull request adds the same registry file with "distribution": "build-yourself" and three extra fields: requires_user_files, build and, for a build that installs several plugins, components. The catalog README has a complete example.

Keeping it working

Rules of the road

This is community software that runs as root on people's devices. Say what the plugin does, keep the source public, and fix release problems quickly. Maintainers may remove a plugin that is unsafe or misleading.