Plugin Development Resources

Wiki style information about plugin development transferred from deprecated categories

Publishing to Beta Store

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.

2 Likes

Updates

The place where developers get assistance publishing updates to their plugins.

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 updates for your plugin. For a more global overview of all the processes involved in plugin management, see: this post by the MOD-father.


Requirement for publishing a plugin update

  1. The plugin has already been succesfully run through the publishing process

Quick overview

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

  1. Update your plugin’s files in mod-plugin-builder and mod-lv2-data
  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. Request the update in your plugin’s update thread, or create a new topic requesting the update
  5. The “Plugin master keeper” (@jesseverhage) will review your submission, and if needed, help you work out any issues

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.

1 Like

Promotion to Official Store

The place where developers get assistance moving their plugins from the community plugin store, to the official 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 move your plugin from the community plugin store to the official plugin store. For a more global overview of all the processes involved in plugin management, see: this post by the MOD-father.


Requirements for promotion to the official store

  1. The plugin has already been successfully run through the publishing process
  2. The plugin must satisfy all the requirements for publishing
  3. The plugin can be considered stable:
    3.1 The plugin does not cause xruns
    3.2 The plugin has no memory leaks
    3.3 No combination of parameter values can cause stability issues
  4. The plugin must be a worthwhile addition to the official plugin store:
    4.1 Community feedback must be positive
    4.2 The plugin must have a functional and nice looking GUI
    4.3 The plugin must have appropriate and functional metadata
    4.4 The plugin must have a nice and attractive descriptive text (see this guide by @Adriano)
    4.5 If a similar plugin exists, the plugin must be particularly good / efficient

Quick overview

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

  1. Fix all the requirements for promotion and update your plugin’s mod-plugin-builder and mod-lv2-data files
  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 promotion
  5. The “Plugin master keeper” (@jesseverhage) will review your submission, and if needed, help you work out any issues

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.

2 Likes