About the Plugin: Publishing category


#1

The place where developers get assistance publishing their plugins to the community plugin store.

This post will always be pinned to the top of this subcategory. It presents you with the basic information you need to know in order to publish your plugin to the community plugin store. For a more global overview of all the processes involved in plugin management, see: this post by the MOD-father.

If you are new to plugin development for the MOD Duo, have a look at our wiki page, it contains lots of useful information.


Requirements for publishing to the community store

  1. The plugin must be reasonably stable
  2. The plugin successfully builds for the MOD Duo
  3. The plugin can be loaded onto the pedalboard without breaking the system
  4. The plugin must produce a sensible output
    4.1 The plugin must generate or alter MIDI messages
    4.2 The plugin must generate or alter sound in some way
    4.3 If requirements 4.1 and 4.2 don’t apply to your particular plugin, it must provide the user with a unique utility
  5. The plugin must add value to the community store
  6. If you intend on eventually getting your plugin into the official store, we recommend that you take a look at the requirements for doing so

Quick overview

In short, publishing your plugin is a 5-step process:

  1. Prepare your plugin to be “MOD-ecosystem-ready”
  2. Submit a pull request for mod-plugin-builder
  3. Submit a pull request for mod-lv2-data (if applicable to your specific plugin)
  4. Make a forum post, requesting the publish
  5. The “Plugin master keeper” (@jesseverhage) will review your submission, and if needed, help you work out any issues

Now, what makes a plugin “MOD-ecosystem-ready”?

  1. The plugin fulfills the requirements mentioned above
  2. The plugin files are organized according to the rules below:

mod-lv2-data
You can choose to keep the lv2 data of your plugin inside the mod-lv2-data repository if you wish. In this case, please follow the steps below. Keeping the lv2 data inside your own repository is also possible.

  1. Create a folder containing the lv2 data of your plugin at: mod-lv2-data/plugins-fixed/yourPluginName.lv2
  2. Place your manifest.ttl, default-preset.ttl and yourPluginName.ttl files inside this folder
  3. If a GUI was created place your modgui.ttl inside the folder too. Put all the images, html, css and javascript files inside mod-lv2-data/plugins-fixed/yourPluginName.lv2/modgui.

mod-plugin-builder

  1. Create a folder with the name of your plugin at the following location: mod-plugin-builder/plugins/package/yourPluginName
  2. Place your yourPluginName.mk file in this folder
  3. If your lv2 data is kept in the mod-lv2-data repository: Place a symlink (yourPluginName.lv2) in this folder, linking to the lv2 data of your plugin (…/…/…/lv2-data/plugins-fixed/yourPluginName.lv2/)

We highly recommend you to check out the plugins currently in the mod-plugin-builder and mod-lv2-data github repositories, to see an example of MOD-ready plugins.

A great example of a plugin where the lv2-data is kept in the mod-lv2-data repository is bolliedelay by the awesome @Bollie.
See his mod-plugin-builder files and mod-lv2-data files.

Take a look at the Guitarix plugins by @brummer for examples of plugins that don’t have the lv2-data in the mod-lv2-data repository. See his mod-plugin-builder files for the GxSuperFuzz plugin.


GxKnightFuzz
Plugin update for Loopor