Metaplugins

FFRend supports plugin authoring, which means you can export a FFRend project as a Freeframe plugin. The exported plugin is called a metaplugin, because it uses other plugins as components. A metaplugin can be used in any Freeframe-compatible host application, and behaves as if you were running the equivalent project in FFRend.

A metaplugin preserves all project attributes, including parameter automations and signal routing. The only significant exception is MIDI assignments; these are ignored, to avoid interfering with the host's MIDI implementation.

A metaplugin can expose parameters to the host; such parameters are called metaparameters. A metaparameter can directly control a parameter in a component plugin, or it can control other targets, such as a modulator property, or a plugin's bypass switch.

A metaplugin normally contains links to its component plugins, but it's also possible to embed the components within the metaplugin's DLL. Embedding makes it easier to distribute the metaplugin, by avoiding dependence on external files. Since embedding could potentially encourage piracy, only copyleft plugins can be embedded.

It's possible to import a metaplugin back into FFRend as a project. This allows you to edit and re-export a metaplugin, even if you don't have the project file from which the metaplugin was originally created.

Metaplugins can be nested, i.e. a metaplugin can use other metaplugins. The depth of nesting is unlimited.