|
LMMS
|
Topics | |
| Engine Driver Device Hints | |
| Plugin Hints | |
| Plugin Options | |
| Audio Port Hints | |
| Parameter Hints | |
| Mapped Parameter Flags | |
| Patchbay Port Hints | |
| Patchbay Port Group Hints | |
| Custom Data Types | |
| Custom Data Keys | |
Classes | |
| struct | ParameterData |
| struct | _ParameterRanges |
| struct | MidiProgramData |
| struct | _CustomData |
| struct | EngineDriverDeviceInfo |
Typedefs | |
| typedef void(* | EngineCallbackFunc) (void *ptr, EngineCallbackOpcode action, uint pluginId, int value1, int value2, int value3, float valuef, const char *valueStr) |
| typedef const char *(* | FileCallbackFunc) (void *ptr, FileCallbackOpcode action, bool isDir, const char *title, const char *filter) |
| typedef struct _ParameterRanges | ParameterRanges |
| typedef struct _CustomData | CustomData |
Variables | |
| static constexpr const uint | MAX_DEFAULT_PLUGINS = 512 |
| static constexpr const uint | MAX_RACK_PLUGINS = 64 |
| static constexpr const uint | MAX_PATCHBAY_PLUGINS = 255 |
| static constexpr const uint | MAX_DEFAULT_PARAMETERS = 200 |
| static constexpr const uint | MAIN_CARLA_PLUGIN_ID = 0xFFFF |
The Carla Backend API.
These are the base definitions for everything in the Carla backend code.
|
noexcept |
Custom data, used for saving key:value 'dictionaries'.
| typedef void(* EngineCallbackFunc) (void *ptr, EngineCallbackOpcode action, uint pluginId, int value1, int value2, int value3, float valuef, const char *valueStr) |
Engine callback function. Front-ends must never block indefinitely during a callback.
| typedef const char *(* FileCallbackFunc) (void *ptr, FileCallbackOpcode action, bool isDir, const char *title, const char *filter) |
File callback function.
| typedef struct _ParameterRanges ParameterRanges |
Parameter ranges.
| enum BinaryType |
| enum EngineCallbackOpcode |
Engine callback opcodes. Front-ends must never block indefinitely during a callback.
| Enumerator | |
|---|---|
| ENGINE_CALLBACK_DEBUG | Debug. This opcode is undefined and used only for testing purposes. |
| ENGINE_CALLBACK_PLUGIN_ADDED | A plugin has been added. pluginId Plugin Id value1 Plugin type valueStr Plugin name |
| ENGINE_CALLBACK_PLUGIN_REMOVED | A plugin has been removed. pluginId Plugin Id |
| ENGINE_CALLBACK_PLUGIN_RENAMED | A plugin has been renamed. pluginId Plugin Id valueStr New plugin name |
| ENGINE_CALLBACK_PLUGIN_UNAVAILABLE | A plugin has become unavailable. pluginId Plugin Id valueStr Related error string |
| ENGINE_CALLBACK_PARAMETER_VALUE_CHANGED | A parameter value has changed. pluginId Plugin Id value1 Parameter index valuef New parameter value |
| ENGINE_CALLBACK_PARAMETER_DEFAULT_CHANGED | A parameter default has changed. pluginId Plugin Id value1 Parameter index valuef New default value |
| ENGINE_CALLBACK_PARAMETER_MAPPED_CONTROL_INDEX_CHANGED | A parameter's mapped control index has changed. pluginId Plugin Id value1 Parameter index value2 New control index |
| ENGINE_CALLBACK_PARAMETER_MIDI_CHANNEL_CHANGED | A parameter's MIDI channel has changed. pluginId Plugin Id value1 Parameter index value2 New MIDI channel |
| ENGINE_CALLBACK_OPTION_CHANGED | A plugin option has changed. pluginId Plugin Id value1 Option value2 New on/off state (1 for on, 0 for off)
|
| ENGINE_CALLBACK_PROGRAM_CHANGED | The current program of a plugin has changed. pluginId Plugin Id value1 New program index |
| ENGINE_CALLBACK_MIDI_PROGRAM_CHANGED | The current MIDI program of a plugin has changed. pluginId Plugin Id value1 New MIDI program index |
| ENGINE_CALLBACK_UI_STATE_CHANGED | A plugin's custom UI state has changed. pluginId Plugin Id value1 New state, as follows: 0: UI is now hidden 1: UI is now visible -1: UI has crashed and should not be shown again |
| ENGINE_CALLBACK_NOTE_ON | A note has been pressed. pluginId Plugin Id value1 Channel value2 Note value3 Velocity |
| ENGINE_CALLBACK_NOTE_OFF | A note has been released. pluginId Plugin Id value1 Channel value2 Note |
| ENGINE_CALLBACK_UPDATE | A plugin needs update. pluginId Plugin Id |
| ENGINE_CALLBACK_RELOAD_INFO | A plugin's data/information has changed. pluginId Plugin Id |
| ENGINE_CALLBACK_RELOAD_PARAMETERS | A plugin's parameters have changed. pluginId Plugin Id |
| ENGINE_CALLBACK_RELOAD_PROGRAMS | A plugin's programs have changed. pluginId Plugin Id |
| ENGINE_CALLBACK_RELOAD_ALL | A plugin state has changed. pluginId Plugin Id |
| ENGINE_CALLBACK_PATCHBAY_CLIENT_ADDED | A patchbay client has been added. pluginId Client Id value1 Client icon value2 Plugin Id (-1 if not a plugin) valueStr Client name
|
| ENGINE_CALLBACK_PATCHBAY_CLIENT_REMOVED | A patchbay client has been removed. pluginId Client Id |
| ENGINE_CALLBACK_PATCHBAY_CLIENT_RENAMED | A patchbay client has been renamed. pluginId Client Id valueStr New client name |
| ENGINE_CALLBACK_PATCHBAY_CLIENT_DATA_CHANGED | A patchbay client data has changed. pluginId Client Id value1 New icon value2 New plugin Id (-1 if not a plugin)
|
| ENGINE_CALLBACK_PATCHBAY_PORT_ADDED | A patchbay port has been added. pluginId Client Id value1 Port Id value2 Port hints value3 Port group Id (0 for none) valueStr Port name
|
| ENGINE_CALLBACK_PATCHBAY_PORT_REMOVED | A patchbay port has been removed. pluginId Client Id value1 Port Id |
| ENGINE_CALLBACK_PATCHBAY_PORT_CHANGED | A patchbay port has changed (like the name or group Id). pluginId Client Id value1 Port Id value2 Port hints value3 Port group Id (0 for none) valueStr Port name |
| ENGINE_CALLBACK_PATCHBAY_CONNECTION_ADDED | A patchbay connection has been added. pluginId Connection Id valueStr Out group and port plus in group and port, in "og:op:ig:ip" syntax. |
| ENGINE_CALLBACK_PATCHBAY_CONNECTION_REMOVED | A patchbay connection has been removed. pluginId Connection Id |
| ENGINE_CALLBACK_ENGINE_STARTED | Engine started. pluginId How many plugins are known to be running value1 Process mode value2 Transport mode value3 Buffer size valuef Sample rate valuestr Engine driver
|
| ENGINE_CALLBACK_ENGINE_STOPPED | Engine stopped. |
| ENGINE_CALLBACK_PROCESS_MODE_CHANGED | Engine process mode has changed. value1 New process mode
|
| ENGINE_CALLBACK_TRANSPORT_MODE_CHANGED | Engine transport mode has changed. value1 New transport mode valueStr New transport features enabled
|
| ENGINE_CALLBACK_BUFFER_SIZE_CHANGED | Engine buffer-size changed. value1 New buffer size |
| ENGINE_CALLBACK_SAMPLE_RATE_CHANGED | Engine sample-rate changed. valuef New sample rate |
| ENGINE_CALLBACK_CANCELABLE_ACTION | A cancelable action has been started or stopped. pluginId Plugin Id the action relates to, -1 for none value1 1 for action started, 0 for stopped valueStr Action name |
| ENGINE_CALLBACK_PROJECT_LOAD_FINISHED | Project has finished loading. |
| ENGINE_CALLBACK_NSM | NSM callback, to be handled by a frontend. Frontend must call carla_nsm_ready() with opcode as parameter as a response value1 NSM opcode value2 Integer value valueStr String value
|
| ENGINE_CALLBACK_IDLE | Idle frontend. This is used by the engine during long operations that might block the frontend, giving it the possibility to idle while the operation is still in place. |
| ENGINE_CALLBACK_INFO | Show a message as information. valueStr The message |
| ENGINE_CALLBACK_ERROR | Show a message as an error. valueStr The message |
| ENGINE_CALLBACK_QUIT | The engine has crashed or malfunctioned and will no longer work. |
| ENGINE_CALLBACK_INLINE_DISPLAY_REDRAW | A plugin requested for its inline display to be redrawn. pluginId Plugin Id to redraw |
| ENGINE_CALLBACK_PATCHBAY_PORT_GROUP_ADDED | A patchbay port group has been added. pluginId Client Id value1 Group Id (unique value within this client) value2 Group hints valueStr Group name
|
| ENGINE_CALLBACK_PATCHBAY_PORT_GROUP_REMOVED | A patchbay port group has been removed. pluginId Client Id value1 Group Id |
| ENGINE_CALLBACK_PATCHBAY_PORT_GROUP_CHANGED | A patchbay port group has changed. pluginId Client Id value1 Group Id value2 Group hints valueStr Group name
|
| ENGINE_CALLBACK_PARAMETER_MAPPED_RANGE_CHANGED | A parameter's mapped range has changed. pluginId Plugin Id value1 Parameter index valueStr New mapped range as "%f:%f" syntax |
| ENGINE_CALLBACK_PATCHBAY_CLIENT_POSITION_CHANGED | A patchbay client position has changed. pluginId Client Id value1 X position 1 value2 Y position 1 value3 X position 2 valuef Y position 2 |
| ENGINE_CALLBACK_EMBED_UI_RESIZED | A plugin embed UI has been resized. pluginId Plugin Id to resize value1 New width value2 New height |
| enum EngineOption |
Engine options.
| Enumerator | |
|---|---|
| ENGINE_OPTION_DEBUG | Debug. This option is undefined and used only for testing purposes. |
| ENGINE_OPTION_PROCESS_MODE | Set the engine processing mode. Default is ENGINE_PROCESS_MODE_MULTIPLE_CLIENTS on Linux and ENGINE_PROCESS_MODE_PATCHBAY for all other OSes.
|
| ENGINE_OPTION_TRANSPORT_MODE | Set the engine transport mode. Default is ENGINE_TRANSPORT_MODE_JACK on Linux and ENGINE_TRANSPORT_MODE_INTERNAL for all other OSes.
|
| ENGINE_OPTION_FORCE_STEREO | Force mono plugins as stereo, by running 2 instances at the same time. Default is false, but always true when process mode is ENGINE_PROCESS_MODE_CONTINUOUS_RACK.
|
| ENGINE_OPTION_PREFER_PLUGIN_BRIDGES | Use plugin bridges whenever possible. Default is no, EXPERIMENTAL. |
| ENGINE_OPTION_PREFER_UI_BRIDGES | Use UI bridges whenever possible, otherwise UIs will be directly handled in the main backend thread. Default is yes. |
| ENGINE_OPTION_UIS_ALWAYS_ON_TOP | Make custom plugin UIs always-on-top. Default is yes. |
| ENGINE_OPTION_MAX_PARAMETERS | Maximum number of parameters allowed. Default is MAX_DEFAULT_PARAMETERS. |
| ENGINE_OPTION_RESET_XRUNS | Reset Xrun counter after project load. |
| ENGINE_OPTION_UI_BRIDGES_TIMEOUT | Timeout value for how much to wait for UI bridges to respond, in milliseconds. Default is 4000 (4 seconds). |
| ENGINE_OPTION_AUDIO_BUFFER_SIZE | Audio buffer size. Default is 512. |
| ENGINE_OPTION_AUDIO_SAMPLE_RATE | Audio sample rate. Default is 44100. |
| ENGINE_OPTION_AUDIO_TRIPLE_BUFFER | Wherever to use 3 audio periods instead of the default 2. Default is false. |
| ENGINE_OPTION_AUDIO_DRIVER | Audio driver. Default depends on platform. |
| ENGINE_OPTION_AUDIO_DEVICE | Audio device (within a driver). Default unset. |
| ENGINE_OPTION_OSC_ENABLED | Wherever to enable OSC support in the engine. |
| ENGINE_OPTION_OSC_PORT_TCP | The network TCP port to use for OSC. A value of 0 means use a random port. A value of < 0 means to not enable the TCP port for OSC.
|
| ENGINE_OPTION_OSC_PORT_UDP | The network UDP port to use for OSC. A value of 0 means use a random port. A value of < 0 means to not enable the UDP port for OSC.
|
| ENGINE_OPTION_FILE_PATH | Set path used for a specific file type. Uses value as the file format, valueStr as actual path. |
| ENGINE_OPTION_PLUGIN_PATH | Set path used for a specific plugin type. Uses value as the plugin format, valueStr as actual path.
|
| ENGINE_OPTION_PATH_BINARIES | Set path to the binary files. Default unset.
|
| ENGINE_OPTION_PATH_RESOURCES | Set path to the resource files. Default unset.
|
| ENGINE_OPTION_PREVENT_BAD_BEHAVIOUR | Prevent bad plugin and UI behaviour.
|
| ENGINE_OPTION_FRONTEND_BACKGROUND_COLOR | Set background color used in the frontend, so backend can do the same for plugin UIs. |
| ENGINE_OPTION_FRONTEND_FOREGROUND_COLOR | Set foreground color used in the frontend, so backend can do the same for plugin UIs. |
| ENGINE_OPTION_FRONTEND_UI_SCALE | Set UI scaling used in the frontend, so backend can do the same for plugin UIs. |
| ENGINE_OPTION_FRONTEND_WIN_ID | Set frontend winId, used to define as parent window for plugin UIs. |
| ENGINE_OPTION_WINE_EXECUTABLE | Set path to wine executable. |
| ENGINE_OPTION_WINE_AUTO_PREFIX | Enable automatic wineprefix detection. |
| ENGINE_OPTION_WINE_FALLBACK_PREFIX | Fallback wineprefix to use if automatic detection fails or is disabled, and WINEPREFIX is not set. |
| ENGINE_OPTION_WINE_RT_PRIO_ENABLED | Enable realtime priority for Wine application and server threads. |
| ENGINE_OPTION_WINE_BASE_RT_PRIO | Base realtime priority for Wine threads. |
| ENGINE_OPTION_WINE_SERVER_RT_PRIO | Wine server realtime priority. |
| ENGINE_OPTION_DEBUG_CONSOLE_OUTPUT | Capture console output into debug callbacks. |
| ENGINE_OPTION_CLIENT_NAME_PREFIX | A prefix to give to all plugin clients created by Carla. Mostly useful for JACK multi-client mode.
|
| ENGINE_OPTION_PLUGINS_ARE_STANDALONE | Treat loaded plugins as standalone (that is, there is no host UI to manage them) |
| enum EngineProcessMode |
Engine process mode.
| enum EngineTransportMode |
Engine transport mode.
| enum FileCallbackOpcode |
File callback opcodes. Front-ends must always block-wait for user input.
| Enumerator | |
|---|---|
| FILE_CALLBACK_DEBUG | Debug. This opcode is undefined and used only for testing purposes. |
| FILE_CALLBACK_OPEN | Open file or folder. |
| FILE_CALLBACK_SAVE | Save file or folder. |
| enum FileType |
File type.
| Enumerator | |
|---|---|
| FILE_NONE | Null file type. |
| FILE_AUDIO | Audio file. |
| FILE_MIDI | MIDI file. |
Special parameters used internally in Carla. Plugins do not know about their existence.
| Enumerator | |
|---|---|
| PARAMETER_NULL | Null parameter. |
| PARAMETER_ACTIVE | Active parameter, boolean type. Default is 'false'. |
| PARAMETER_DRYWET | Dry/Wet parameter. Range 0.0...1.0; default is 1.0. |
| PARAMETER_VOLUME | Volume parameter. Range 0.0...1.27; default is 1.0. |
| PARAMETER_BALANCE_LEFT | Stereo Balance-Left parameter. Range -1.0...1.0; default is -1.0. |
| PARAMETER_BALANCE_RIGHT | Stereo Balance-Right parameter. Range -1.0...1.0; default is 1.0. |
| PARAMETER_PANNING | Mono Panning parameter. Range -1.0...1.0; default is 0.0. |
| PARAMETER_CTRL_CHANNEL | MIDI Control channel, integer type. Range -1...15 (-1 = off). |
| PARAMETER_MAX | Max value, defined only for convenience. |
| enum NsmCallbackOpcode |
NSM callback opcodes.
| Enumerator | |
|---|---|
| NSM_CALLBACK_INIT | NSM is available and initialized. |
| NSM_CALLBACK_ERROR | Error from NSM side. valueInt Error code valueStr Error string |
| NSM_CALLBACK_ANNOUNCE | Announce message. valueInt SM Flags (WIP, to be defined) valueStr SM Name |
| NSM_CALLBACK_OPEN | Open message. valueStr Project filename |
| NSM_CALLBACK_SAVE | Save message. |
| NSM_CALLBACK_SESSION_IS_LOADED | Session-is-loaded message. |
| NSM_CALLBACK_SHOW_OPTIONAL_GUI | Show-optional-gui message. |
| NSM_CALLBACK_HIDE_OPTIONAL_GUI | Hide-optional-gui message. |
| NSM_CALLBACK_SET_CLIENT_NAME_ID | Set client name id message. |
| enum ParameterType |
Plugin parameter type.
| Enumerator | |
|---|---|
| PARAMETER_UNKNOWN | Null parameter type. |
| PARAMETER_INPUT | Input parameter. |
| PARAMETER_OUTPUT | Output parameter. |
| enum PatchbayIcon |
The icon of a patchbay client/group.
| Enumerator | |
|---|---|
| PATCHBAY_ICON_APPLICATION | Generic application icon. Used for all non-plugin clients that don't have a specific icon. |
| PATCHBAY_ICON_PLUGIN | Plugin icon. Used for all plugin clients that don't have a specific icon. |
| PATCHBAY_ICON_HARDWARE | Hardware icon. Used for hardware (audio or MIDI) clients. |
| PATCHBAY_ICON_CARLA | Carla icon. Used for the main app. |
| PATCHBAY_ICON_DISTRHO | DISTRHO icon. Used for DISTRHO based plugins. |
| PATCHBAY_ICON_FILE | File icon. Used for file type plugins (like SF2 snd SFZ). |
| enum PluginCategory |
Plugin category, which describes the functionality of a plugin.
| enum PluginType |
Plugin type. Some files are handled as if they were plugins.
Specially designated mapped control indexes. Values between 0 and 119 (0x77) are reserved for MIDI CC, which uses direct values.
The "plugin Id" for the global Carla instance. Currently only used for audio peaks.
Maximum default number of parameters allowed.
Maximum number of loadable plugins in patchbay mode.