Carla Backend
|
The Carla Backend API. More...
Modules | |
Engine Driver Device Hints | |
Various engine driver device hints. | |
Plugin Hints | |
Various plugin hints. | |
Plugin Options | |
Various plugin options. | |
Parameter Hints | |
Various parameter hints. | |
Mapped Parameter Flags | |
Various flags for parameter mappings. | |
Patchbay Port Hints | |
Various patchbay port hints. | |
Patchbay Port Group Hints | |
Various patchbay port group hints. | |
Custom Data Types | |
These types define how the value in the CustomData struct is stored. | |
Custom Data Keys | |
Pre-defined keys used internally in Carla. | |
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) |
Variables | |
const typedef char *(* | FileCallbackFunc )(void *ptr, FileCallbackOpcode action, bool isDir, const char *title, const char *filter) |
static const uint | MAX_DEFAULT_PLUGINS = 512 |
static const uint | MAX_RACK_PLUGINS = 64 |
static const uint | MAX_PATCHBAY_PLUGINS = 255 |
static const uint | MAX_DEFAULT_PARAMETERS = 200 |
static const uint | MAIN_CARLA_PLUGIN_ID = 0xFFFF |
The Carla Backend API.
These are the base definitions for everything in the Carla backend code.
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.
enum BinaryType |
enum FileType |
enum PluginType |
Plugin type. Some files are handled as if they were plugins.
enum PluginCategory |
Plugin category, which describes the functionality of a plugin.
enum ParameterType |
Special parameters used internally in Carla. Plugins do not know about their existence.
Specially designated mapped control indexes. Values between 0 and 119 (0x77) are reserved for MIDI CC, which uses direct values.
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 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 NsmCallbackOpcode |
NSM callback opcodes.
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.
|
enum EngineProcessMode |
Engine process mode.
enum EngineTransportMode |
Engine transport mode.
enum FileCallbackOpcode |
enum PatchbayIcon |
The icon of a patchbay client/group.
const typedef char*(* FileCallbackFunc) (void *ptr, FileCallbackOpcode action, bool isDir, const char *title, const char *filter) |
File callback function.
|
static |
Maximum default number of loadable plugins.
|
static |
Maximum number of loadable plugins in rack mode.
|
static |
Maximum number of loadable plugins in patchbay mode.
|
static |
Maximum default number of parameters allowed.
|
static |
The "plugin Id" for the global Carla instance. Currently only used for audio peaks.