|
|
|
@@ -51,23 +51,23 @@ CARLA_BACKEND_START_NAMESPACE |
|
|
|
/*! |
|
|
|
* Maximum default number of loadable plugins. |
|
|
|
*/ |
|
|
|
const uint MAX_DEFAULT_PLUGINS = 99; |
|
|
|
static const uint MAX_DEFAULT_PLUGINS = 99; |
|
|
|
|
|
|
|
/*! |
|
|
|
* Maximum number of loadable plugins in rack mode. |
|
|
|
*/ |
|
|
|
const uint MAX_RACK_PLUGINS = 16; |
|
|
|
static const uint MAX_RACK_PLUGINS = 16; |
|
|
|
|
|
|
|
/*! |
|
|
|
* Maximum number of loadable plugins in patchbay mode. |
|
|
|
*/ |
|
|
|
const uint MAX_PATCHBAY_PLUGINS = 255; |
|
|
|
static const uint MAX_PATCHBAY_PLUGINS = 255; |
|
|
|
|
|
|
|
/*! |
|
|
|
* Maximum default number of parameters allowed. |
|
|
|
* @see ENGINE_OPTION_MAX_PARAMETERS |
|
|
|
*/ |
|
|
|
const uint MAX_DEFAULT_PARAMETERS = 200; |
|
|
|
static const uint MAX_DEFAULT_PARAMETERS = 200; |
|
|
|
|
|
|
|
/* ------------------------------------------------------------------------------------------------------------ |
|
|
|
* Engine Driver Device Hints */ |
|
|
|
@@ -83,25 +83,25 @@ const uint MAX_DEFAULT_PARAMETERS = 200; |
|
|
|
/*! |
|
|
|
* Engine driver device has custom control-panel. |
|
|
|
*/ |
|
|
|
const uint ENGINE_DRIVER_DEVICE_HAS_CONTROL_PANEL = 0x1; |
|
|
|
static const uint ENGINE_DRIVER_DEVICE_HAS_CONTROL_PANEL = 0x1; |
|
|
|
|
|
|
|
/*! |
|
|
|
* Engine driver device can use a triple-buffer (3 number of periods instead of the usual 2). |
|
|
|
* @see ENGINE_OPTION_AUDIO_NUM_PERIODS |
|
|
|
*/ |
|
|
|
const uint ENGINE_DRIVER_DEVICE_CAN_TRIPLE_BUFFER = 0x2; |
|
|
|
static const uint ENGINE_DRIVER_DEVICE_CAN_TRIPLE_BUFFER = 0x2; |
|
|
|
|
|
|
|
/*! |
|
|
|
* Engine driver device can change buffer-size on the fly. |
|
|
|
* @see ENGINE_OPTION_AUDIO_BUFFER_SIZE |
|
|
|
*/ |
|
|
|
const uint ENGINE_DRIVER_DEVICE_VARIABLE_BUFFER_SIZE = 0x4; |
|
|
|
static const uint ENGINE_DRIVER_DEVICE_VARIABLE_BUFFER_SIZE = 0x4; |
|
|
|
|
|
|
|
/*! |
|
|
|
* Engine driver device can change sample-rate on the fly. |
|
|
|
* @see ENGINE_OPTION_AUDIO_SAMPLE_RATE |
|
|
|
*/ |
|
|
|
const uint ENGINE_DRIVER_DEVICE_VARIABLE_SAMPLE_RATE = 0x8; |
|
|
|
static const uint ENGINE_DRIVER_DEVICE_VARIABLE_SAMPLE_RATE = 0x8; |
|
|
|
|
|
|
|
/** @} */ |
|
|
|
|
|
|
|
@@ -120,53 +120,53 @@ const uint ENGINE_DRIVER_DEVICE_VARIABLE_SAMPLE_RATE = 0x8; |
|
|
|
* Plugin is a bridge. |
|
|
|
* This hint is required because "bridge" itself is not a plugin type. |
|
|
|
*/ |
|
|
|
const uint PLUGIN_IS_BRIDGE = 0x001; |
|
|
|
static const uint PLUGIN_IS_BRIDGE = 0x001; |
|
|
|
|
|
|
|
/*! |
|
|
|
* Plugin is hard real-time safe. |
|
|
|
*/ |
|
|
|
const uint PLUGIN_IS_RTSAFE = 0x002; |
|
|
|
static const uint PLUGIN_IS_RTSAFE = 0x002; |
|
|
|
|
|
|
|
/*! |
|
|
|
* Plugin is a synth (produces sound). |
|
|
|
*/ |
|
|
|
const uint PLUGIN_IS_SYNTH = 0x004; |
|
|
|
static const uint PLUGIN_IS_SYNTH = 0x004; |
|
|
|
|
|
|
|
/*! |
|
|
|
* Plugin has its own custom UI. |
|
|
|
* @see CarlaPlugin::showCustomUI() and carla_show_custom_ui() |
|
|
|
*/ |
|
|
|
const uint PLUGIN_HAS_CUSTOM_UI = 0x008; |
|
|
|
static const uint PLUGIN_HAS_CUSTOM_UI = 0x008; |
|
|
|
|
|
|
|
/*! |
|
|
|
* Plugin can use internal Dry/Wet control. |
|
|
|
*/ |
|
|
|
const uint PLUGIN_CAN_DRYWET = 0x010; |
|
|
|
static const uint PLUGIN_CAN_DRYWET = 0x010; |
|
|
|
|
|
|
|
/*! |
|
|
|
* Plugin can use internal Volume control. |
|
|
|
*/ |
|
|
|
const uint PLUGIN_CAN_VOLUME = 0x020; |
|
|
|
static const uint PLUGIN_CAN_VOLUME = 0x020; |
|
|
|
|
|
|
|
/*! |
|
|
|
* Plugin can use internal (Stereo) Balance controls. |
|
|
|
*/ |
|
|
|
const uint PLUGIN_CAN_BALANCE = 0x040; |
|
|
|
static const uint PLUGIN_CAN_BALANCE = 0x040; |
|
|
|
|
|
|
|
/*! |
|
|
|
* Plugin can use internal (Mono) Panning control. |
|
|
|
*/ |
|
|
|
const uint PLUGIN_CAN_PANNING = 0x080; |
|
|
|
static const uint PLUGIN_CAN_PANNING = 0x080; |
|
|
|
|
|
|
|
/*! |
|
|
|
* Plugin needs a constant, fixed-size audio buffer. |
|
|
|
*/ |
|
|
|
const uint PLUGIN_NEEDS_FIXED_BUFFERS = 0x100; |
|
|
|
static const uint PLUGIN_NEEDS_FIXED_BUFFERS = 0x100; |
|
|
|
|
|
|
|
/*! |
|
|
|
* Plugin needs all UI events in a single/main thread. |
|
|
|
*/ |
|
|
|
const uint PLUGIN_NEEDS_SINGLE_THREAD = 0x200; |
|
|
|
static const uint PLUGIN_NEEDS_SINGLE_THREAD = 0x200; |
|
|
|
|
|
|
|
/** @} */ |
|
|
|
|
|
|
|
@@ -184,53 +184,53 @@ const uint PLUGIN_NEEDS_SINGLE_THREAD = 0x200; |
|
|
|
/*! |
|
|
|
* Use constant/fixed-size audio buffers. |
|
|
|
*/ |
|
|
|
const uint PLUGIN_OPTION_FIXED_BUFFERS = 0x001; |
|
|
|
static const uint PLUGIN_OPTION_FIXED_BUFFERS = 0x001; |
|
|
|
|
|
|
|
/*! |
|
|
|
* Force mono plugin as stereo. |
|
|
|
*/ |
|
|
|
const uint PLUGIN_OPTION_FORCE_STEREO = 0x002; |
|
|
|
static const uint PLUGIN_OPTION_FORCE_STEREO = 0x002; |
|
|
|
|
|
|
|
/*! |
|
|
|
* Map MIDI programs to plugin programs. |
|
|
|
*/ |
|
|
|
const uint PLUGIN_OPTION_MAP_PROGRAM_CHANGES = 0x004; |
|
|
|
static const uint PLUGIN_OPTION_MAP_PROGRAM_CHANGES = 0x004; |
|
|
|
|
|
|
|
/*! |
|
|
|
* Use chunks to save and restore data instead of parameter values. |
|
|
|
*/ |
|
|
|
const uint PLUGIN_OPTION_USE_CHUNKS = 0x008; |
|
|
|
static const uint PLUGIN_OPTION_USE_CHUNKS = 0x008; |
|
|
|
|
|
|
|
/*! |
|
|
|
* Send MIDI control change events. |
|
|
|
*/ |
|
|
|
const uint PLUGIN_OPTION_SEND_CONTROL_CHANGES = 0x010; |
|
|
|
static const uint PLUGIN_OPTION_SEND_CONTROL_CHANGES = 0x010; |
|
|
|
|
|
|
|
/*! |
|
|
|
* Send MIDI channel pressure events. |
|
|
|
*/ |
|
|
|
const uint PLUGIN_OPTION_SEND_CHANNEL_PRESSURE = 0x020; |
|
|
|
static const uint PLUGIN_OPTION_SEND_CHANNEL_PRESSURE = 0x020; |
|
|
|
|
|
|
|
/*! |
|
|
|
* Send MIDI note after-touch events. |
|
|
|
*/ |
|
|
|
const uint PLUGIN_OPTION_SEND_NOTE_AFTERTOUCH = 0x040; |
|
|
|
static const uint PLUGIN_OPTION_SEND_NOTE_AFTERTOUCH = 0x040; |
|
|
|
|
|
|
|
/*! |
|
|
|
* Send MIDI pitch-bend events. |
|
|
|
*/ |
|
|
|
const uint PLUGIN_OPTION_SEND_PITCHBEND = 0x080; |
|
|
|
static const uint PLUGIN_OPTION_SEND_PITCHBEND = 0x080; |
|
|
|
|
|
|
|
/*! |
|
|
|
* Send MIDI all-sounds/notes-off events, single note-offs otherwise. |
|
|
|
*/ |
|
|
|
const uint PLUGIN_OPTION_SEND_ALL_SOUND_OFF = 0x100; |
|
|
|
static const uint PLUGIN_OPTION_SEND_ALL_SOUND_OFF = 0x100; |
|
|
|
|
|
|
|
/*! |
|
|
|
* Send MIDI bank/program changes. |
|
|
|
* @note: This option conflicts with PLUGIN_OPTION_MAP_PROGRAM_CHANGES and cannot be used at the same time. |
|
|
|
*/ |
|
|
|
const uint PLUGIN_OPTION_SEND_PROGRAM_CHANGES = 0x200; |
|
|
|
static const uint PLUGIN_OPTION_SEND_PROGRAM_CHANGES = 0x200; |
|
|
|
|
|
|
|
/** @} */ |
|
|
|
|
|
|
|
@@ -249,51 +249,51 @@ const uint PLUGIN_OPTION_SEND_PROGRAM_CHANGES = 0x200; |
|
|
|
* Parameter value is boolean. |
|
|
|
* It's always at either minimum or maximum value. |
|
|
|
*/ |
|
|
|
const uint PARAMETER_IS_BOOLEAN = 0x001; |
|
|
|
static const uint PARAMETER_IS_BOOLEAN = 0x001; |
|
|
|
|
|
|
|
/*! |
|
|
|
* Parameter value is integer. |
|
|
|
*/ |
|
|
|
const uint PARAMETER_IS_INTEGER = 0x002; |
|
|
|
static const uint PARAMETER_IS_INTEGER = 0x002; |
|
|
|
|
|
|
|
/*! |
|
|
|
* Parameter value is logarithmic. |
|
|
|
*/ |
|
|
|
const uint PARAMETER_IS_LOGARITHMIC = 0x004; |
|
|
|
static const uint PARAMETER_IS_LOGARITHMIC = 0x004; |
|
|
|
|
|
|
|
/*! |
|
|
|
* Parameter is enabled. |
|
|
|
* It can be viewed, changed and stored. |
|
|
|
*/ |
|
|
|
const uint PARAMETER_IS_ENABLED = 0x010; |
|
|
|
static const uint PARAMETER_IS_ENABLED = 0x010; |
|
|
|
|
|
|
|
/*! |
|
|
|
* Parameter is automable (real-time safe). |
|
|
|
*/ |
|
|
|
const uint PARAMETER_IS_AUTOMABLE = 0x020; |
|
|
|
static const uint PARAMETER_IS_AUTOMABLE = 0x020; |
|
|
|
|
|
|
|
/*! |
|
|
|
* Parameter is read-only. |
|
|
|
* It cannot be changed. |
|
|
|
*/ |
|
|
|
const uint PARAMETER_IS_READ_ONLY = 0x040; |
|
|
|
static const uint PARAMETER_IS_READ_ONLY = 0x040; |
|
|
|
|
|
|
|
/*! |
|
|
|
* Parameter needs sample rate to work. |
|
|
|
* Value and ranges are multiplied by sample rate on usage and divided by sample rate on save. |
|
|
|
*/ |
|
|
|
const uint PARAMETER_USES_SAMPLERATE = 0x100; |
|
|
|
static const uint PARAMETER_USES_SAMPLERATE = 0x100; |
|
|
|
|
|
|
|
/*! |
|
|
|
* Parameter uses scale points to define internal values in a meaningful way. |
|
|
|
*/ |
|
|
|
const uint PARAMETER_USES_SCALEPOINTS = 0x200; |
|
|
|
static const uint PARAMETER_USES_SCALEPOINTS = 0x200; |
|
|
|
|
|
|
|
/*! |
|
|
|
* Parameter uses custom text for displaying its value. |
|
|
|
* @see CarlaPlugin::getParameterText() and carla_get_parameter_text() |
|
|
|
*/ |
|
|
|
const uint PARAMETER_USES_CUSTOM_TEXT = 0x400; |
|
|
|
static const uint PARAMETER_USES_CUSTOM_TEXT = 0x400; |
|
|
|
|
|
|
|
/** @} */ |
|
|
|
|
|
|
|
@@ -311,22 +311,22 @@ const uint PARAMETER_USES_CUSTOM_TEXT = 0x400; |
|
|
|
* Patchbay port is input. |
|
|
|
* When this hint is not set, port is assumed to be output. |
|
|
|
*/ |
|
|
|
const uint PATCHBAY_PORT_IS_INPUT = 0x1; |
|
|
|
static const uint PATCHBAY_PORT_IS_INPUT = 0x1; |
|
|
|
|
|
|
|
/*! |
|
|
|
* Patchbay port is of Audio type. |
|
|
|
*/ |
|
|
|
const uint PATCHBAY_PORT_TYPE_AUDIO = 0x2; |
|
|
|
static const uint PATCHBAY_PORT_TYPE_AUDIO = 0x2; |
|
|
|
|
|
|
|
/*! |
|
|
|
* Patchbay port is of CV type (Control Voltage). |
|
|
|
*/ |
|
|
|
const uint PATCHBAY_PORT_TYPE_CV = 0x4; |
|
|
|
static const uint PATCHBAY_PORT_TYPE_CV = 0x4; |
|
|
|
|
|
|
|
/*! |
|
|
|
* Patchbay port is of MIDI type. |
|
|
|
*/ |
|
|
|
const uint PATCHBAY_PORT_TYPE_MIDI = 0x8; |
|
|
|
static const uint PATCHBAY_PORT_TYPE_MIDI = 0x8; |
|
|
|
|
|
|
|
/** @} */ |
|
|
|
|
|
|
|
@@ -345,17 +345,17 @@ const uint PATCHBAY_PORT_TYPE_MIDI = 0x8; |
|
|
|
* Boolean string type URI. |
|
|
|
* Only "true" and "false" are valid values. |
|
|
|
*/ |
|
|
|
const char* const CUSTOM_DATA_TYPE_BOOLEAN = "http://kxstudio.sf.net/ns/carla/boolean"; |
|
|
|
static const char* const CUSTOM_DATA_TYPE_BOOLEAN = "http://kxstudio.sf.net/ns/carla/boolean"; |
|
|
|
|
|
|
|
/*! |
|
|
|
* Chunk type URI. |
|
|
|
*/ |
|
|
|
const char* const CUSTOM_DATA_TYPE_CHUNK = "http://kxstudio.sf.net/ns/carla/chunk"; |
|
|
|
static const char* const CUSTOM_DATA_TYPE_CHUNK = "http://kxstudio.sf.net/ns/carla/chunk"; |
|
|
|
|
|
|
|
/*! |
|
|
|
* String type URI. |
|
|
|
*/ |
|
|
|
const char* const CUSTOM_DATA_TYPE_STRING = "http://kxstudio.sf.net/ns/carla/string"; |
|
|
|
static const char* const CUSTOM_DATA_TYPE_STRING = "http://kxstudio.sf.net/ns/carla/string"; |
|
|
|
|
|
|
|
/** @} */ |
|
|
|
|
|
|
|
@@ -373,22 +373,22 @@ const char* const CUSTOM_DATA_TYPE_STRING = "http://kxstudio.sf.net/ns/carla/str |
|
|
|
/*! |
|
|
|
* Plugin options key. |
|
|
|
*/ |
|
|
|
const char* const CUSTOM_DATA_KEY_PLUGIN_OPTIONS = "CarlaPluginOptions"; |
|
|
|
static const char* const CUSTOM_DATA_KEY_PLUGIN_OPTIONS = "CarlaPluginOptions"; |
|
|
|
|
|
|
|
/*! |
|
|
|
* UI position key. |
|
|
|
*/ |
|
|
|
const char* const CUSTOM_DATA_KEY_UI_POSITION = "CarlaUiPosition"; |
|
|
|
static const char* const CUSTOM_DATA_KEY_UI_POSITION = "CarlaUiPosition"; |
|
|
|
|
|
|
|
/*! |
|
|
|
* UI size key. |
|
|
|
*/ |
|
|
|
const char* const CUSTOM_DATA_KEY_UI_SIZE = "CarlaUiSize"; |
|
|
|
static const char* const CUSTOM_DATA_KEY_UI_SIZE = "CarlaUiSize"; |
|
|
|
|
|
|
|
/*! |
|
|
|
* UI visible key. |
|
|
|
*/ |
|
|
|
const char* const CUSTOM_DATA_KEY_UI_VISIBLE = "CarlaUiVisible"; |
|
|
|
static const char* const CUSTOM_DATA_KEY_UI_VISIBLE = "CarlaUiVisible"; |
|
|
|
|
|
|
|
/** @} */ |
|
|
|
|
|
|
|
|