LMMS
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 constexpr const uint MAX_DEFAULT_PLUGINS = 512;
62
66static constexpr const uint MAX_RACK_PLUGINS = 64;
67
71static constexpr const uint MAX_PATCHBAY_PLUGINS = 255;
72
77static constexpr const uint MAX_DEFAULT_PARAMETERS = 200;
78
83static constexpr const uint MAIN_CARLA_PLUGIN_ID = 0xFFFF;
84
85/* ------------------------------------------------------------------------------------------------------------
86 * Engine Driver Device Hints */
87
95
99static constexpr const uint ENGINE_DRIVER_DEVICE_HAS_CONTROL_PANEL = 0x1;
100
105static constexpr const uint ENGINE_DRIVER_DEVICE_CAN_TRIPLE_BUFFER = 0x2;
106
112
118
120
121/* ------------------------------------------------------------------------------------------------------------
122 * Plugin Hints */
123
131
136static constexpr const uint PLUGIN_IS_BRIDGE = 0x001;
137
141static constexpr const uint PLUGIN_IS_RTSAFE = 0x002;
142
146static constexpr const uint PLUGIN_IS_SYNTH = 0x004;
147
152static constexpr const uint PLUGIN_HAS_CUSTOM_UI = 0x008;
153
157static constexpr const uint PLUGIN_CAN_DRYWET = 0x010;
158
162static constexpr const uint PLUGIN_CAN_VOLUME = 0x020;
163
167static constexpr const uint PLUGIN_CAN_BALANCE = 0x040;
168
172static constexpr const uint PLUGIN_CAN_PANNING = 0x080;
173
177static constexpr const uint PLUGIN_NEEDS_FIXED_BUFFERS = 0x100;
178
182static constexpr const uint PLUGIN_NEEDS_UI_MAIN_THREAD = 0x200;
183
188static constexpr const uint PLUGIN_USES_MULTI_PROGS = 0x400;
189
193static constexpr const uint PLUGIN_HAS_INLINE_DISPLAY = 0x800;
194
200static constexpr const uint PLUGIN_HAS_CUSTOM_EMBED_UI = 0x1000;
201
205static constexpr const uint PLUGIN_HAS_CUSTOM_UI_USING_FILE_OPEN = 0x2000;
206
211static constexpr const uint PLUGIN_NEEDS_MAIN_THREAD_IDLE = 0x4000;
212
214
215/* ------------------------------------------------------------------------------------------------------------
216 * Plugin Options */
217
226
230static constexpr const uint PLUGIN_OPTION_FIXED_BUFFERS = 0x001;
231
235static constexpr const uint PLUGIN_OPTION_FORCE_STEREO = 0x002;
236
240static constexpr const uint PLUGIN_OPTION_MAP_PROGRAM_CHANGES = 0x004;
241
245static constexpr const uint PLUGIN_OPTION_USE_CHUNKS = 0x008;
246
250static constexpr const uint PLUGIN_OPTION_SEND_CONTROL_CHANGES = 0x010;
251
255static constexpr const uint PLUGIN_OPTION_SEND_CHANNEL_PRESSURE = 0x020;
256
260static constexpr const uint PLUGIN_OPTION_SEND_NOTE_AFTERTOUCH = 0x040;
261
265static constexpr const uint PLUGIN_OPTION_SEND_PITCHBEND = 0x080;
266
270static constexpr const uint PLUGIN_OPTION_SEND_ALL_SOUND_OFF = 0x100;
271
276static constexpr const uint PLUGIN_OPTION_SEND_PROGRAM_CHANGES = 0x200;
277
283static constexpr const uint PLUGIN_OPTION_SKIP_SENDING_NOTES = 0x400;
284
289static constexpr const uint PLUGIN_OPTIONS_NULL = 0x10000;
290
292
293/* ------------------------------------------------------------------------------------------------------------
294 * Audio Port Hints */
295
303
307static constexpr const uint AUDIO_PORT_IS_SIDECHAIN = 0x1;
308
310
311/* ------------------------------------------------------------------------------------------------------------
312 * Parameter Hints */
313
321
326static constexpr const uint PARAMETER_IS_BOOLEAN = 0x001;
327
331static constexpr const uint PARAMETER_IS_INTEGER = 0x002;
332
336static constexpr const uint PARAMETER_IS_LOGARITHMIC = 0x004;
337
342static constexpr const uint PARAMETER_IS_ENABLED = 0x010;
343
347static constexpr const uint PARAMETER_IS_AUTOMATABLE = 0x020;
348
349/* for backwards compatibility */
350static constexpr const uint PARAMETER_IS_AUTOMABLE = 0x020;
351
356static constexpr const uint PARAMETER_IS_READ_ONLY = 0x040;
357
362static constexpr const uint PARAMETER_USES_SAMPLERATE = 0x100;
363
367static constexpr const uint PARAMETER_USES_SCALEPOINTS = 0x200;
368
373static constexpr const uint PARAMETER_USES_CUSTOM_TEXT = 0x400;
374
378static constexpr const uint PARAMETER_CAN_BE_CV_CONTROLLED = 0x800;
379
384static constexpr const uint PARAMETER_IS_NOT_SAVED = 0x1000;
385
387
388/* ------------------------------------------------------------------------------------------------------------
389 * Mapped Parameter Flags */
390
398
403static constexpr const uint PARAMETER_MAPPING_MIDI_DELTA = 0x001;
404
406
407/* ------------------------------------------------------------------------------------------------------------
408 * Patchbay Port Hints */
409
416
421static constexpr const uint PATCHBAY_PORT_IS_INPUT = 0x01;
422
426static constexpr const uint PATCHBAY_PORT_TYPE_AUDIO = 0x02;
427
431static constexpr const uint PATCHBAY_PORT_TYPE_CV = 0x04;
432
436static constexpr const uint PATCHBAY_PORT_TYPE_MIDI = 0x08;
437
441static constexpr const uint PATCHBAY_PORT_TYPE_OSC = 0x10;
442
444
445/* ------------------------------------------------------------------------------------------------------------
446 * Patchbay Port Group Hints */
447
454
458static constexpr const uint PATCHBAY_PORT_GROUP_MAIN_INPUT = 0x01;
459
463static constexpr const uint PATCHBAY_PORT_GROUP_MAIN_OUTPUT = 0x02;
464
468static constexpr const uint PATCHBAY_PORT_GROUP_STEREO = 0x04;
469
473static constexpr const uint PATCHBAY_PORT_GROUP_MID_SIDE = 0x08;
474
476
477/* ------------------------------------------------------------------------------------------------------------
478 * Custom Data Types */
479
487
492static constexpr const char* const CUSTOM_DATA_TYPE_BOOLEAN = "http://kxstudio.sf.net/ns/carla/boolean";
493
497static constexpr const char* const CUSTOM_DATA_TYPE_CHUNK = "http://kxstudio.sf.net/ns/carla/chunk";
498
502static constexpr const char* const CUSTOM_DATA_TYPE_PATH = "http://kxstudio.sf.net/ns/carla/path";
503
507static constexpr const char* const CUSTOM_DATA_TYPE_PROPERTY = "http://kxstudio.sf.net/ns/carla/property";
508
512static constexpr const char* const CUSTOM_DATA_TYPE_STRING = "http://kxstudio.sf.net/ns/carla/string";
513
515
516/* ------------------------------------------------------------------------------------------------------------
517 * Custom Data Keys */
518
526
530static constexpr const char* const CUSTOM_DATA_KEY_UI_POSITION = "CarlaUiPosition";
531
535static constexpr const char* const CUSTOM_DATA_KEY_UI_SIZE = "CarlaUiSize";
536
540static constexpr const char* const CUSTOM_DATA_KEY_UI_VISIBLE = "CarlaUiVisible";
541
543
544/* ------------------------------------------------------------------------------------------------------------
545 * Binary Type */
546
550typedef enum {
555
560
565
570
575
580
581} BinaryType;
582
583/* ------------------------------------------------------------------------------------------------------------
584 * File Type */
585
589typedef enum {
594
599
604
605} FileType;
606
607/* ------------------------------------------------------------------------------------------------------------
608 * Plugin Type */
609
614typedef enum {
619
624
629
634
639
644
649
655
660
665
670
675
680
685
690
695
696} PluginType;
697
698/* ------------------------------------------------------------------------------------------------------------
699 * Plugin Category */
700
756
757/* ------------------------------------------------------------------------------------------------------------
758 * Parameter Type */
759
780
781/* ------------------------------------------------------------------------------------------------------------
782 * Internal Parameter Index */
783
788typedef enum {
793
794#ifndef BUILD_BRIDGE_ALTERNATIVE_ARCH
800
806
812
818
824
830
836#endif
837
842
844
845/* ------------------------------------------------------------------------------------------------------------
846 * Special Mapped Control Index */
847
880
881/* ------------------------------------------------------------------------------------------------------------
882 * Engine Callback Opcode */
883
889typedef enum {
895
903
909
916
923
931
939
940#ifndef BUILD_BRIDGE_ALTERNATIVE_ARCH
948
956
965#endif
966
973
980
990
999
1007
1013
1019
1025
1031
1037
1038#ifndef BUILD_BRIDGE_ALTERNATIVE_ARCH
1048
1054
1061
1070
1081
1088
1098
1105
1111#endif
1112
1125
1130
1137
1145
1151
1157
1165
1170
1180
1187
1193
1199
1204
1210
1220
1227
1237
1245
1255
1263
1265
1266/* ------------------------------------------------------------------------------------------------------------
1267 * NSM Callback Opcode */
1268
1325
1326/* ------------------------------------------------------------------------------------------------------------
1327 * Engine Option */
1328
1333typedef enum {
1339
1346
1353
1361
1367
1373
1379
1385
1390
1396
1402
1408
1414
1420
1426
1427#ifndef BUILD_BRIDGE
1432
1440
1449#endif
1450
1456
1463
1470
1477
1483
1488
1493
1498
1503
1504#if !defined(BUILD_BRIDGE_ALTERNATIVE_ARCH) && !defined(CARLA_OS_WIN)
1509
1514
1519
1524
1529
1534#endif
1535
1536#ifndef BUILD_BRIDGE
1541#endif
1542
1549
1554
1555} EngineOption;
1556
1557/* ------------------------------------------------------------------------------------------------------------
1558 * Engine Process Mode */
1559
1594
1595/* ------------------------------------------------------------------------------------------------------------
1596 * Engine Transport Mode */
1597
1630
1631/* ------------------------------------------------------------------------------------------------------------
1632 * File Callback Opcode */
1633
1657
1658/* ------------------------------------------------------------------------------------------------------------
1659 * Patchbay Icon */
1660
1701
1702/* ------------------------------------------------------------------------------------------------------------
1703 * Carla Backend API (C stuff) */
1704
1710typedef void (*EngineCallbackFunc)(void* ptr, EngineCallbackOpcode action, uint pluginId,
1711 int value1, int value2, int value3,
1712 float valuef, const char* valueStr);
1713
1718typedef const char* (*FileCallbackFunc)(void* ptr, FileCallbackOpcode action, bool isDir, const char* title, const char* filter);
1719
1774
1778typedef struct _ParameterRanges {
1782 float def;
1783
1787 float min;
1788
1792 float max;
1793
1797 float step;
1798
1803
1808
1809#ifdef __cplusplus
1813 void fixDefault() noexcept
1814 {
1815 fixValue(def);
1816 }
1817
1821 void fixValue(float& value) const noexcept
1822 {
1823 if (value < min)
1824 value = min;
1825 else if (value > max)
1826 value = max;
1827 }
1828
1832 const float& getFixedValue(const float& value) const noexcept
1833 {
1834 if (value <= min)
1835 return min;
1836 if (value >= max)
1837 return max;
1838 return value;
1839 }
1840
1844 float getNormalizedValue(const float& value) const noexcept
1845 {
1846 const float normValue = (value - min) / (max - min);
1847
1848 if (normValue <= 0.0f)
1849 return 0.0f;
1850 if (normValue >= 1.0f)
1851 return 1.0f;
1852 return normValue;
1853 }
1854
1859 double getNormalizedValue(const double& value) const noexcept
1860 {
1861 const double normValue = (value - min) / (max - min);
1862
1863 if (normValue <= 0.0)
1864 return 0.0;
1865 if (normValue >= 1.0)
1866 return 1.0;
1867 return normValue;
1868 }
1869
1873 float getFixedAndNormalizedValue(const float& value) const noexcept
1874 {
1875 if (value <= min)
1876 return 0.0f;
1877 if (value >= max)
1878 return 1.0f;
1879
1880 const float normValue((value - min) / (max - min));
1881
1882 if (normValue <= 0.0f)
1883 return 0.0f;
1884 if (normValue >= 1.0f)
1885 return 1.0f;
1886
1887 return normValue;
1888 }
1889
1893 float getUnnormalizedValue(const float& value) const noexcept
1894 {
1895 if (value <= 0.0f)
1896 return min;
1897 if (value >= 1.0f)
1898 return max;
1899
1900 return value * (max - min) + min;
1901 }
1902
1906 float getUnnormalizedLogValue(const float& value) const noexcept
1907 {
1908 if (value <= 0.0f)
1909 return min;
1910 if (value >= 1.0f)
1911 return max;
1912
1913 float rmin = min;
1914
1915 if (std::abs(min) < std::numeric_limits<float>::epsilon())
1916 rmin = 0.00001f;
1917
1918 return rmin * std::pow(max/rmin, value);
1919 }
1920#endif /* __cplusplus */
1921
1923
1927typedef struct {
1932
1937
1941 const char* name;
1942
1944
1948typedef struct _CustomData {
1953 const char* type;
1954
1959 const char* key;
1960
1964 const char* value;
1965
1966#ifdef __cplusplus
1970 bool isValid() const noexcept
1971 {
1972 if (type == nullptr || type[0] == '\0') return false;
1973 if (key == nullptr || key [0] == '\0') return false;
1974 if (value == nullptr) return false;
1975 return true;
1976 }
1977#endif /* __cplusplus */
1978
1979} CustomData;
1980
1984typedef struct {
1990
1996
2001 const double* sampleRates;
2002
2004
2006
2007#ifdef __cplusplus
2008/* Forward declarations of commonly used Carla classes */
2009class CarlaEngine;
2010class CarlaEngineClient;
2011class CarlaEngineCVSourcePorts;
2012class CarlaPlugin;
2013/* End namespace */
2014CARLA_BACKEND_END_NAMESPACE
2015#endif
2016
2017#endif /* CARLA_BACKEND_H_INCLUDED */
unsigned int uint
Definition CarlaDefines.h:327
#define noexcept
Definition DistrhoDefines.h:72
static constexpr const uint AUDIO_PORT_IS_SIDECHAIN
Definition CarlaBackend.h:307
static constexpr const uint MAIN_CARLA_PLUGIN_ID
Definition CarlaBackend.h:83
FileType
Definition CarlaBackend.h:589
NsmCallbackOpcode
Definition CarlaBackend.h:1273
static constexpr const uint MAX_DEFAULT_PARAMETERS
Definition CarlaBackend.h:77
FileCallbackOpcode
Definition CarlaBackend.h:1639
static constexpr const uint MAX_PATCHBAY_PLUGINS
Definition CarlaBackend.h:71
void(* EngineCallbackFunc)(void *ptr, EngineCallbackOpcode action, uint pluginId, int value1, int value2, int value3, float valuef, const char *valueStr)
Definition CarlaBackend.h:1710
static constexpr const uint MAX_RACK_PLUGINS
Definition CarlaBackend.h:66
static constexpr const uint MAX_DEFAULT_PLUGINS
Definition CarlaBackend.h:61
ParameterType
Definition CarlaBackend.h:763
PluginType
Definition CarlaBackend.h:614
SpecialMappedControlIndex
Definition CarlaBackend.h:853
InternalParameterIndex
Definition CarlaBackend.h:788
BinaryType
Definition CarlaBackend.h:550
struct _ParameterRanges ParameterRanges
PluginCategory
Definition CarlaBackend.h:704
EngineOption
Definition CarlaBackend.h:1333
EngineTransportMode
Definition CarlaBackend.h:1602
struct _CustomData CustomData
Definition CarlaStateUtils.cpp:153
EngineProcessMode
Definition CarlaBackend.h:1564
PatchbayIcon
Definition CarlaBackend.h:1664
EngineCallbackOpcode
Definition CarlaBackend.h:889
@ FILE_NONE
Definition CarlaBackend.h:593
@ FILE_AUDIO
Definition CarlaBackend.h:598
@ NSM_CALLBACK_SET_CLIENT_NAME_ID
Definition CarlaBackend.h:1322
@ NSM_CALLBACK_ERROR
Definition CarlaBackend.h:1284
@ NSM_CALLBACK_SAVE
Definition CarlaBackend.h:1302
@ NSM_CALLBACK_SHOW_OPTIONAL_GUI
Definition CarlaBackend.h:1312
@ NSM_CALLBACK_SESSION_IS_LOADED
Definition CarlaBackend.h:1307
@ NSM_CALLBACK_OPEN
Definition CarlaBackend.h:1297
@ NSM_CALLBACK_INIT
Definition CarlaBackend.h:1277
@ NSM_CALLBACK_ANNOUNCE
Definition CarlaBackend.h:1291
@ NSM_CALLBACK_HIDE_OPTIONAL_GUI
Definition CarlaBackend.h:1317
@ FILE_CALLBACK_SAVE
Definition CarlaBackend.h:1654
@ FILE_CALLBACK_OPEN
Definition CarlaBackend.h:1649
@ FILE_CALLBACK_DEBUG
Definition CarlaBackend.h:1644
@ PARAMETER_UNKNOWN
Definition CarlaBackend.h:767
@ PARAMETER_INPUT
Definition CarlaBackend.h:772
@ PARAMETER_OUTPUT
Definition CarlaBackend.h:777
@ PLUGIN_CLAP
Definition CarlaBackend.h:689
@ PLUGIN_TYPE_COUNT
Definition CarlaBackend.h:694
@ PLUGIN_LV2
Definition CarlaBackend.h:638
@ PLUGIN_VST2
Definition CarlaBackend.h:643
@ PLUGIN_SFZ
Definition CarlaBackend.h:674
@ PLUGIN_JACK
Definition CarlaBackend.h:679
@ PLUGIN_INTERNAL
Definition CarlaBackend.h:623
@ PLUGIN_DLS
Definition CarlaBackend.h:659
@ PLUGIN_SF2
Definition CarlaBackend.h:669
@ PLUGIN_NONE
Definition CarlaBackend.h:618
@ PLUGIN_LADSPA
Definition CarlaBackend.h:628
@ PLUGIN_GIG
Definition CarlaBackend.h:664
@ PLUGIN_DSSI
Definition CarlaBackend.h:633
@ PLUGIN_AU
Definition CarlaBackend.h:654
@ PLUGIN_VST3
Definition CarlaBackend.h:648
@ PLUGIN_JSFX
Definition CarlaBackend.h:684
@ CONTROL_INDEX_MIDI_PITCHBEND
Definition CarlaBackend.h:867
@ CONTROL_INDEX_CV
Definition CarlaBackend.h:862
@ CONTROL_INDEX_MAX_ALLOWED
Definition CarlaBackend.h:877
@ CONTROL_INDEX_NONE
Definition CarlaBackend.h:857
@ CONTROL_INDEX_MIDI_LEARN
Definition CarlaBackend.h:872
@ PARAMETER_CTRL_CHANNEL
Definition CarlaBackend.h:835
@ PARAMETER_DRYWET
Definition CarlaBackend.h:805
@ PARAMETER_NULL
Definition CarlaBackend.h:792
@ PARAMETER_BALANCE_LEFT
Definition CarlaBackend.h:817
@ PARAMETER_BALANCE_RIGHT
Definition CarlaBackend.h:823
@ PARAMETER_PANNING
Definition CarlaBackend.h:829
@ PARAMETER_VOLUME
Definition CarlaBackend.h:811
@ PARAMETER_MAX
Definition CarlaBackend.h:841
@ PARAMETER_ACTIVE
Definition CarlaBackend.h:799
@ BINARY_WIN32
Definition CarlaBackend.h:569
@ BINARY_OTHER
Definition CarlaBackend.h:579
@ BINARY_POSIX32
Definition CarlaBackend.h:559
@ BINARY_POSIX64
Definition CarlaBackend.h:564
@ BINARY_NONE
Definition CarlaBackend.h:554
@ BINARY_WIN64
Definition CarlaBackend.h:574
@ PLUGIN_CATEGORY_DISTORTION
Definition CarlaBackend.h:733
@ PLUGIN_CATEGORY_DYNAMICS
Definition CarlaBackend.h:738
@ PLUGIN_CATEGORY_OTHER
Definition CarlaBackend.h:753
@ PLUGIN_CATEGORY_DELAY
Definition CarlaBackend.h:718
@ PLUGIN_CATEGORY_EQ
Definition CarlaBackend.h:723
@ PLUGIN_CATEGORY_UTILITY
Definition CarlaBackend.h:748
@ PLUGIN_CATEGORY_FILTER
Definition CarlaBackend.h:728
@ PLUGIN_CATEGORY_SYNTH
Definition CarlaBackend.h:713
@ PLUGIN_CATEGORY_NONE
Definition CarlaBackend.h:708
@ PLUGIN_CATEGORY_MODULATOR
Definition CarlaBackend.h:743
@ ENGINE_OPTION_RESET_XRUNS
Definition CarlaBackend.h:1389
@ ENGINE_OPTION_AUDIO_DEVICE
Definition CarlaBackend.h:1425
@ ENGINE_OPTION_MAX_PARAMETERS
Definition CarlaBackend.h:1384
@ ENGINE_OPTION_OSC_PORT_TCP
Definition CarlaBackend.h:1439
@ ENGINE_OPTION_WINE_AUTO_PREFIX
Definition CarlaBackend.h:1513
@ ENGINE_OPTION_FILE_PATH
Definition CarlaBackend.h:1455
@ ENGINE_OPTION_FRONTEND_UI_SCALE
Definition CarlaBackend.h:1497
@ ENGINE_OPTION_OSC_PORT_UDP
Definition CarlaBackend.h:1448
@ ENGINE_OPTION_UIS_ALWAYS_ON_TOP
Definition CarlaBackend.h:1378
@ ENGINE_OPTION_CLIENT_NAME_PREFIX
Definition CarlaBackend.h:1548
@ ENGINE_OPTION_PROCESS_MODE
Definition CarlaBackend.h:1345
@ ENGINE_OPTION_FRONTEND_FOREGROUND_COLOR
Definition CarlaBackend.h:1492
@ ENGINE_OPTION_PLUGINS_ARE_STANDALONE
Definition CarlaBackend.h:1553
@ ENGINE_OPTION_OSC_ENABLED
Definition CarlaBackend.h:1431
@ ENGINE_OPTION_PREVENT_BAD_BEHAVIOUR
Definition CarlaBackend.h:1482
@ ENGINE_OPTION_AUDIO_TRIPLE_BUFFER
Definition CarlaBackend.h:1413
@ ENGINE_OPTION_UI_BRIDGES_TIMEOUT
Definition CarlaBackend.h:1395
@ ENGINE_OPTION_AUDIO_SAMPLE_RATE
Definition CarlaBackend.h:1407
@ ENGINE_OPTION_PREFER_PLUGIN_BRIDGES
Definition CarlaBackend.h:1366
@ ENGINE_OPTION_FORCE_STEREO
Definition CarlaBackend.h:1360
@ ENGINE_OPTION_WINE_EXECUTABLE
Definition CarlaBackend.h:1508
@ ENGINE_OPTION_DEBUG_CONSOLE_OUTPUT
Definition CarlaBackend.h:1540
@ ENGINE_OPTION_FRONTEND_WIN_ID
Definition CarlaBackend.h:1502
@ ENGINE_OPTION_AUDIO_BUFFER_SIZE
Definition CarlaBackend.h:1401
@ ENGINE_OPTION_WINE_BASE_RT_PRIO
Definition CarlaBackend.h:1528
@ ENGINE_OPTION_WINE_RT_PRIO_ENABLED
Definition CarlaBackend.h:1523
@ ENGINE_OPTION_PREFER_UI_BRIDGES
Definition CarlaBackend.h:1372
@ ENGINE_OPTION_TRANSPORT_MODE
Definition CarlaBackend.h:1352
@ ENGINE_OPTION_DEBUG
Definition CarlaBackend.h:1338
@ ENGINE_OPTION_WINE_FALLBACK_PREFIX
Definition CarlaBackend.h:1518
@ ENGINE_OPTION_WINE_SERVER_RT_PRIO
Definition CarlaBackend.h:1533
@ ENGINE_OPTION_PLUGIN_PATH
Definition CarlaBackend.h:1462
@ ENGINE_OPTION_PATH_BINARIES
Definition CarlaBackend.h:1469
@ ENGINE_OPTION_FRONTEND_BACKGROUND_COLOR
Definition CarlaBackend.h:1487
@ ENGINE_OPTION_PATH_RESOURCES
Definition CarlaBackend.h:1476
@ ENGINE_OPTION_AUDIO_DRIVER
Definition CarlaBackend.h:1419
@ ENGINE_TRANSPORT_MODE_PLUGIN
Definition CarlaBackend.h:1622
@ ENGINE_TRANSPORT_MODE_BRIDGE
Definition CarlaBackend.h:1627
@ ENGINE_TRANSPORT_MODE_JACK
Definition CarlaBackend.h:1617
@ ENGINE_TRANSPORT_MODE_INTERNAL
Definition CarlaBackend.h:1611
@ ENGINE_TRANSPORT_MODE_DISABLED
Definition CarlaBackend.h:1606
@ ENGINE_PROCESS_MODE_MULTIPLE_CLIENTS
Definition CarlaBackend.h:1575
@ ENGINE_PROCESS_MODE_BRIDGE
Definition CarlaBackend.h:1591
@ ENGINE_PROCESS_MODE_SINGLE_CLIENT
Definition CarlaBackend.h:1569
@ ENGINE_PROCESS_MODE_CONTINUOUS_RACK
Definition CarlaBackend.h:1581
@ ENGINE_PROCESS_MODE_PATCHBAY
Definition CarlaBackend.h:1586
@ PATCHBAY_ICON_APPLICATION
Definition CarlaBackend.h:1669
@ PATCHBAY_ICON_FILE
Definition CarlaBackend.h:1699
@ PATCHBAY_ICON_HARDWARE
Definition CarlaBackend.h:1681
@ PATCHBAY_ICON_PLUGIN
Definition CarlaBackend.h:1675
@ PATCHBAY_ICON_CARLA
Definition CarlaBackend.h:1687
@ PATCHBAY_ICON_DISTRHO
Definition CarlaBackend.h:1693
@ ENGINE_CALLBACK_UI_STATE_CHANGED
Definition CarlaBackend.h:989
@ ENGINE_CALLBACK_PARAMETER_DEFAULT_CHANGED
Definition CarlaBackend.h:938
@ ENGINE_CALLBACK_RELOAD_ALL
Definition CarlaBackend.h:1036
@ ENGINE_CALLBACK_PROGRAM_CHANGED
Definition CarlaBackend.h:972
@ ENGINE_CALLBACK_PATCHBAY_PORT_CHANGED
Definition CarlaBackend.h:1097
@ ENGINE_CALLBACK_PARAMETER_VALUE_CHANGED
Definition CarlaBackend.h:930
@ ENGINE_CALLBACK_OPTION_CHANGED
Definition CarlaBackend.h:964
@ ENGINE_CALLBACK_NOTE_OFF
Definition CarlaBackend.h:1006
@ ENGINE_CALLBACK_PATCHBAY_PORT_GROUP_ADDED
Definition CarlaBackend.h:1219
@ ENGINE_CALLBACK_PATCHBAY_CLIENT_DATA_CHANGED
Definition CarlaBackend.h:1069
@ ENGINE_CALLBACK_PATCHBAY_CONNECTION_REMOVED
Definition CarlaBackend.h:1110
@ ENGINE_CALLBACK_PATCHBAY_CLIENT_REMOVED
Definition CarlaBackend.h:1053
@ ENGINE_CALLBACK_PROJECT_LOAD_FINISHED
Definition CarlaBackend.h:1169
@ ENGINE_CALLBACK_PATCHBAY_CONNECTION_ADDED
Definition CarlaBackend.h:1104
@ ENGINE_CALLBACK_PLUGIN_REMOVED
Definition CarlaBackend.h:908
@ ENGINE_CALLBACK_TRANSPORT_MODE_CHANGED
Definition CarlaBackend.h:1144
@ ENGINE_CALLBACK_UPDATE
Definition CarlaBackend.h:1012
@ ENGINE_CALLBACK_PLUGIN_ADDED
Definition CarlaBackend.h:902
@ ENGINE_CALLBACK_RELOAD_INFO
Definition CarlaBackend.h:1018
@ ENGINE_CALLBACK_RELOAD_PROGRAMS
Definition CarlaBackend.h:1030
@ ENGINE_CALLBACK_BUFFER_SIZE_CHANGED
Definition CarlaBackend.h:1150
@ ENGINE_CALLBACK_CANCELABLE_ACTION
Definition CarlaBackend.h:1164
@ ENGINE_CALLBACK_INFO
Definition CarlaBackend.h:1192
@ ENGINE_CALLBACK_PATCHBAY_CLIENT_ADDED
Definition CarlaBackend.h:1047
@ ENGINE_CALLBACK_IDLE
Definition CarlaBackend.h:1186
@ ENGINE_CALLBACK_PARAMETER_MIDI_CHANNEL_CHANGED
Definition CarlaBackend.h:955
@ ENGINE_CALLBACK_PATCHBAY_PORT_GROUP_REMOVED
Definition CarlaBackend.h:1226
@ ENGINE_CALLBACK_PATCHBAY_CLIENT_RENAMED
Definition CarlaBackend.h:1060
@ ENGINE_CALLBACK_RELOAD_PARAMETERS
Definition CarlaBackend.h:1024
@ ENGINE_CALLBACK_QUIT
Definition CarlaBackend.h:1203
@ ENGINE_CALLBACK_PARAMETER_MAPPED_CONTROL_INDEX_CHANGED
Definition CarlaBackend.h:947
@ ENGINE_CALLBACK_ENGINE_STOPPED
Definition CarlaBackend.h:1129
@ ENGINE_CALLBACK_PATCHBAY_PORT_ADDED
Definition CarlaBackend.h:1080
@ ENGINE_CALLBACK_PLUGIN_UNAVAILABLE
Definition CarlaBackend.h:922
@ ENGINE_CALLBACK_NOTE_ON
Definition CarlaBackend.h:998
@ ENGINE_CALLBACK_PROCESS_MODE_CHANGED
Definition CarlaBackend.h:1136
@ ENGINE_CALLBACK_ENGINE_STARTED
Definition CarlaBackend.h:1124
@ ENGINE_CALLBACK_PLUGIN_RENAMED
Definition CarlaBackend.h:915
@ ENGINE_CALLBACK_MIDI_PROGRAM_CHANGED
Definition CarlaBackend.h:979
@ ENGINE_CALLBACK_SAMPLE_RATE_CHANGED
Definition CarlaBackend.h:1156
@ ENGINE_CALLBACK_NSM
Definition CarlaBackend.h:1179
@ ENGINE_CALLBACK_PATCHBAY_CLIENT_POSITION_CHANGED
Definition CarlaBackend.h:1254
@ ENGINE_CALLBACK_DEBUG
Definition CarlaBackend.h:894
@ ENGINE_CALLBACK_EMBED_UI_RESIZED
Definition CarlaBackend.h:1262
@ ENGINE_CALLBACK_INLINE_DISPLAY_REDRAW
Definition CarlaBackend.h:1209
@ ENGINE_CALLBACK_PATCHBAY_PORT_REMOVED
Definition CarlaBackend.h:1087
@ ENGINE_CALLBACK_PARAMETER_MAPPED_RANGE_CHANGED
Definition CarlaBackend.h:1244
@ ENGINE_CALLBACK_ERROR
Definition CarlaBackend.h:1198
@ ENGINE_CALLBACK_PATCHBAY_PORT_GROUP_CHANGED
Definition CarlaBackend.h:1236
static constexpr const char *const CUSTOM_DATA_KEY_UI_POSITION
Definition CarlaBackend.h:530
static constexpr const char *const CUSTOM_DATA_KEY_UI_SIZE
Definition CarlaBackend.h:535
static constexpr const char *const CUSTOM_DATA_KEY_UI_VISIBLE
Definition CarlaBackend.h:540
static constexpr const char *const CUSTOM_DATA_TYPE_PATH
Definition CarlaBackend.h:502
static constexpr const char *const CUSTOM_DATA_TYPE_PROPERTY
Definition CarlaBackend.h:507
static constexpr const char *const CUSTOM_DATA_TYPE_STRING
Definition CarlaBackend.h:512
static constexpr const char *const CUSTOM_DATA_TYPE_CHUNK
Definition CarlaBackend.h:497
static constexpr const char *const CUSTOM_DATA_TYPE_BOOLEAN
Definition CarlaBackend.h:492
static constexpr const uint ENGINE_DRIVER_DEVICE_VARIABLE_BUFFER_SIZE
Definition CarlaBackend.h:111
static constexpr const uint ENGINE_DRIVER_DEVICE_HAS_CONTROL_PANEL
Definition CarlaBackend.h:99
static constexpr const uint ENGINE_DRIVER_DEVICE_VARIABLE_SAMPLE_RATE
Definition CarlaBackend.h:117
static constexpr const uint ENGINE_DRIVER_DEVICE_CAN_TRIPLE_BUFFER
Definition CarlaBackend.h:105
static constexpr const uint PARAMETER_MAPPING_MIDI_DELTA
Definition CarlaBackend.h:403
static constexpr const uint PARAMETER_IS_INTEGER
Definition CarlaBackend.h:331
static constexpr const uint PARAMETER_IS_AUTOMABLE
Definition CarlaBackend.h:350
static constexpr const uint PARAMETER_USES_SCALEPOINTS
Definition CarlaBackend.h:367
static constexpr const uint PARAMETER_CAN_BE_CV_CONTROLLED
Definition CarlaBackend.h:378
static constexpr const uint PARAMETER_IS_BOOLEAN
Definition CarlaBackend.h:326
static constexpr const uint PARAMETER_IS_NOT_SAVED
Definition CarlaBackend.h:384
static constexpr const uint PARAMETER_IS_AUTOMATABLE
Definition CarlaBackend.h:347
static constexpr const uint PARAMETER_IS_READ_ONLY
Definition CarlaBackend.h:356
static constexpr const uint PARAMETER_USES_SAMPLERATE
Definition CarlaBackend.h:362
static constexpr const uint PARAMETER_IS_ENABLED
Definition CarlaBackend.h:342
static constexpr const uint PARAMETER_IS_LOGARITHMIC
Definition CarlaBackend.h:336
static constexpr const uint PARAMETER_USES_CUSTOM_TEXT
Definition CarlaBackend.h:373
static constexpr const uint PATCHBAY_PORT_GROUP_STEREO
Definition CarlaBackend.h:468
static constexpr const uint PATCHBAY_PORT_GROUP_MAIN_OUTPUT
Definition CarlaBackend.h:463
static constexpr const uint PATCHBAY_PORT_GROUP_MID_SIDE
Definition CarlaBackend.h:473
static constexpr const uint PATCHBAY_PORT_GROUP_MAIN_INPUT
Definition CarlaBackend.h:458
static constexpr const uint PATCHBAY_PORT_TYPE_CV
Definition CarlaBackend.h:431
static constexpr const uint PATCHBAY_PORT_TYPE_MIDI
Definition CarlaBackend.h:436
static constexpr const uint PATCHBAY_PORT_IS_INPUT
Definition CarlaBackend.h:421
static constexpr const uint PATCHBAY_PORT_TYPE_AUDIO
Definition CarlaBackend.h:426
static constexpr const uint PATCHBAY_PORT_TYPE_OSC
Definition CarlaBackend.h:441
static constexpr const uint PLUGIN_HAS_CUSTOM_UI
Definition CarlaBackend.h:152
static constexpr const uint PLUGIN_CAN_DRYWET
Definition CarlaBackend.h:157
static constexpr const uint PLUGIN_CAN_PANNING
Definition CarlaBackend.h:172
static constexpr const uint PLUGIN_IS_RTSAFE
Definition CarlaBackend.h:141
static constexpr const uint PLUGIN_CAN_VOLUME
Definition CarlaBackend.h:162
static constexpr const uint PLUGIN_HAS_INLINE_DISPLAY
Definition CarlaBackend.h:193
static constexpr const uint PLUGIN_NEEDS_FIXED_BUFFERS
Definition CarlaBackend.h:177
static constexpr const uint PLUGIN_CAN_BALANCE
Definition CarlaBackend.h:167
static constexpr const uint PLUGIN_USES_MULTI_PROGS
Definition CarlaBackend.h:188
static constexpr const uint PLUGIN_HAS_CUSTOM_EMBED_UI
Definition CarlaBackend.h:200
static constexpr const uint PLUGIN_IS_SYNTH
Definition CarlaBackend.h:146
static constexpr const uint PLUGIN_NEEDS_UI_MAIN_THREAD
Definition CarlaBackend.h:182
static constexpr const uint PLUGIN_NEEDS_MAIN_THREAD_IDLE
Definition CarlaBackend.h:211
static constexpr const uint PLUGIN_HAS_CUSTOM_UI_USING_FILE_OPEN
Definition CarlaBackend.h:205
static constexpr const uint PLUGIN_IS_BRIDGE
Definition CarlaBackend.h:136
static constexpr const uint PLUGIN_OPTION_SEND_PITCHBEND
Definition CarlaBackend.h:265
static constexpr const uint PLUGIN_OPTION_FIXED_BUFFERS
Definition CarlaBackend.h:230
static constexpr const uint PLUGIN_OPTION_MAP_PROGRAM_CHANGES
Definition CarlaBackend.h:240
static constexpr const uint PLUGIN_OPTION_SEND_CHANNEL_PRESSURE
Definition CarlaBackend.h:255
static constexpr const uint PLUGIN_OPTION_SEND_CONTROL_CHANGES
Definition CarlaBackend.h:250
static constexpr const uint PLUGIN_OPTION_SEND_PROGRAM_CHANGES
Definition CarlaBackend.h:276
static constexpr const uint PLUGIN_OPTION_USE_CHUNKS
Definition CarlaBackend.h:245
static constexpr const uint PLUGIN_OPTION_SEND_ALL_SOUND_OFF
Definition CarlaBackend.h:270
static constexpr const uint PLUGIN_OPTION_SEND_NOTE_AFTERTOUCH
Definition CarlaBackend.h:260
static constexpr const uint PLUGIN_OPTION_SKIP_SENDING_NOTES
Definition CarlaBackend.h:283
static constexpr const uint PLUGIN_OPTION_FORCE_STEREO
Definition CarlaBackend.h:235
static constexpr const uint PLUGIN_OPTIONS_NULL
Definition CarlaBackend.h:289
static PuglViewHint int value
Definition pugl.h:1708
static const char * title
Definition pugl.h:1747
int int32_t
Definition mid.cpp:97
unsigned int uint32_t
Definition mid.cpp:100
short int16_t
Definition mid.cpp:96
#define FILE_MIDI
Definition mid.cpp:114
unsigned char uint8_t
Definition mid.cpp:98
#define min(x, y)
Definition os.h:74
#define max(x, y)
Definition os.h:78
Definition CarlaBackend.h:1948
const char * key
Definition CarlaBackend.h:1959
const char * type
Definition CarlaBackend.h:1953
const char * value
Definition CarlaBackend.h:1964
Definition CarlaBackend.h:1778
float stepSmall
Definition CarlaBackend.h:1802
float stepLarge
Definition CarlaBackend.h:1807
float def
Definition CarlaBackend.h:1782
float max
Definition CarlaBackend.h:1792
float step
Definition CarlaBackend.h:1797
float min
Definition CarlaBackend.h:1787
Definition CarlaBackend.h:1984
const double * sampleRates
Definition CarlaBackend.h:2001
const uint32_t * bufferSizes
Definition CarlaBackend.h:1995
uint hints
Definition CarlaBackend.h:1989
Definition CarlaBackend.h:1927
uint32_t program
Definition CarlaBackend.h:1936
const char * name
Definition CarlaBackend.h:1941
uint32_t bank
Definition CarlaBackend.h:1931
Definition CarlaBackend.h:1723
uint mappedFlags
Definition CarlaBackend.h:1771
ParameterType type
Definition CarlaBackend.h:1727
uint8_t midiChannel
Definition CarlaBackend.h:1749
int32_t index
Definition CarlaBackend.h:1738
float mappedMaximum
Definition CarlaBackend.h:1765
int32_t rindex
Definition CarlaBackend.h:1743
float mappedMinimum
Definition CarlaBackend.h:1760
uint hints
Definition CarlaBackend.h:1733
int16_t mappedControlIndex
Definition CarlaBackend.h:1755
#define void
Definition unzip.h:396
#define const
Definition zconf.h:137