Carla Backend
Loading...
Searching...
No Matches
CarlaBackend.h
Go to the documentation of this file.
1/*
2 * Carla Plugin Host
3 * Copyright (C) 2011-2022 Filipe Coelho <falktx@falktx.com>
4 *
5 * This program is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU General Public License as
7 * published by the Free Software Foundation; either version 2 of
8 * the License, or any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * For a full copy of the GNU General Public License see the doc/GPL.txt file.
16 */
17
18#ifndef CARLA_BACKEND_H_INCLUDED
19#define CARLA_BACKEND_H_INCLUDED
20
21#include "CarlaDefines.h"
22
23#ifdef CARLA_PROPER_CPP11_SUPPORT
24# include <cstdint>
25#else
26# include <stdint.h>
27#endif
28
29#define STR_MAX 0xFF
30
31#ifndef CARLA_BACKEND_NAMESPACE
32# define CARLA_BACKEND_NAMESPACE CarlaBackend
33#endif
34
35#ifdef __cplusplus
36# define CARLA_BACKEND_START_NAMESPACE namespace CARLA_BACKEND_NAMESPACE {
37# define CARLA_BACKEND_END_NAMESPACE }
38# define CARLA_BACKEND_USE_NAMESPACE using namespace CARLA_BACKEND_NAMESPACE;
39# include <algorithm>
40# include <cmath>
41# include <limits>
42/* Start namespace */
43CARLA_BACKEND_START_NAMESPACE
44#endif
45
54
55/* ------------------------------------------------------------------------------------------------------------
56 * Carla Backend API (base definitions) */
57
61static const uint MAX_DEFAULT_PLUGINS = 512;
62
66static const uint MAX_RACK_PLUGINS = 64;
67
71static const uint MAX_PATCHBAY_PLUGINS = 255;
72
77static const uint MAX_DEFAULT_PARAMETERS = 200;
78
83static const uint MAIN_CARLA_PLUGIN_ID = 0xFFFF;
84
85/* ------------------------------------------------------------------------------------------------------------
86 * Engine Driver Device Hints */
87
95
100
106
112
118
120
121/* ------------------------------------------------------------------------------------------------------------
122 * Plugin Hints */
123
131
136static const uint PLUGIN_IS_BRIDGE = 0x001;
137
141static const uint PLUGIN_IS_RTSAFE = 0x002;
142
146static const uint PLUGIN_IS_SYNTH = 0x004;
147
152static const uint PLUGIN_HAS_CUSTOM_UI = 0x008;
153
157static const uint PLUGIN_CAN_DRYWET = 0x010;
158
162static const uint PLUGIN_CAN_VOLUME = 0x020;
163
167static const uint PLUGIN_CAN_BALANCE = 0x040;
168
172static const uint PLUGIN_CAN_PANNING = 0x080;
173
177static const uint PLUGIN_NEEDS_FIXED_BUFFERS = 0x100;
178
182static const uint PLUGIN_NEEDS_UI_MAIN_THREAD = 0x200;
183
188static const uint PLUGIN_USES_MULTI_PROGS = 0x400;
189
193static const uint PLUGIN_HAS_INLINE_DISPLAY = 0x800;
194
200static const uint PLUGIN_HAS_CUSTOM_EMBED_UI = 0x1000;
201
205static const uint PLUGIN_HAS_CUSTOM_UI_USING_FILE_OPEN = 0x2000;
206
208
209/* ------------------------------------------------------------------------------------------------------------
210 * Plugin Options */
211
220
224static const uint PLUGIN_OPTION_FIXED_BUFFERS = 0x001;
225
229static const uint PLUGIN_OPTION_FORCE_STEREO = 0x002;
230
234static const uint PLUGIN_OPTION_MAP_PROGRAM_CHANGES = 0x004;
235
239static const uint PLUGIN_OPTION_USE_CHUNKS = 0x008;
240
244static const uint PLUGIN_OPTION_SEND_CONTROL_CHANGES = 0x010;
245
249static const uint PLUGIN_OPTION_SEND_CHANNEL_PRESSURE = 0x020;
250
254static const uint PLUGIN_OPTION_SEND_NOTE_AFTERTOUCH = 0x040;
255
259static const uint PLUGIN_OPTION_SEND_PITCHBEND = 0x080;
260
264static const uint PLUGIN_OPTION_SEND_ALL_SOUND_OFF = 0x100;
265
270static const uint PLUGIN_OPTION_SEND_PROGRAM_CHANGES = 0x200;
271
277static const uint PLUGIN_OPTION_SKIP_SENDING_NOTES = 0x400;
278
283static const uint PLUGIN_OPTIONS_NULL = 0x10000;
284
286
287/* ------------------------------------------------------------------------------------------------------------
288 * Audio Port Hints */
289
297
301static const uint AUDIO_PORT_IS_SIDECHAIN = 0x1;
302
304
305/* ------------------------------------------------------------------------------------------------------------
306 * Parameter Hints */
307
315
320static const uint PARAMETER_IS_BOOLEAN = 0x001;
321
325static const uint PARAMETER_IS_INTEGER = 0x002;
326
330static const uint PARAMETER_IS_LOGARITHMIC = 0x004;
331
336static const uint PARAMETER_IS_ENABLED = 0x010;
337
341static const uint PARAMETER_IS_AUTOMATABLE = 0x020;
342
343// for backwards compatibility
345
350static const uint PARAMETER_IS_READ_ONLY = 0x040;
351
356static const uint PARAMETER_USES_SAMPLERATE = 0x100;
357
361static const uint PARAMETER_USES_SCALEPOINTS = 0x200;
362
367static const uint PARAMETER_USES_CUSTOM_TEXT = 0x400;
368
372static const uint PARAMETER_CAN_BE_CV_CONTROLLED = 0x800;
373
378static const uint PARAMETER_IS_NOT_SAVED = 0x1000;
379
381
382/* ------------------------------------------------------------------------------------------------------------
383 * Mapped Parameter Flags */
384
392
397static const uint PARAMETER_MAPPING_MIDI_DELTA = 0x001;
398
400
401/* ------------------------------------------------------------------------------------------------------------
402 * Patchbay Port Hints */
403
410
415static const uint PATCHBAY_PORT_IS_INPUT = 0x01;
416
420static const uint PATCHBAY_PORT_TYPE_AUDIO = 0x02;
421
425static const uint PATCHBAY_PORT_TYPE_CV = 0x04;
426
430static const uint PATCHBAY_PORT_TYPE_MIDI = 0x08;
431
435static const uint PATCHBAY_PORT_TYPE_OSC = 0x10;
436
438
439/* ------------------------------------------------------------------------------------------------------------
440 * Patchbay Port Group Hints */
441
448
452static const uint PATCHBAY_PORT_GROUP_MAIN_INPUT = 0x01;
453
457static const uint PATCHBAY_PORT_GROUP_MAIN_OUTPUT = 0x02;
458
462static const uint PATCHBAY_PORT_GROUP_STEREO = 0x04;
463
467static const uint PATCHBAY_PORT_GROUP_MID_SIDE = 0x08;
468
470
471/* ------------------------------------------------------------------------------------------------------------
472 * Custom Data Types */
473
481
486static const char* const CUSTOM_DATA_TYPE_BOOLEAN = "http://kxstudio.sf.net/ns/carla/boolean";
487
491static const char* const CUSTOM_DATA_TYPE_CHUNK = "http://kxstudio.sf.net/ns/carla/chunk";
492
496static const char* const CUSTOM_DATA_TYPE_PATH = "http://kxstudio.sf.net/ns/carla/path";
497
501static const char* const CUSTOM_DATA_TYPE_PROPERTY = "http://kxstudio.sf.net/ns/carla/property";
502
506static const char* const CUSTOM_DATA_TYPE_STRING = "http://kxstudio.sf.net/ns/carla/string";
507
509
510/* ------------------------------------------------------------------------------------------------------------
511 * Custom Data Keys */
512
520
524static const char* const CUSTOM_DATA_KEY_UI_POSITION = "CarlaUiPosition";
525
529static const char* const CUSTOM_DATA_KEY_UI_SIZE = "CarlaUiSize";
530
534static const char* const CUSTOM_DATA_KEY_UI_VISIBLE = "CarlaUiVisible";
535
537
538/* ------------------------------------------------------------------------------------------------------------
539 * Binary Type */
540
544typedef enum {
549
554
559
564
569
574
575} BinaryType;
576
577/* ------------------------------------------------------------------------------------------------------------
578 * File Type */
579
583typedef enum {
588
593
598
599} FileType;
600
601/* ------------------------------------------------------------------------------------------------------------
602 * Plugin Type */
603
608typedef enum {
613
618
623
628
633
638
644
650
655
660
665
670
675
680
681} PluginType;
682
683/* ------------------------------------------------------------------------------------------------------------
684 * Plugin Category */
685
741
742/* ------------------------------------------------------------------------------------------------------------
743 * Parameter Type */
744
765
766/* ------------------------------------------------------------------------------------------------------------
767 * Internal Parameter Index */
768
773typedef enum {
778
779#ifndef BUILD_BRIDGE_ALTERNATIVE_ARCH
785
791
797
803
809
815
821#endif
822
827
829
830/* ------------------------------------------------------------------------------------------------------------
831 * Special Mapped Control Index */
832
865
866/* ------------------------------------------------------------------------------------------------------------
867 * Engine Callback Opcode */
868
874typedef enum {
880
888
894
901
908
916
924
925#ifndef BUILD_BRIDGE_ALTERNATIVE_ARCH
933
941
950#endif
951
958
965
975
984
992
998
1004
1010
1016
1022
1023#ifndef BUILD_BRIDGE_ALTERNATIVE_ARCH
1033
1039
1046
1055
1066
1073
1083
1090
1096#endif
1097
1110
1115
1122
1130
1136
1142
1150
1155
1165
1172
1178
1184
1189
1195
1205
1212
1222
1230
1240
1248
1250
1251/* ------------------------------------------------------------------------------------------------------------
1252 * NSM Callback Opcode */
1253
1310
1311/* ------------------------------------------------------------------------------------------------------------
1312 * Engine Option */
1313
1318typedef enum {
1324
1331
1338
1346
1352
1358
1364
1370
1375
1381
1387
1393
1399
1405
1411
1412#ifndef BUILD_BRIDGE
1417
1425
1434#endif
1435
1441
1448
1455
1462
1468
1473
1478
1483
1488
1489#if !defined(BUILD_BRIDGE_ALTERNATIVE_ARCH) && !defined(CARLA_OS_WIN)
1494
1499
1504
1509
1514
1519#endif
1520
1521#ifndef BUILD_BRIDGE
1526#endif
1527
1534
1539
1540} EngineOption;
1541
1542/* ------------------------------------------------------------------------------------------------------------
1543 * Engine Process Mode */
1544
1579
1580/* ------------------------------------------------------------------------------------------------------------
1581 * Engine Transport Mode */
1582
1615
1616/* ------------------------------------------------------------------------------------------------------------
1617 * File Callback Opcode */
1618
1642
1643/* ------------------------------------------------------------------------------------------------------------
1644 * Patchbay Icon */
1645
1686
1687/* ------------------------------------------------------------------------------------------------------------
1688 * Carla Backend API (C stuff) */
1689
1695typedef void (*EngineCallbackFunc)(void* ptr, EngineCallbackOpcode action, uint pluginId,
1696 int value1, int value2, int value3,
1697 float valuef, const char* valueStr);
1698
1703typedef const char* (*FileCallbackFunc)(void* ptr, FileCallbackOpcode action, bool isDir, const char* title, const char* filter);
1704
1708typedef struct {
1713
1718 uint hints;
1719
1723 int32_t index;
1724
1728 int32_t rindex;
1729
1735
1741
1746
1751
1757
1759
1763typedef struct _ParameterRanges {
1767 float def;
1768
1772 float min;
1773
1777 float max;
1778
1782 float step;
1783
1788
1793
1794#ifdef __cplusplus
1798 void fixDefault() noexcept
1799 {
1800 fixValue(def);
1801 }
1802
1806 void fixValue(float& value) const noexcept
1807 {
1808 if (value < min)
1809 value = min;
1810 else if (value > max)
1811 value = max;
1812 }
1813
1817 const float& getFixedValue(const float& value) const noexcept
1818 {
1819 if (value <= min)
1820 return min;
1821 if (value >= max)
1822 return max;
1823 return value;
1824 }
1825
1829 float getNormalizedValue(const float& value) const noexcept
1830 {
1831 const float normValue((value - min) / (max - min));
1832
1833 if (normValue <= 0.0f)
1834 return 0.0f;
1835 if (normValue >= 1.0f)
1836 return 1.0f;
1837 return normValue;
1838 }
1839
1843 float getFixedAndNormalizedValue(const float& value) const noexcept
1844 {
1845 if (value <= min)
1846 return 0.0f;
1847 if (value >= max)
1848 return 1.0f;
1849
1850 const float normValue((value - min) / (max - min));
1851
1852 if (normValue <= 0.0f)
1853 return 0.0f;
1854 if (normValue >= 1.0f)
1855 return 1.0f;
1856
1857 return normValue;
1858 }
1859
1863 float getUnnormalizedValue(const float& value) const noexcept
1864 {
1865 if (value <= 0.0f)
1866 return min;
1867 if (value >= 1.0f)
1868 return max;
1869
1870 return value * (max - min) + min;
1871 }
1872
1876 float getUnnormalizedLogValue(const float& value) const noexcept
1877 {
1878 if (value <= 0.0f)
1879 return min;
1880 if (value >= 1.0f)
1881 return max;
1882
1883 float rmin = min;
1884
1885 if (std::abs(min) < std::numeric_limits<float>::epsilon())
1886 rmin = 0.00001f;
1887
1888 return rmin * std::pow(max/rmin, value);
1889 }
1890#endif /* __cplusplus */
1891
1893
1897typedef struct {
1901 uint32_t bank;
1902
1906 uint32_t program;
1907
1911 const char* name;
1912
1914
1918typedef struct _CustomData {
1923 const char* type;
1924
1929 const char* key;
1930
1934 const char* value;
1935
1936#ifdef __cplusplus
1940 bool isValid() const noexcept
1941 {
1942 if (type == nullptr || type[0] == '\0') return false;
1943 if (key == nullptr || key [0] == '\0') return false;
1944 if (value == nullptr) return false;
1945 return true;
1946 }
1947#endif /* __cplusplus */
1948
1949} CustomData;
1950
1954typedef struct {
1959 uint hints;
1960
1965 const uint32_t* bufferSizes;
1966
1971 const double* sampleRates;
1972
1974
1976
1977#ifdef __cplusplus
1978/* Forward declarations of commonly used Carla classes */
1979class CarlaEngine;
1980class CarlaEngineClient;
1982class CarlaPlugin;
1983/* End namespace */
1984CARLA_BACKEND_END_NAMESPACE
1985#endif
1986
1987#endif /* CARLA_BACKEND_H_INCLUDED */
Definition CarlaEngine.hpp:645
Definition CarlaEngine.hpp:702
Definition CarlaEngine.hpp:814
Definition CarlaPlugin.hpp:67
static const uint AUDIO_PORT_IS_SIDECHAIN
Definition CarlaBackend.h:301
FileType
Definition CarlaBackend.h:583
NsmCallbackOpcode
Definition CarlaBackend.h:1258
static const uint MAIN_CARLA_PLUGIN_ID
Definition CarlaBackend.h:83
FileCallbackOpcode
Definition CarlaBackend.h:1624
void(* EngineCallbackFunc)(void *ptr, EngineCallbackOpcode action, uint pluginId, int value1, int value2, int value3, float valuef, const char *valueStr)
Definition CarlaBackend.h:1695
ParameterType
Definition CarlaBackend.h:748
PluginType
Definition CarlaBackend.h:608
SpecialMappedControlIndex
Definition CarlaBackend.h:838
static const uint MAX_DEFAULT_PLUGINS
Definition CarlaBackend.h:61
InternalParameterIndex
Definition CarlaBackend.h:773
BinaryType
Definition CarlaBackend.h:544
PluginCategory
Definition CarlaBackend.h:689
static const uint MAX_PATCHBAY_PLUGINS
Definition CarlaBackend.h:71
EngineOption
Definition CarlaBackend.h:1318
EngineTransportMode
Definition CarlaBackend.h:1587
static const uint MAX_DEFAULT_PARAMETERS
Definition CarlaBackend.h:77
EngineProcessMode
Definition CarlaBackend.h:1549
PatchbayIcon
Definition CarlaBackend.h:1649
static const uint MAX_RACK_PLUGINS
Definition CarlaBackend.h:66
EngineCallbackOpcode
Definition CarlaBackend.h:874
@ FILE_NONE
Definition CarlaBackend.h:587
@ FILE_MIDI
Definition CarlaBackend.h:597
@ FILE_AUDIO
Definition CarlaBackend.h:592
@ NSM_CALLBACK_SET_CLIENT_NAME_ID
Definition CarlaBackend.h:1307
@ NSM_CALLBACK_ERROR
Definition CarlaBackend.h:1269
@ NSM_CALLBACK_SAVE
Definition CarlaBackend.h:1287
@ NSM_CALLBACK_SHOW_OPTIONAL_GUI
Definition CarlaBackend.h:1297
@ NSM_CALLBACK_SESSION_IS_LOADED
Definition CarlaBackend.h:1292
@ NSM_CALLBACK_OPEN
Definition CarlaBackend.h:1282
@ NSM_CALLBACK_INIT
Definition CarlaBackend.h:1262
@ NSM_CALLBACK_ANNOUNCE
Definition CarlaBackend.h:1276
@ NSM_CALLBACK_HIDE_OPTIONAL_GUI
Definition CarlaBackend.h:1302
@ FILE_CALLBACK_SAVE
Definition CarlaBackend.h:1639
@ FILE_CALLBACK_OPEN
Definition CarlaBackend.h:1634
@ FILE_CALLBACK_DEBUG
Definition CarlaBackend.h:1629
@ PARAMETER_UNKNOWN
Definition CarlaBackend.h:752
@ PARAMETER_INPUT
Definition CarlaBackend.h:757
@ PARAMETER_OUTPUT
Definition CarlaBackend.h:762
@ PLUGIN_LV2
Definition CarlaBackend.h:632
@ PLUGIN_VST2
Definition CarlaBackend.h:637
@ PLUGIN_SFZ
Definition CarlaBackend.h:669
@ PLUGIN_JACK
Definition CarlaBackend.h:674
@ PLUGIN_INTERNAL
Definition CarlaBackend.h:617
@ PLUGIN_DLS
Definition CarlaBackend.h:654
@ PLUGIN_SF2
Definition CarlaBackend.h:664
@ PLUGIN_NONE
Definition CarlaBackend.h:612
@ PLUGIN_LADSPA
Definition CarlaBackend.h:622
@ PLUGIN_GIG
Definition CarlaBackend.h:659
@ PLUGIN_DSSI
Definition CarlaBackend.h:627
@ PLUGIN_AU
Definition CarlaBackend.h:649
@ PLUGIN_VST3
Definition CarlaBackend.h:643
@ PLUGIN_JSFX
Definition CarlaBackend.h:679
@ CONTROL_INDEX_MIDI_PITCHBEND
Definition CarlaBackend.h:852
@ CONTROL_INDEX_CV
Definition CarlaBackend.h:847
@ CONTROL_INDEX_MAX_ALLOWED
Definition CarlaBackend.h:862
@ CONTROL_INDEX_NONE
Definition CarlaBackend.h:842
@ CONTROL_INDEX_MIDI_LEARN
Definition CarlaBackend.h:857
@ PARAMETER_CTRL_CHANNEL
Definition CarlaBackend.h:820
@ PARAMETER_DRYWET
Definition CarlaBackend.h:790
@ PARAMETER_NULL
Definition CarlaBackend.h:777
@ PARAMETER_BALANCE_LEFT
Definition CarlaBackend.h:802
@ PARAMETER_BALANCE_RIGHT
Definition CarlaBackend.h:808
@ PARAMETER_PANNING
Definition CarlaBackend.h:814
@ PARAMETER_VOLUME
Definition CarlaBackend.h:796
@ PARAMETER_MAX
Definition CarlaBackend.h:826
@ PARAMETER_ACTIVE
Definition CarlaBackend.h:784
@ BINARY_WIN32
Definition CarlaBackend.h:563
@ BINARY_OTHER
Definition CarlaBackend.h:573
@ BINARY_POSIX32
Definition CarlaBackend.h:553
@ BINARY_POSIX64
Definition CarlaBackend.h:558
@ BINARY_NONE
Definition CarlaBackend.h:548
@ BINARY_WIN64
Definition CarlaBackend.h:568
@ PLUGIN_CATEGORY_DISTORTION
Definition CarlaBackend.h:718
@ PLUGIN_CATEGORY_DYNAMICS
Definition CarlaBackend.h:723
@ PLUGIN_CATEGORY_OTHER
Definition CarlaBackend.h:738
@ PLUGIN_CATEGORY_DELAY
Definition CarlaBackend.h:703
@ PLUGIN_CATEGORY_EQ
Definition CarlaBackend.h:708
@ PLUGIN_CATEGORY_UTILITY
Definition CarlaBackend.h:733
@ PLUGIN_CATEGORY_FILTER
Definition CarlaBackend.h:713
@ PLUGIN_CATEGORY_SYNTH
Definition CarlaBackend.h:698
@ PLUGIN_CATEGORY_NONE
Definition CarlaBackend.h:693
@ PLUGIN_CATEGORY_MODULATOR
Definition CarlaBackend.h:728
@ ENGINE_OPTION_RESET_XRUNS
Definition CarlaBackend.h:1374
@ ENGINE_OPTION_AUDIO_DEVICE
Definition CarlaBackend.h:1410
@ ENGINE_OPTION_MAX_PARAMETERS
Definition CarlaBackend.h:1369
@ ENGINE_OPTION_OSC_PORT_TCP
Definition CarlaBackend.h:1424
@ ENGINE_OPTION_WINE_AUTO_PREFIX
Definition CarlaBackend.h:1498
@ ENGINE_OPTION_FILE_PATH
Definition CarlaBackend.h:1440
@ ENGINE_OPTION_FRONTEND_UI_SCALE
Definition CarlaBackend.h:1482
@ ENGINE_OPTION_OSC_PORT_UDP
Definition CarlaBackend.h:1433
@ ENGINE_OPTION_UIS_ALWAYS_ON_TOP
Definition CarlaBackend.h:1363
@ ENGINE_OPTION_CLIENT_NAME_PREFIX
Definition CarlaBackend.h:1533
@ ENGINE_OPTION_PROCESS_MODE
Definition CarlaBackend.h:1330
@ ENGINE_OPTION_FRONTEND_FOREGROUND_COLOR
Definition CarlaBackend.h:1477
@ ENGINE_OPTION_PLUGINS_ARE_STANDALONE
Definition CarlaBackend.h:1538
@ ENGINE_OPTION_OSC_ENABLED
Definition CarlaBackend.h:1416
@ ENGINE_OPTION_PREVENT_BAD_BEHAVIOUR
Definition CarlaBackend.h:1467
@ ENGINE_OPTION_AUDIO_TRIPLE_BUFFER
Definition CarlaBackend.h:1398
@ ENGINE_OPTION_UI_BRIDGES_TIMEOUT
Definition CarlaBackend.h:1380
@ ENGINE_OPTION_AUDIO_SAMPLE_RATE
Definition CarlaBackend.h:1392
@ ENGINE_OPTION_PREFER_PLUGIN_BRIDGES
Definition CarlaBackend.h:1351
@ ENGINE_OPTION_FORCE_STEREO
Definition CarlaBackend.h:1345
@ ENGINE_OPTION_WINE_EXECUTABLE
Definition CarlaBackend.h:1493
@ ENGINE_OPTION_DEBUG_CONSOLE_OUTPUT
Definition CarlaBackend.h:1525
@ ENGINE_OPTION_FRONTEND_WIN_ID
Definition CarlaBackend.h:1487
@ ENGINE_OPTION_AUDIO_BUFFER_SIZE
Definition CarlaBackend.h:1386
@ ENGINE_OPTION_WINE_BASE_RT_PRIO
Definition CarlaBackend.h:1513
@ ENGINE_OPTION_WINE_RT_PRIO_ENABLED
Definition CarlaBackend.h:1508
@ ENGINE_OPTION_PREFER_UI_BRIDGES
Definition CarlaBackend.h:1357
@ ENGINE_OPTION_TRANSPORT_MODE
Definition CarlaBackend.h:1337
@ ENGINE_OPTION_DEBUG
Definition CarlaBackend.h:1323
@ ENGINE_OPTION_WINE_FALLBACK_PREFIX
Definition CarlaBackend.h:1503
@ ENGINE_OPTION_WINE_SERVER_RT_PRIO
Definition CarlaBackend.h:1518
@ ENGINE_OPTION_PLUGIN_PATH
Definition CarlaBackend.h:1447
@ ENGINE_OPTION_PATH_BINARIES
Definition CarlaBackend.h:1454
@ ENGINE_OPTION_FRONTEND_BACKGROUND_COLOR
Definition CarlaBackend.h:1472
@ ENGINE_OPTION_PATH_RESOURCES
Definition CarlaBackend.h:1461
@ ENGINE_OPTION_AUDIO_DRIVER
Definition CarlaBackend.h:1404
@ ENGINE_TRANSPORT_MODE_PLUGIN
Definition CarlaBackend.h:1607
@ ENGINE_TRANSPORT_MODE_BRIDGE
Definition CarlaBackend.h:1612
@ ENGINE_TRANSPORT_MODE_JACK
Definition CarlaBackend.h:1602
@ ENGINE_TRANSPORT_MODE_INTERNAL
Definition CarlaBackend.h:1596
@ ENGINE_TRANSPORT_MODE_DISABLED
Definition CarlaBackend.h:1591
@ ENGINE_PROCESS_MODE_MULTIPLE_CLIENTS
Definition CarlaBackend.h:1560
@ ENGINE_PROCESS_MODE_BRIDGE
Definition CarlaBackend.h:1576
@ ENGINE_PROCESS_MODE_SINGLE_CLIENT
Definition CarlaBackend.h:1554
@ ENGINE_PROCESS_MODE_CONTINUOUS_RACK
Definition CarlaBackend.h:1566
@ ENGINE_PROCESS_MODE_PATCHBAY
Definition CarlaBackend.h:1571
@ PATCHBAY_ICON_APPLICATION
Definition CarlaBackend.h:1654
@ PATCHBAY_ICON_FILE
Definition CarlaBackend.h:1684
@ PATCHBAY_ICON_HARDWARE
Definition CarlaBackend.h:1666
@ PATCHBAY_ICON_PLUGIN
Definition CarlaBackend.h:1660
@ PATCHBAY_ICON_CARLA
Definition CarlaBackend.h:1672
@ PATCHBAY_ICON_DISTRHO
Definition CarlaBackend.h:1678
@ ENGINE_CALLBACK_UI_STATE_CHANGED
Definition CarlaBackend.h:974
@ ENGINE_CALLBACK_PARAMETER_DEFAULT_CHANGED
Definition CarlaBackend.h:923
@ ENGINE_CALLBACK_RELOAD_ALL
Definition CarlaBackend.h:1021
@ ENGINE_CALLBACK_PROGRAM_CHANGED
Definition CarlaBackend.h:957
@ ENGINE_CALLBACK_PATCHBAY_PORT_CHANGED
Definition CarlaBackend.h:1082
@ ENGINE_CALLBACK_PARAMETER_VALUE_CHANGED
Definition CarlaBackend.h:915
@ ENGINE_CALLBACK_OPTION_CHANGED
Definition CarlaBackend.h:949
@ ENGINE_CALLBACK_NOTE_OFF
Definition CarlaBackend.h:991
@ ENGINE_CALLBACK_PATCHBAY_PORT_GROUP_ADDED
Definition CarlaBackend.h:1204
@ ENGINE_CALLBACK_PATCHBAY_CLIENT_DATA_CHANGED
Definition CarlaBackend.h:1054
@ ENGINE_CALLBACK_PATCHBAY_CONNECTION_REMOVED
Definition CarlaBackend.h:1095
@ ENGINE_CALLBACK_PATCHBAY_CLIENT_REMOVED
Definition CarlaBackend.h:1038
@ ENGINE_CALLBACK_PROJECT_LOAD_FINISHED
Definition CarlaBackend.h:1154
@ ENGINE_CALLBACK_PATCHBAY_CONNECTION_ADDED
Definition CarlaBackend.h:1089
@ ENGINE_CALLBACK_PLUGIN_REMOVED
Definition CarlaBackend.h:893
@ ENGINE_CALLBACK_TRANSPORT_MODE_CHANGED
Definition CarlaBackend.h:1129
@ ENGINE_CALLBACK_UPDATE
Definition CarlaBackend.h:997
@ ENGINE_CALLBACK_PLUGIN_ADDED
Definition CarlaBackend.h:887
@ ENGINE_CALLBACK_RELOAD_INFO
Definition CarlaBackend.h:1003
@ ENGINE_CALLBACK_RELOAD_PROGRAMS
Definition CarlaBackend.h:1015
@ ENGINE_CALLBACK_BUFFER_SIZE_CHANGED
Definition CarlaBackend.h:1135
@ ENGINE_CALLBACK_CANCELABLE_ACTION
Definition CarlaBackend.h:1149
@ ENGINE_CALLBACK_INFO
Definition CarlaBackend.h:1177
@ ENGINE_CALLBACK_PATCHBAY_CLIENT_ADDED
Definition CarlaBackend.h:1032
@ ENGINE_CALLBACK_IDLE
Definition CarlaBackend.h:1171
@ ENGINE_CALLBACK_PARAMETER_MIDI_CHANNEL_CHANGED
Definition CarlaBackend.h:940
@ ENGINE_CALLBACK_PATCHBAY_PORT_GROUP_REMOVED
Definition CarlaBackend.h:1211
@ ENGINE_CALLBACK_PATCHBAY_CLIENT_RENAMED
Definition CarlaBackend.h:1045
@ ENGINE_CALLBACK_RELOAD_PARAMETERS
Definition CarlaBackend.h:1009
@ ENGINE_CALLBACK_QUIT
Definition CarlaBackend.h:1188
@ ENGINE_CALLBACK_PARAMETER_MAPPED_CONTROL_INDEX_CHANGED
Definition CarlaBackend.h:932
@ ENGINE_CALLBACK_ENGINE_STOPPED
Definition CarlaBackend.h:1114
@ ENGINE_CALLBACK_PATCHBAY_PORT_ADDED
Definition CarlaBackend.h:1065
@ ENGINE_CALLBACK_PLUGIN_UNAVAILABLE
Definition CarlaBackend.h:907
@ ENGINE_CALLBACK_NOTE_ON
Definition CarlaBackend.h:983
@ ENGINE_CALLBACK_PROCESS_MODE_CHANGED
Definition CarlaBackend.h:1121
@ ENGINE_CALLBACK_ENGINE_STARTED
Definition CarlaBackend.h:1109
@ ENGINE_CALLBACK_PLUGIN_RENAMED
Definition CarlaBackend.h:900
@ ENGINE_CALLBACK_MIDI_PROGRAM_CHANGED
Definition CarlaBackend.h:964
@ ENGINE_CALLBACK_SAMPLE_RATE_CHANGED
Definition CarlaBackend.h:1141
@ ENGINE_CALLBACK_NSM
Definition CarlaBackend.h:1164
@ ENGINE_CALLBACK_PATCHBAY_CLIENT_POSITION_CHANGED
Definition CarlaBackend.h:1239
@ ENGINE_CALLBACK_DEBUG
Definition CarlaBackend.h:879
@ ENGINE_CALLBACK_EMBED_UI_RESIZED
Definition CarlaBackend.h:1247
@ ENGINE_CALLBACK_INLINE_DISPLAY_REDRAW
Definition CarlaBackend.h:1194
@ ENGINE_CALLBACK_PATCHBAY_PORT_REMOVED
Definition CarlaBackend.h:1072
@ ENGINE_CALLBACK_PARAMETER_MAPPED_RANGE_CHANGED
Definition CarlaBackend.h:1229
@ ENGINE_CALLBACK_ERROR
Definition CarlaBackend.h:1183
@ ENGINE_CALLBACK_PATCHBAY_PORT_GROUP_CHANGED
Definition CarlaBackend.h:1221
static const char *const CUSTOM_DATA_KEY_UI_VISIBLE
Definition CarlaBackend.h:534
static const char *const CUSTOM_DATA_KEY_UI_POSITION
Definition CarlaBackend.h:524
static const char *const CUSTOM_DATA_KEY_UI_SIZE
Definition CarlaBackend.h:529
static const char *const CUSTOM_DATA_TYPE_PROPERTY
Definition CarlaBackend.h:501
static const char *const CUSTOM_DATA_TYPE_PATH
Definition CarlaBackend.h:496
static const char *const CUSTOM_DATA_TYPE_STRING
Definition CarlaBackend.h:506
static const char *const CUSTOM_DATA_TYPE_BOOLEAN
Definition CarlaBackend.h:486
static const char *const CUSTOM_DATA_TYPE_CHUNK
Definition CarlaBackend.h:491
static const uint ENGINE_DRIVER_DEVICE_VARIABLE_SAMPLE_RATE
Definition CarlaBackend.h:117
static const uint ENGINE_DRIVER_DEVICE_HAS_CONTROL_PANEL
Definition CarlaBackend.h:99
static const uint ENGINE_DRIVER_DEVICE_CAN_TRIPLE_BUFFER
Definition CarlaBackend.h:105
static const uint ENGINE_DRIVER_DEVICE_VARIABLE_BUFFER_SIZE
Definition CarlaBackend.h:111
static const uint PARAMETER_MAPPING_MIDI_DELTA
Definition CarlaBackend.h:397
static const uint PARAMETER_USES_CUSTOM_TEXT
Definition CarlaBackend.h:367
static const uint PARAMETER_IS_BOOLEAN
Definition CarlaBackend.h:320
static const uint PARAMETER_USES_SCALEPOINTS
Definition CarlaBackend.h:361
static const uint PARAMETER_USES_SAMPLERATE
Definition CarlaBackend.h:356
static const uint PARAMETER_IS_READ_ONLY
Definition CarlaBackend.h:350
static const uint PARAMETER_IS_ENABLED
Definition CarlaBackend.h:336
static const uint PARAMETER_IS_LOGARITHMIC
Definition CarlaBackend.h:330
static const uint PARAMETER_IS_INTEGER
Definition CarlaBackend.h:325
static const uint PARAMETER_IS_AUTOMABLE
Definition CarlaBackend.h:344
static const uint PARAMETER_CAN_BE_CV_CONTROLLED
Definition CarlaBackend.h:372
static const uint PARAMETER_IS_AUTOMATABLE
Definition CarlaBackend.h:341
static const uint PARAMETER_IS_NOT_SAVED
Definition CarlaBackend.h:378
static const uint PATCHBAY_PORT_GROUP_MAIN_INPUT
Definition CarlaBackend.h:452
static const uint PATCHBAY_PORT_GROUP_STEREO
Definition CarlaBackend.h:462
static const uint PATCHBAY_PORT_GROUP_MID_SIDE
Definition CarlaBackend.h:467
static const uint PATCHBAY_PORT_GROUP_MAIN_OUTPUT
Definition CarlaBackend.h:457
static const uint PATCHBAY_PORT_TYPE_MIDI
Definition CarlaBackend.h:430
static const uint PATCHBAY_PORT_IS_INPUT
Definition CarlaBackend.h:415
static const uint PATCHBAY_PORT_TYPE_AUDIO
Definition CarlaBackend.h:420
static const uint PATCHBAY_PORT_TYPE_OSC
Definition CarlaBackend.h:435
static const uint PATCHBAY_PORT_TYPE_CV
Definition CarlaBackend.h:425
static const uint PLUGIN_CAN_PANNING
Definition CarlaBackend.h:172
static const uint PLUGIN_IS_BRIDGE
Definition CarlaBackend.h:136
static const uint PLUGIN_CAN_DRYWET
Definition CarlaBackend.h:157
static const uint PLUGIN_HAS_CUSTOM_UI
Definition CarlaBackend.h:152
static const uint PLUGIN_IS_SYNTH
Definition CarlaBackend.h:146
static const uint PLUGIN_CAN_BALANCE
Definition CarlaBackend.h:167
static const uint PLUGIN_HAS_INLINE_DISPLAY
Definition CarlaBackend.h:193
static const uint PLUGIN_NEEDS_UI_MAIN_THREAD
Definition CarlaBackend.h:182
static const uint PLUGIN_IS_RTSAFE
Definition CarlaBackend.h:141
static const uint PLUGIN_HAS_CUSTOM_UI_USING_FILE_OPEN
Definition CarlaBackend.h:205
static const uint PLUGIN_NEEDS_FIXED_BUFFERS
Definition CarlaBackend.h:177
static const uint PLUGIN_CAN_VOLUME
Definition CarlaBackend.h:162
static const uint PLUGIN_HAS_CUSTOM_EMBED_UI
Definition CarlaBackend.h:200
static const uint PLUGIN_USES_MULTI_PROGS
Definition CarlaBackend.h:188
static const uint PLUGIN_OPTION_SKIP_SENDING_NOTES
Definition CarlaBackend.h:277
static const uint PLUGIN_OPTION_SEND_PITCHBEND
Definition CarlaBackend.h:259
static const uint PLUGIN_OPTION_SEND_CONTROL_CHANGES
Definition CarlaBackend.h:244
static const uint PLUGIN_OPTION_SEND_CHANNEL_PRESSURE
Definition CarlaBackend.h:249
static const uint PLUGIN_OPTION_SEND_NOTE_AFTERTOUCH
Definition CarlaBackend.h:254
static const uint PLUGIN_OPTION_FIXED_BUFFERS
Definition CarlaBackend.h:224
static const uint PLUGIN_OPTION_FORCE_STEREO
Definition CarlaBackend.h:229
static const uint PLUGIN_OPTION_MAP_PROGRAM_CHANGES
Definition CarlaBackend.h:234
static const uint PLUGIN_OPTION_USE_CHUNKS
Definition CarlaBackend.h:239
static const uint PLUGIN_OPTIONS_NULL
Definition CarlaBackend.h:283
static const uint PLUGIN_OPTION_SEND_ALL_SOUND_OFF
Definition CarlaBackend.h:264
static const uint PLUGIN_OPTION_SEND_PROGRAM_CHANGES
Definition CarlaBackend.h:270
Definition CarlaBackend.h:1918
const char * value
Definition CarlaBackend.h:1934
const char * type
Definition CarlaBackend.h:1923
const char * key
Definition CarlaBackend.h:1929
Definition CarlaBackend.h:1954
const double * sampleRates
Definition CarlaBackend.h:1971
const uint32_t * bufferSizes
Definition CarlaBackend.h:1965
uint hints
Definition CarlaBackend.h:1959
Definition CarlaBackend.h:1897
uint32_t program
Definition CarlaBackend.h:1906
const char * name
Definition CarlaBackend.h:1911
uint32_t bank
Definition CarlaBackend.h:1901
Definition CarlaBackend.h:1708
uint mappedFlags
Definition CarlaBackend.h:1756
ParameterType type
Definition CarlaBackend.h:1712
uint8_t midiChannel
Definition CarlaBackend.h:1734
int32_t index
Definition CarlaBackend.h:1723
float mappedMaximum
Definition CarlaBackend.h:1750
int32_t rindex
Definition CarlaBackend.h:1728
float mappedMinimum
Definition CarlaBackend.h:1745
uint hints
Definition CarlaBackend.h:1718
int16_t mappedControlIndex
Definition CarlaBackend.h:1740
Definition CarlaBackend.h:1763
float max
Definition CarlaBackend.h:1777
float stepLarge
Definition CarlaBackend.h:1792
float min
Definition CarlaBackend.h:1772
float def
Definition CarlaBackend.h:1767
float stepSmall
Definition CarlaBackend.h:1787
float step
Definition CarlaBackend.h:1782