DISTRHO Plugin Framework
|
C Macros that describe your plugin. (defined in the "DistrhoPluginInfo.h" file) More...
Macros | |
#define | DISTRHO_PLUGIN_NAME "Plugin Name" |
#define | DISTRHO_PLUGIN_NUM_INPUTS 2 |
#define | DISTRHO_PLUGIN_NUM_OUTPUTS 2 |
#define | DISTRHO_PLUGIN_URI "urn:distrho:name" |
#define | DISTRHO_PLUGIN_HAS_UI 1 |
#define | DISTRHO_PLUGIN_IS_RT_SAFE 1 |
#define | DISTRHO_PLUGIN_IS_SYNTH 1 |
#define | DISTRHO_PLUGIN_WANT_DIRECT_ACCESS 0 |
#define | DISTRHO_PLUGIN_WANT_LATENCY 1 |
#define | DISTRHO_PLUGIN_WANT_MIDI_INPUT 1 |
#define | DISTRHO_PLUGIN_WANT_MIDI_OUTPUT 1 |
#define | DISTRHO_PLUGIN_WANT_PARAMETER_VALUE_CHANGE_REQUEST 1 |
#define | DISTRHO_PLUGIN_WANT_PROGRAMS 1 |
#define | DISTRHO_PLUGIN_WANT_STATE 1 |
#define | DISTRHO_PLUGIN_WANT_FULL_STATE 1 |
#define | DISTRHO_PLUGIN_WANT_TIMEPOS 1 |
#define | DISTRHO_UI_USE_CUSTOM 1 |
#define | DISTRHO_UI_CUSTOM_INCLUDE_PATH |
#define | DISTRHO_UI_CUSTOM_WIDGET_TYPE |
#define | DISTRHO_UI_USE_NANOVG 1 |
#define | DISTRHO_UI_USER_RESIZABLE 1 |
#define | DISTRHO_UI_URI DISTRHO_PLUGIN_URI "#UI" |
C Macros that describe your plugin. (defined in the "DistrhoPluginInfo.h" file)
With these macros you can tell the host what features your plugin requires.
Depending on which macros you enable, new functions will be available to call and/or override.
All values are either integer or strings.
For boolean-like values 1 means 'on' and 0 means 'off'.
The values defined in this group are for documentation purposes only.
All macros are disabled by default.
Only 4 macros are required, they are:
#define DISTRHO_PLUGIN_NAME "Plugin Name" |
The plugin name.
This is used to identify your plugin before a Plugin instance can be created.
#define DISTRHO_PLUGIN_NUM_INPUTS 2 |
Number of audio inputs the plugin has.
#define DISTRHO_PLUGIN_NUM_OUTPUTS 2 |
Number of audio outputs the plugin has.
#define DISTRHO_PLUGIN_URI "urn:distrho:name" |
The plugin URI when exporting in LV2 format.
#define DISTRHO_PLUGIN_HAS_UI 1 |
Whether the plugin has a custom UI.
#define DISTRHO_PLUGIN_IS_RT_SAFE 1 |
Whether the plugin processing is realtime-safe.
TODO - list rtsafe requirements
#define DISTRHO_PLUGIN_IS_SYNTH 1 |
Whether the plugin is a synth.
DISTRHO_PLUGIN_WANT_MIDI_INPUT is automatically enabled when this is too.
#define DISTRHO_PLUGIN_WANT_DIRECT_ACCESS 0 |
Enable direct access between the UI and plugin code.
#define DISTRHO_PLUGIN_WANT_LATENCY 1 |
Whether the plugin introduces latency during audio or midi processing.
#define DISTRHO_PLUGIN_WANT_MIDI_INPUT 1 |
Whether the plugin wants MIDI input.
This is automatically enabled if DISTRHO_PLUGIN_IS_SYNTH is true.
#define DISTRHO_PLUGIN_WANT_MIDI_OUTPUT 1 |
Whether the plugin wants MIDI output.
#define DISTRHO_PLUGIN_WANT_PARAMETER_VALUE_CHANGE_REQUEST 1 |
Whether the plugin wants to change its own parameter inputs.
Not all hosts or plugin formats support this, so Plugin::canRequestParameterValueChanges() can be used to query support at runtime.
#define DISTRHO_PLUGIN_WANT_PROGRAMS 1 |
Whether the plugin provides its own internal programs.
#define DISTRHO_PLUGIN_WANT_STATE 1 |
Whether the plugin uses internal non-parameter data.
#define DISTRHO_PLUGIN_WANT_FULL_STATE 1 |
Whether the plugin implements the full state API. When this macro is enabled, the plugin must implement a new getState(const char* key) function, which the host calls when saving its session/project. This is useful for plugins that have custom internal values not exposed to the host as key-value state pairs or parameters. Most simple effects and synths will not need this.
#define DISTRHO_PLUGIN_WANT_TIMEPOS 1 |
Whether the plugin wants time position information from the host.
#define DISTRHO_UI_USE_CUSTOM 1 |
Whether the UI uses a custom toolkit implementation based on OpenGL.
When enabled, the macros DISTRHO_UI_CUSTOM_INCLUDE_PATH and DISTRHO_UI_CUSTOM_WIDGET_TYPE are required.
#define DISTRHO_UI_CUSTOM_INCLUDE_PATH |
The include path to the header file used by the custom toolkit implementation. This path must be relative to dpf/distrho/DistrhoUI.hpp
#define DISTRHO_UI_CUSTOM_WIDGET_TYPE |
The top-level-widget typedef to use for the custom toolkit. This widget class MUST be a subclass of DGL TopLevelWindow class. It is recommended that you keep this widget class inside the DGL namespace, and define widget type as e.g. DGL_NAMESPACE::MyCustomTopLevelWidget.
#define DISTRHO_UI_USE_NANOVG 1 |
#define DISTRHO_UI_USER_RESIZABLE 1 |
#define DISTRHO_UI_URI DISTRHO_PLUGIN_URI "#UI" |
The UI URI when exporting in LV2 format.
By default this is set to DISTRHO_PLUGIN_URI with "#UI" as suffix.