Carla Backend
Loading...
Searching...
No Matches
CarlaHost.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_HOST_H_INCLUDED
19#define CARLA_HOST_H_INCLUDED
20
21#include "CarlaBackend.h"
22
23#ifdef __cplusplus
24using CARLA_BACKEND_NAMESPACE::BinaryType;
25using CARLA_BACKEND_NAMESPACE::PluginType;
26using CARLA_BACKEND_NAMESPACE::PluginCategory;
27using CARLA_BACKEND_NAMESPACE::InternalParameterIndex;
28using CARLA_BACKEND_NAMESPACE::EngineCallbackOpcode;
29using CARLA_BACKEND_NAMESPACE::NsmCallbackOpcode;
30using CARLA_BACKEND_NAMESPACE::EngineOption;
31using CARLA_BACKEND_NAMESPACE::EngineProcessMode;
32using CARLA_BACKEND_NAMESPACE::EngineTransportMode;
33using CARLA_BACKEND_NAMESPACE::FileCallbackOpcode;
34using CARLA_BACKEND_NAMESPACE::EngineCallbackFunc;
35using CARLA_BACKEND_NAMESPACE::FileCallbackFunc;
36using CARLA_BACKEND_NAMESPACE::ParameterData;
37using CARLA_BACKEND_NAMESPACE::ParameterRanges;
38using CARLA_BACKEND_NAMESPACE::MidiProgramData;
39using CARLA_BACKEND_NAMESPACE::CustomData;
40using CARLA_BACKEND_NAMESPACE::EngineDriverDeviceInfo;
41using CARLA_BACKEND_NAMESPACE::CarlaEngine;
42using CARLA_BACKEND_NAMESPACE::CarlaEngineClient;
43using CARLA_BACKEND_NAMESPACE::CarlaPlugin;
44#endif
45
57
58/* ------------------------------------------------------------------------------------------------------------
59 * Carla Host API (C stuff) */
60
65typedef struct _CarlaPluginInfo {
70
75
80 uint hints;
81
87
94
99 const char* filename;
100
106 const char* name;
107
111 const char* label;
112
116 const char* maker;
117
121 const char* copyright;
122
127 const char* iconName;
128
133 int64_t uniqueId;
134
135#ifdef __cplusplus
139 CARLA_API _CarlaPluginInfo() noexcept;
140 CARLA_API ~_CarlaPluginInfo() noexcept;
141 CARLA_DECLARE_NON_COPYABLE(_CarlaPluginInfo)
142#endif
143
145
152typedef struct _CarlaPortCountInfo {
156 uint32_t ins;
157
161 uint32_t outs;
162
164
169typedef struct _CarlaParameterInfo {
173 const char* name;
174
178 const char* symbol;
179
183 const char* unit;
184
188 const char* comment;
189
193 const char* groupName;
194
200
201#ifdef __cplusplus
205 CARLA_API _CarlaParameterInfo() noexcept;
206 CARLA_API ~_CarlaParameterInfo() noexcept;
207 CARLA_DECLARE_NON_COPYABLE(_CarlaParameterInfo)
208#endif
209
211
216typedef struct _CarlaScalePointInfo {
220 float value;
221
225 const char* label;
226
227#ifdef __cplusplus
231 CARLA_API _CarlaScalePointInfo() noexcept;
232 CARLA_API ~_CarlaScalePointInfo() noexcept;
233 CARLA_DECLARE_NON_COPYABLE(_CarlaScalePointInfo)
234#endif
235
237
242typedef struct _CarlaTransportInfo {
247
251 uint64_t frame;
252
256 int32_t bar;
257
261 int32_t beat;
262
266 int32_t tick;
267
271 double bpm;
272
273#ifdef __cplusplus
277 CARLA_API _CarlaTransportInfo() noexcept;
278
282 CARLA_API void clear() noexcept;
283#endif
284
286
290typedef struct _CarlaRuntimeEngineInfo {
294 float load;
295
299 uint32_t xruns;
300
302
306typedef struct {
310 const char* name;
311
316 uint hints;
317
322
327 const uint32_t* bufferSizes;
328
333
338 const double* sampleRates;
339
341
346typedef struct {
347 unsigned char* data;
348 int width;
352
354typedef struct _CarlaHostHandle* CarlaHostHandle;
355
356/* ------------------------------------------------------------------------------------------------------------
357 * Carla Host API (C functions) */
358
362CARLA_API_EXPORT uint carla_get_engine_driver_count(void);
363
368CARLA_API_EXPORT const char* carla_get_engine_driver_name(uint index);
369
374CARLA_API_EXPORT const char* const* carla_get_engine_driver_device_names(uint index);
375
381CARLA_API_EXPORT const EngineDriverDeviceInfo* carla_get_engine_driver_device_info(uint index, const char* name);
382
389CARLA_API_EXPORT bool carla_show_engine_driver_device_control_panel(uint index, const char* name);
390
394CARLA_API_EXPORT CarlaHostHandle carla_standalone_host_init(void);
395
396#ifdef __cplusplus
402#endif
403
410CARLA_API_EXPORT bool carla_engine_init(CarlaHostHandle handle, const char* driverName, const char* clientName);
411
412#ifdef BUILD_BRIDGE
416CARLA_API_EXPORT bool carla_engine_init_bridge(CarlaHostHandle handle,
417 const char audioBaseName[6+1],
418 const char rtClientBaseName[6+1],
419 const char nonRtClientBaseName[6+1],
420 const char nonRtServerBaseName[6+1],
421 const char* clientName);
422#endif
423
429CARLA_API_EXPORT bool carla_engine_close(CarlaHostHandle handle);
430
435CARLA_API_EXPORT void carla_engine_idle(CarlaHostHandle handle);
436
440CARLA_API_EXPORT bool carla_is_engine_running(CarlaHostHandle handle);
441
446
447#ifndef BUILD_BRIDGE
452
458CARLA_API_EXPORT bool carla_set_engine_buffer_size_and_sample_rate(CarlaHostHandle handle, uint bufferSize, double sampleRate);
459
464CARLA_API_EXPORT bool carla_show_engine_device_control_panel(CarlaHostHandle handle);
465#endif
466
470CARLA_API_EXPORT void carla_clear_engine_xruns(CarlaHostHandle handle);
471
476CARLA_API_EXPORT void carla_cancel_engine_action(CarlaHostHandle handle);
477
483CARLA_API_EXPORT bool carla_set_engine_about_to_close(CarlaHostHandle handle);
484
490CARLA_API_EXPORT void carla_set_engine_callback(CarlaHostHandle handle, EngineCallbackFunc func, void* ptr);
491
498CARLA_API_EXPORT void carla_set_engine_option(CarlaHostHandle handle, EngineOption option, int value, const char* valueStr);
499
505CARLA_API_EXPORT void carla_set_file_callback(CarlaHostHandle handle, FileCallbackFunc func, void* ptr);
506
513CARLA_API_EXPORT bool carla_load_file(CarlaHostHandle handle, const char* filename);
514
519CARLA_API_EXPORT bool carla_load_project(CarlaHostHandle handle, const char* filename);
520
524CARLA_API_EXPORT bool carla_save_project(CarlaHostHandle handle, const char* filename);
525
526#ifndef BUILD_BRIDGE
531CARLA_API_EXPORT const char* carla_get_current_project_folder(CarlaHostHandle handle);
532
537CARLA_API_EXPORT const char* carla_get_current_project_filename(CarlaHostHandle handle);
538
542CARLA_API_EXPORT void carla_clear_project_filename(CarlaHostHandle handle);
543
554CARLA_API_EXPORT bool carla_patchbay_connect(CarlaHostHandle handle, bool external, uint groupIdA, uint portIdA, uint groupIdB, uint portIdB);
555
561CARLA_API_EXPORT bool carla_patchbay_disconnect(CarlaHostHandle handle, bool external, uint connectionId);
562
569CARLA_API_EXPORT bool carla_patchbay_set_group_pos(CarlaHostHandle handle, bool external,
570 uint groupId, int x1, int y1, int x2, int y2);
571
577CARLA_API_EXPORT bool carla_patchbay_refresh(CarlaHostHandle handle, bool external);
578
582CARLA_API_EXPORT void carla_transport_play(CarlaHostHandle handle);
583
587CARLA_API_EXPORT void carla_transport_pause(CarlaHostHandle handle);
588
592CARLA_API_EXPORT void carla_transport_bpm(CarlaHostHandle handle, double bpm);
593
597CARLA_API_EXPORT void carla_transport_relocate(CarlaHostHandle handle, uint64_t frame);
598
602CARLA_API_EXPORT uint64_t carla_get_current_transport_frame(CarlaHostHandle handle);
603
607CARLA_API_EXPORT const CarlaTransportInfo* carla_get_transport_info(CarlaHostHandle handle);
608#endif
609
613CARLA_API_EXPORT uint32_t carla_get_current_plugin_count(CarlaHostHandle handle);
614
619CARLA_API_EXPORT uint32_t carla_get_max_plugin_number(CarlaHostHandle handle);
620
633CARLA_API_EXPORT bool carla_add_plugin(CarlaHostHandle handle,
634 BinaryType btype, PluginType ptype,
635 const char* filename, const char* name, const char* label, int64_t uniqueId,
636 const void* extraPtr, uint options);
637
642CARLA_API_EXPORT bool carla_remove_plugin(CarlaHostHandle handle, uint pluginId);
643
647CARLA_API_EXPORT bool carla_remove_all_plugins(CarlaHostHandle handle);
648
649#ifndef BUILD_BRIDGE
656CARLA_API_EXPORT bool carla_rename_plugin(CarlaHostHandle handle, uint pluginId, const char* newName);
657
662CARLA_API_EXPORT bool carla_clone_plugin(CarlaHostHandle handle, uint pluginId);
663
670CARLA_API_EXPORT bool carla_replace_plugin(CarlaHostHandle handle, uint pluginId);
671
677CARLA_API_EXPORT bool carla_switch_plugins(CarlaHostHandle handle, uint pluginIdA, uint pluginIdB);
678#endif
679
686CARLA_API_EXPORT bool carla_load_plugin_state(CarlaHostHandle handle, uint pluginId, const char* filename);
687
694CARLA_API_EXPORT bool carla_save_plugin_state(CarlaHostHandle handle, uint pluginId, const char* filename);
695
701CARLA_API_EXPORT bool carla_export_plugin_lv2(CarlaHostHandle handle, uint pluginId, const char* lv2path);
702
707CARLA_API_EXPORT const CarlaPluginInfo* carla_get_plugin_info(CarlaHostHandle handle, uint pluginId);
708
713CARLA_API_EXPORT const CarlaPortCountInfo* carla_get_audio_port_count_info(CarlaHostHandle handle, uint pluginId);
714
719CARLA_API_EXPORT const CarlaPortCountInfo* carla_get_midi_port_count_info(CarlaHostHandle handle, uint pluginId);
720
725CARLA_API_EXPORT const CarlaPortCountInfo* carla_get_parameter_count_info(CarlaHostHandle handle, uint pluginId);
726
733CARLA_API_EXPORT uint carla_get_audio_port_hints(CarlaHostHandle handle, uint pluginId, bool isOutput, uint32_t portIndex);
734
741CARLA_API_EXPORT const CarlaParameterInfo* carla_get_parameter_info(CarlaHostHandle handle,
742 uint pluginId,
743 uint32_t parameterId);
744
753 uint pluginId,
754 uint32_t parameterId,
755 uint32_t scalePointId);
756
763CARLA_API_EXPORT const ParameterData* carla_get_parameter_data(CarlaHostHandle handle,
764 uint pluginId,
765 uint32_t parameterId);
766
773CARLA_API_EXPORT const ParameterRanges* carla_get_parameter_ranges(CarlaHostHandle handle,
774 uint pluginId,
775 uint32_t parameterId);
776
783CARLA_API_EXPORT const MidiProgramData* carla_get_midi_program_data(CarlaHostHandle handle,
784 uint pluginId,
785 uint32_t midiProgramId);
786
793CARLA_API_EXPORT const CustomData* carla_get_custom_data(CarlaHostHandle handle, uint pluginId, uint32_t customDataId);
794
802CARLA_API_EXPORT const char* carla_get_custom_data_value(CarlaHostHandle handle,
803 uint pluginId,
804 const char* type,
805 const char* key);
806
812CARLA_API_EXPORT const char* carla_get_chunk_data(CarlaHostHandle handle, uint pluginId);
813
818CARLA_API_EXPORT uint32_t carla_get_parameter_count(CarlaHostHandle handle, uint pluginId);
819
825CARLA_API_EXPORT uint32_t carla_get_program_count(CarlaHostHandle handle, uint pluginId);
826
832CARLA_API_EXPORT uint32_t carla_get_midi_program_count(CarlaHostHandle handle, uint pluginId);
833
839CARLA_API_EXPORT uint32_t carla_get_custom_data_count(CarlaHostHandle handle, uint pluginId);
840
847CARLA_API_EXPORT const char* carla_get_parameter_text(CarlaHostHandle handle, uint pluginId, uint32_t parameterId);
848
855CARLA_API_EXPORT const char* carla_get_program_name(CarlaHostHandle handle, uint pluginId, uint32_t programId);
856
863CARLA_API_EXPORT const char* carla_get_midi_program_name(CarlaHostHandle handle, uint pluginId, uint32_t midiProgramId);
864
870CARLA_API_EXPORT const char* carla_get_real_plugin_name(CarlaHostHandle handle, uint pluginId);
871
876CARLA_API_EXPORT int32_t carla_get_current_program_index(CarlaHostHandle handle, uint pluginId);
877
882CARLA_API_EXPORT int32_t carla_get_current_midi_program_index(CarlaHostHandle handle, uint pluginId);
883
889CARLA_API_EXPORT float carla_get_default_parameter_value(CarlaHostHandle handle, uint pluginId, uint32_t parameterId);
890
896CARLA_API_EXPORT float carla_get_current_parameter_value(CarlaHostHandle handle, uint pluginId, uint32_t parameterId);
897
904CARLA_API_EXPORT float carla_get_internal_parameter_value(CarlaHostHandle handle, uint pluginId, int32_t parameterId);
905
911CARLA_API_EXPORT uint32_t carla_get_plugin_latency(CarlaHostHandle handle, uint pluginId);
912
917CARLA_API_EXPORT const float* carla_get_peak_values(CarlaHostHandle handle, uint pluginId);
918
924CARLA_API_EXPORT float carla_get_input_peak_value(CarlaHostHandle handle, uint pluginId, bool isLeft);
925
931CARLA_API_EXPORT float carla_get_output_peak_value(CarlaHostHandle handle, uint pluginId, bool isLeft);
932
938 uint pluginId,
939 uint32_t width,
940 uint32_t height);
941
947CARLA_API_EXPORT void carla_set_active(CarlaHostHandle handle, uint pluginId, bool onOff);
948
949#ifndef BUILD_BRIDGE
955CARLA_API_EXPORT void carla_set_drywet(CarlaHostHandle handle, uint pluginId, float value);
956
962CARLA_API_EXPORT void carla_set_volume(CarlaHostHandle handle, uint pluginId, float value);
963
969CARLA_API_EXPORT void carla_set_balance_left(CarlaHostHandle handle, uint pluginId, float value);
970
976CARLA_API_EXPORT void carla_set_balance_right(CarlaHostHandle handle, uint pluginId, float value);
977
983CARLA_API_EXPORT void carla_set_panning(CarlaHostHandle handle, uint pluginId, float value);
984
990CARLA_API_EXPORT void carla_set_ctrl_channel(CarlaHostHandle handle, uint pluginId, int8_t channel);
991#endif
992
999CARLA_API_EXPORT void carla_set_option(CarlaHostHandle handle, uint pluginId, uint option, bool yesNo);
1000
1007CARLA_API_EXPORT void carla_set_parameter_value(CarlaHostHandle handle, uint pluginId, uint32_t parameterId, float value);
1008
1009#ifndef BUILD_BRIDGE
1016CARLA_API_EXPORT void carla_set_parameter_midi_channel(CarlaHostHandle handle,
1017 uint pluginId,
1018 uint32_t parameterId,
1019 uint8_t channel);
1020
1028 uint pluginId,
1029 uint32_t parameterId,
1030 int16_t index);
1031
1039CARLA_API_EXPORT void carla_set_parameter_mapped_range(CarlaHostHandle handle,
1040 uint pluginId,
1041 uint32_t parameterId,
1042 float minimum, float maximum);
1043
1051CARLA_API_EXPORT void carla_set_parameter_touch(CarlaHostHandle handle,
1052 uint pluginId,
1053 uint32_t parameterId,
1054 bool touch);
1055#endif
1056
1062CARLA_API_EXPORT void carla_set_program(CarlaHostHandle handle, uint pluginId, uint32_t programId);
1063
1069CARLA_API_EXPORT void carla_set_midi_program(CarlaHostHandle handle, uint pluginId, uint32_t midiProgramId);
1070
1079CARLA_API_EXPORT void carla_set_custom_data(CarlaHostHandle handle,
1080 uint pluginId,
1081 const char* type, const char* key, const char* value);
1082
1089CARLA_API_EXPORT void carla_set_chunk_data(CarlaHostHandle handle, uint pluginId, const char* chunkData);
1090
1096CARLA_API_EXPORT void carla_prepare_for_save(CarlaHostHandle handle, uint pluginId);
1097
1102CARLA_API_EXPORT void carla_reset_parameters(CarlaHostHandle handle, uint pluginId);
1103
1108CARLA_API_EXPORT void carla_randomize_parameters(CarlaHostHandle handle, uint pluginId);
1109
1110#ifndef BUILD_BRIDGE
1119CARLA_API_EXPORT void carla_send_midi_note(CarlaHostHandle handle,
1120 uint pluginId,
1121 uint8_t channel, uint8_t note, uint8_t velocity);
1122#endif
1123
1127CARLA_API_EXPORT void carla_set_custom_ui_title(CarlaHostHandle handle, uint pluginId, const char* title);
1128
1135CARLA_API_EXPORT void carla_show_custom_ui(CarlaHostHandle handle, uint pluginId, bool yesNo);
1136
1142CARLA_API_EXPORT void* carla_embed_custom_ui(CarlaHostHandle handle, uint pluginId, void* ptr);
1143
1147CARLA_API_EXPORT uint32_t carla_get_buffer_size(CarlaHostHandle handle);
1148
1152CARLA_API_EXPORT double carla_get_sample_rate(CarlaHostHandle handle);
1153
1157CARLA_API_EXPORT const char* carla_get_last_error(CarlaHostHandle handle);
1158
1162CARLA_API_EXPORT const char* carla_get_host_osc_url_tcp(CarlaHostHandle handle);
1163
1167CARLA_API_EXPORT const char* carla_get_host_osc_url_udp(CarlaHostHandle handle);
1168
1174CARLA_API_EXPORT bool carla_nsm_init(CarlaHostHandle handle, uint64_t pid, const char* executableName);
1175
1179CARLA_API_EXPORT void carla_nsm_ready(CarlaHostHandle handle, NsmCallbackOpcode opcode);
1180
1181#ifndef CARLA_UTILS_H_INCLUDED
1186CARLA_API_EXPORT const char* carla_get_complete_license_text(void);
1187
1191CARLA_API_EXPORT const char* carla_get_juce_version(void);
1192
1196CARLA_API_EXPORT const char* const* carla_get_supported_file_extensions(void);
1197
1201CARLA_API_EXPORT const char* const* carla_get_supported_features(void);
1202
1206CARLA_API_EXPORT const char* carla_get_library_filename(void);
1207
1211CARLA_API_EXPORT const char* carla_get_library_folder(void);
1212#endif
1213
1215
1216#endif /* CARLA_HOST_H_INCLUDED */
CarlaEngine * carla_get_engine_from_handle(CarlaHostHandle handle)
Definition CarlaStandalone.cpp:204
Definition CarlaEngine.hpp:814
NsmCallbackOpcode
Definition CarlaBackend.h:1258
void(* EngineCallbackFunc)(void *ptr, EngineCallbackOpcode action, uint pluginId, int value1, int value2, int value3, float valuef, const char *valueStr)
Definition CarlaBackend.h:1695
const char *(* FileCallbackFunc)(void *ptr, FileCallbackOpcode action, bool isDir, const char *title, const char *filter)
Definition CarlaBackend.h:1703
PluginType
Definition CarlaBackend.h:608
BinaryType
Definition CarlaBackend.h:544
PluginCategory
Definition CarlaBackend.h:689
EngineOption
Definition CarlaBackend.h:1318
CARLA_API_EXPORT void carla_set_file_callback(CarlaHostHandle handle, FileCallbackFunc func, void *ptr)
Definition CarlaStandalone.cpp:1005
CARLA_API_EXPORT const ParameterData * carla_get_parameter_data(CarlaHostHandle handle, uint pluginId, uint32_t parameterId)
Definition CarlaStandalone.cpp:1592
CARLA_API_EXPORT void carla_set_engine_callback(CarlaHostHandle handle, EngineCallbackFunc func, void *ptr)
Definition CarlaStandalone.cpp:671
CARLA_API_EXPORT bool carla_clone_plugin(CarlaHostHandle handle, uint pluginId)
Definition CarlaStandalone.cpp:1268
CARLA_API_EXPORT void carla_set_option(CarlaHostHandle handle, uint pluginId, uint option, bool yesNo)
Definition CarlaStandalone.cpp:2114
CARLA_API_EXPORT const char * carla_get_host_osc_url_udp(CarlaHostHandle handle)
Definition CarlaStandalone.cpp:2365
CARLA_API_EXPORT const char * carla_get_current_project_folder(CarlaHostHandle handle)
Definition CarlaStandalone.cpp:1054
CARLA_API_EXPORT const CustomData * carla_get_custom_data(CarlaHostHandle handle, uint pluginId, uint32_t customDataId)
Definition CarlaStandalone.cpp:1694
CARLA_API_EXPORT const float * carla_get_peak_values(CarlaHostHandle handle, uint pluginId)
Definition CarlaStandalone.cpp:1991
CARLA_API_EXPORT const CarlaTransportInfo * carla_get_transport_info(CarlaHostHandle handle)
Definition CarlaStandalone.cpp:1176
CARLA_API_EXPORT const EngineDriverDeviceInfo * carla_get_engine_driver_device_info(uint index, const char *name)
Definition CarlaStandalone.cpp:160
CARLA_API_EXPORT void carla_set_volume(CarlaHostHandle handle, uint pluginId, float value)
Definition CarlaStandalone.cpp:2072
CARLA_API_EXPORT bool carla_engine_close(CarlaHostHandle handle)
Definition CarlaStandalone.cpp:505
CARLA_API_EXPORT void carla_set_engine_option(CarlaHostHandle handle, EngineOption option, int value, const char *valueStr)
Definition CarlaStandalone.cpp:691
CARLA_API_EXPORT const CarlaPortCountInfo * carla_get_parameter_count_info(CarlaHostHandle handle, uint pluginId)
Definition CarlaStandalone.cpp:1437
CARLA_API_EXPORT void carla_set_ctrl_channel(CarlaHostHandle handle, uint pluginId, int8_t channel)
Definition CarlaStandalone.cpp:2104
CARLA_API_EXPORT bool carla_load_plugin_state(CarlaHostHandle handle, uint pluginId, const char *filename)
Definition CarlaStandalone.cpp:1299
CARLA_API_EXPORT const char * carla_get_current_project_filename(CarlaHostHandle handle)
Definition CarlaStandalone.cpp:1066
CARLA_API_EXPORT void carla_set_program(CarlaHostHandle handle, uint pluginId, uint32_t programId)
Definition CarlaStandalone.cpp:2187
CARLA_API_EXPORT const ParameterRanges * carla_get_parameter_ranges(CarlaHostHandle handle, uint pluginId, uint32_t parameterId)
Definition CarlaStandalone.cpp:1626
CARLA_API_EXPORT const char * carla_get_library_filename(void)
CARLA_API_EXPORT float carla_get_current_parameter_value(CarlaHostHandle handle, uint pluginId, uint32_t parameterId)
Definition CarlaStandalone.cpp:1948
CARLA_API_EXPORT float carla_get_default_parameter_value(CarlaHostHandle handle, uint pluginId, uint32_t parameterId)
Definition CarlaStandalone.cpp:1934
CARLA_API_EXPORT void carla_prepare_for_save(CarlaHostHandle handle, uint pluginId)
Definition CarlaStandalone.cpp:2244
CARLA_API_EXPORT void carla_transport_bpm(CarlaHostHandle handle, double bpm)
Definition CarlaStandalone.cpp:1151
CARLA_API_EXPORT bool carla_patchbay_disconnect(CarlaHostHandle handle, bool external, uint connectionId)
Definition CarlaStandalone.cpp:1099
CARLA_API_EXPORT CarlaHostHandle carla_standalone_host_init(void)
Definition CarlaStandalone.cpp:193
CARLA_API_EXPORT const CarlaInlineDisplayImageSurface * carla_render_inline_display(CarlaHostHandle handle, uint pluginId, uint32_t width, uint32_t height)
Definition CarlaStandalone.cpp:2026
CARLA_API_EXPORT const char *const * carla_get_engine_driver_device_names(uint index)
Definition CarlaStandalone.cpp:153
CARLA_API_EXPORT int32_t carla_get_current_program_index(CarlaHostHandle handle, uint pluginId)
Definition CarlaStandalone.cpp:1912
CARLA_API_EXPORT const char * carla_get_juce_version(void)
CARLA_API_EXPORT void carla_set_custom_ui_title(CarlaHostHandle handle, uint pluginId, const char *title)
Definition CarlaStandalone.cpp:2278
CARLA_API_EXPORT bool carla_patchbay_refresh(CarlaHostHandle handle, bool external)
Definition CarlaStandalone.cpp:1122
CARLA_API_EXPORT const char * carla_get_complete_license_text(void)
CARLA_API_EXPORT bool carla_rename_plugin(CarlaHostHandle handle, uint pluginId, const char *newName)
Definition CarlaStandalone.cpp:1258
CARLA_API_EXPORT float carla_get_input_peak_value(CarlaHostHandle handle, uint pluginId, bool isLeft)
Definition CarlaStandalone.cpp:1998
CARLA_API_EXPORT void carla_reset_parameters(CarlaHostHandle handle, uint pluginId)
Definition CarlaStandalone.cpp:2252
CARLA_API_EXPORT const char * carla_get_real_plugin_name(CarlaHostHandle handle, uint pluginId)
Definition CarlaStandalone.cpp:1892
CARLA_API_EXPORT bool carla_save_plugin_state(CarlaHostHandle handle, uint pluginId, const char *filename)
Definition CarlaStandalone.cpp:1311
CARLA_API_EXPORT void carla_set_parameter_mapped_range(CarlaHostHandle handle, uint pluginId, uint32_t parameterId, float minimum, float maximum)
Definition CarlaStandalone.cpp:2164
CARLA_API_EXPORT const char *const * carla_get_supported_file_extensions(void)
CARLA_API_EXPORT bool carla_load_project(CarlaHostHandle handle, const char *filename)
Definition CarlaStandalone.cpp:1033
CARLA_API_EXPORT void carla_cancel_engine_action(CarlaHostHandle handle)
Definition CarlaStandalone.cpp:657
CARLA_API_EXPORT void carla_transport_relocate(CarlaHostHandle handle, uint64_t frame)
Definition CarlaStandalone.cpp:1160
CARLA_API_EXPORT bool carla_patchbay_connect(CarlaHostHandle handle, bool external, uint groupIdA, uint portIdA, uint groupIdB, uint portIdB)
Definition CarlaStandalone.cpp:1089
struct _CarlaHostHandle * CarlaHostHandle
Definition CarlaHost.h:354
CARLA_API_EXPORT bool carla_export_plugin_lv2(CarlaHostHandle handle, uint pluginId, const char *lv2path)
Definition CarlaStandalone.cpp:1322
CARLA_API_EXPORT const char * carla_get_host_osc_url_tcp(CarlaHostHandle handle)
Definition CarlaStandalone.cpp:2337
CARLA_API_EXPORT uint32_t carla_get_midi_program_count(CarlaHostHandle handle, uint pluginId)
Definition CarlaStandalone.cpp:1810
CARLA_API_EXPORT const char * carla_get_program_name(CarlaHostHandle handle, uint pluginId, uint32_t programId)
Definition CarlaStandalone.cpp:1852
CARLA_API_EXPORT bool carla_nsm_init(CarlaHostHandle handle, uint64_t pid, const char *executableName)
Definition CarlaStandaloneNSM.cpp:645
CARLA_API_EXPORT void * carla_embed_custom_ui(CarlaHostHandle handle, uint pluginId, void *ptr)
Definition CarlaStandalone.cpp:2295
CARLA_API_EXPORT const CarlaPluginInfo * carla_get_plugin_info(CarlaHostHandle handle, uint pluginId)
Definition CarlaStandalone.cpp:1335
CARLA_API_EXPORT const char *const * carla_get_supported_features(void)
CARLA_API_EXPORT uint32_t carla_get_program_count(CarlaHostHandle handle, uint pluginId)
Definition CarlaStandalone.cpp:1800
CARLA_API_EXPORT uint32_t carla_get_max_plugin_number(CarlaHostHandle handle)
Definition CarlaStandalone.cpp:1212
CARLA_API_EXPORT void carla_set_parameter_value(CarlaHostHandle handle, uint pluginId, uint32_t parameterId, float value)
Definition CarlaStandalone.cpp:2124
CARLA_API_EXPORT void carla_send_midi_note(CarlaHostHandle handle, uint pluginId, uint8_t channel, uint8_t note, uint8_t velocity)
Definition CarlaStandalone.cpp:2269
CARLA_API_EXPORT void carla_set_midi_program(CarlaHostHandle handle, uint pluginId, uint32_t midiProgramId)
Definition CarlaStandalone.cpp:2199
CARLA_API_EXPORT void carla_engine_idle(CarlaHostHandle handle)
Definition CarlaStandalone.cpp:537
CARLA_API_EXPORT uint32_t carla_get_custom_data_count(CarlaHostHandle handle, uint pluginId)
Definition CarlaStandalone.cpp:1820
CARLA_API_EXPORT const CarlaParameterInfo * carla_get_parameter_info(CarlaHostHandle handle, uint pluginId, uint32_t parameterId)
Definition CarlaStandalone.cpp:1450
CARLA_API_EXPORT bool carla_set_engine_about_to_close(CarlaHostHandle handle)
Definition CarlaStandalone.cpp:663
CARLA_API_EXPORT void carla_set_chunk_data(CarlaHostHandle handle, uint pluginId, const char *chunkData)
Definition CarlaStandalone.cpp:2224
CARLA_API_EXPORT bool carla_add_plugin(CarlaHostHandle handle, BinaryType btype, PluginType ptype, const char *filename, const char *name, const char *label, int64_t uniqueId, const void *extraPtr, uint options)
Definition CarlaStandalone.cpp:1223
CARLA_API_EXPORT uint32_t carla_get_plugin_latency(CarlaHostHandle handle, uint pluginId)
Definition CarlaStandalone.cpp:1979
CARLA_API_EXPORT bool carla_load_file(CarlaHostHandle handle, const char *filename)
Definition CarlaStandalone.cpp:1023
CARLA_API_EXPORT void carla_set_custom_data(CarlaHostHandle handle, uint pluginId, const char *type, const char *key, const char *value)
Definition CarlaStandalone.cpp:2213
CARLA_API_EXPORT bool carla_engine_init(CarlaHostHandle handle, const char *driverName, const char *clientName)
Definition CarlaStandalone.cpp:388
CARLA_API_EXPORT void carla_transport_pause(CarlaHostHandle handle)
Definition CarlaStandalone.cpp:1142
CARLA_API_EXPORT const CarlaPortCountInfo * carla_get_midi_port_count_info(CarlaHostHandle handle, uint pluginId)
Definition CarlaStandalone.cpp:1421
CARLA_API_EXPORT bool carla_replace_plugin(CarlaHostHandle handle, uint pluginId)
Definition CarlaStandalone.cpp:1277
CARLA_API_EXPORT void carla_set_active(CarlaHostHandle handle, uint pluginId, bool onOff)
Definition CarlaStandalone.cpp:2055
CARLA_API_EXPORT void carla_set_panning(CarlaHostHandle handle, uint pluginId, float value)
Definition CarlaStandalone.cpp:2096
CARLA_API_EXPORT bool carla_remove_plugin(CarlaHostHandle handle, uint pluginId)
Definition CarlaStandalone.cpp:1239
CARLA_API_EXPORT bool carla_save_project(CarlaHostHandle handle, const char *filename)
Definition CarlaStandalone.cpp:1043
CARLA_API_EXPORT void carla_set_parameter_touch(CarlaHostHandle handle, uint pluginId, uint32_t parameterId, bool touch)
Definition CarlaStandalone.cpp:2176
CARLA_API_EXPORT bool carla_patchbay_set_group_pos(CarlaHostHandle handle, bool external, uint groupId, int x1, int y1, int x2, int y2)
Definition CarlaStandalone.cpp:1108
CARLA_API_EXPORT void carla_nsm_ready(CarlaHostHandle handle, NsmCallbackOpcode opcode)
Definition CarlaStandaloneNSM.cpp:659
CARLA_API_EXPORT const char * carla_get_parameter_text(CarlaHostHandle handle, uint pluginId, uint32_t parameterId)
Definition CarlaStandalone.cpp:1832
CARLA_API_EXPORT bool carla_remove_all_plugins(CarlaHostHandle handle)
Definition CarlaStandalone.cpp:1248
CARLA_API_EXPORT void carla_randomize_parameters(CarlaHostHandle handle, uint pluginId)
Definition CarlaStandalone.cpp:2260
CARLA_API_EXPORT void carla_set_parameter_midi_channel(CarlaHostHandle handle, uint pluginId, uint32_t parameterId, uint8_t channel)
Definition CarlaStandalone.cpp:2138
CARLA_API_EXPORT float carla_get_internal_parameter_value(CarlaHostHandle handle, uint pluginId, int32_t parameterId)
Definition CarlaStandalone.cpp:1962
CARLA_API_EXPORT void carla_set_drywet(CarlaHostHandle handle, uint pluginId, float value)
Definition CarlaStandalone.cpp:2064
CARLA_API_EXPORT void carla_transport_play(CarlaHostHandle handle)
Definition CarlaStandalone.cpp:1133
CARLA_API_EXPORT void carla_show_custom_ui(CarlaHostHandle handle, uint pluginId, bool yesNo)
Definition CarlaStandalone.cpp:2287
CARLA_API_EXPORT uint carla_get_engine_driver_count(void)
Definition CarlaStandalone.cpp:139
CARLA_API_EXPORT bool carla_set_engine_buffer_size_and_sample_rate(CarlaHostHandle handle, uint bufferSize, double sampleRate)
Definition CarlaStandalone.cpp:634
CARLA_API_EXPORT const char * carla_get_engine_driver_name(uint index)
Definition CarlaStandalone.cpp:146
CARLA_API_EXPORT void carla_set_balance_right(CarlaHostHandle handle, uint pluginId, float value)
Definition CarlaStandalone.cpp:2088
CARLA_API_EXPORT bool carla_show_engine_device_control_panel(CarlaHostHandle handle)
Definition CarlaStandalone.cpp:642
CARLA_API_EXPORT const CarlaRuntimeEngineInfo * carla_get_runtime_engine_info(CarlaHostHandle handle)
Definition CarlaStandalone.cpp:554
CARLA_API_EXPORT bool carla_show_engine_driver_device_control_panel(uint index, const char *name)
Definition CarlaStandalone.cpp:186
CARLA_API_EXPORT const char * carla_get_chunk_data(CarlaHostHandle handle, uint pluginId)
Definition CarlaStandalone.cpp:1767
CARLA_API_EXPORT bool carla_is_engine_running(CarlaHostHandle handle)
Definition CarlaStandalone.cpp:549
CARLA_API_EXPORT const MidiProgramData * carla_get_midi_program_data(CarlaHostHandle handle, uint pluginId, uint32_t midiProgramId)
Definition CarlaStandalone.cpp:1656
CARLA_API_EXPORT const CarlaRuntimeEngineDriverDeviceInfo * carla_get_runtime_engine_driver_device_info(CarlaHostHandle handle)
Definition CarlaStandalone.cpp:571
CARLA_API_EXPORT const char * carla_get_library_folder(void)
CARLA_API_EXPORT const CarlaScalePointInfo * carla_get_parameter_scalepoint_info(CarlaHostHandle handle, uint pluginId, uint32_t parameterId, uint32_t scalePointId)
Definition CarlaStandalone.cpp:1537
CARLA_API_EXPORT bool carla_switch_plugins(CarlaHostHandle handle, uint pluginIdA, uint pluginIdB)
Definition CarlaStandalone.cpp:1286
CARLA_API_EXPORT const char * carla_get_last_error(CarlaHostHandle handle)
Definition CarlaStandalone.cpp:2325
CARLA_API_EXPORT const CarlaPortCountInfo * carla_get_audio_port_count_info(CarlaHostHandle handle, uint pluginId)
Definition CarlaStandalone.cpp:1405
CARLA_API_EXPORT const char * carla_get_custom_data_value(CarlaHostHandle handle, uint pluginId, const char *type, const char *key)
Definition CarlaStandalone.cpp:1735
CARLA_API_EXPORT int32_t carla_get_current_midi_program_index(CarlaHostHandle handle, uint pluginId)
Definition CarlaStandalone.cpp:1922
CARLA_API_EXPORT double carla_get_sample_rate(CarlaHostHandle handle)
Definition CarlaStandalone.cpp:2315
CARLA_API_EXPORT float carla_get_output_peak_value(CarlaHostHandle handle, uint pluginId, bool isLeft)
Definition CarlaStandalone.cpp:2005
CARLA_API_EXPORT void carla_set_balance_left(CarlaHostHandle handle, uint pluginId, float value)
Definition CarlaStandalone.cpp:2080
CARLA_API_EXPORT void carla_set_parameter_mapped_control_index(CarlaHostHandle handle, uint pluginId, uint32_t parameterId, int16_t index)
Definition CarlaStandalone.cpp:2151
CARLA_API_EXPORT const char * carla_get_midi_program_name(CarlaHostHandle handle, uint pluginId, uint32_t midiProgramId)
Definition CarlaStandalone.cpp:1872
CARLA_API_EXPORT uint carla_get_audio_port_hints(CarlaHostHandle handle, uint pluginId, bool isOutput, uint32_t portIndex)
Definition CarlaStandalone.cpp:1576
CARLA_API_EXPORT uint32_t carla_get_parameter_count(CarlaHostHandle handle, uint pluginId)
Definition CarlaStandalone.cpp:1790
CARLA_API_EXPORT uint32_t carla_get_current_plugin_count(CarlaHostHandle handle)
Definition CarlaStandalone.cpp:1202
CARLA_API_EXPORT uint64_t carla_get_current_transport_frame(CarlaHostHandle handle)
Definition CarlaStandalone.cpp:1169
CARLA_API_EXPORT uint32_t carla_get_buffer_size(CarlaHostHandle handle)
Definition CarlaStandalone.cpp:2307
CARLA_API_EXPORT void carla_clear_engine_xruns(CarlaHostHandle handle)
Definition CarlaStandalone.cpp:651
CARLA_API_EXPORT void carla_clear_project_filename(CarlaHostHandle handle)
Definition CarlaStandalone.cpp:1078
Definition CarlaHost.h:346
unsigned char * data
Definition CarlaHost.h:347
int width
Definition CarlaHost.h:348
int stride
Definition CarlaHost.h:350
int height
Definition CarlaHost.h:349
Definition CarlaHost.h:169
uint32_t scalePointCount
Definition CarlaHost.h:199
const char * name
Definition CarlaHost.h:173
const char * comment
Definition CarlaHost.h:188
const char * unit
Definition CarlaHost.h:183
const char * groupName
Definition CarlaHost.h:193
const char * symbol
Definition CarlaHost.h:178
Definition CarlaHost.h:65
uint hints
Definition CarlaHost.h:80
const char * filename
Definition CarlaHost.h:99
uint optionsEnabled
Definition CarlaHost.h:93
const char * copyright
Definition CarlaHost.h:121
const char * name
Definition CarlaHost.h:106
const char * iconName
Definition CarlaHost.h:127
int64_t uniqueId
Definition CarlaHost.h:133
PluginType type
Definition CarlaHost.h:69
uint optionsAvailable
Definition CarlaHost.h:86
const char * label
Definition CarlaHost.h:111
const char * maker
Definition CarlaHost.h:116
PluginCategory category
Definition CarlaHost.h:74
Definition CarlaHost.h:152
uint32_t ins
Definition CarlaHost.h:156
uint32_t outs
Definition CarlaHost.h:161
Definition CarlaHost.h:306
double sampleRate
Definition CarlaHost.h:332
const char * name
Definition CarlaHost.h:310
uint bufferSize
Definition CarlaHost.h:321
const uint32_t * bufferSizes
Definition CarlaHost.h:327
uint hints
Definition CarlaHost.h:316
const double * sampleRates
Definition CarlaHost.h:338
Definition CarlaHost.h:290
uint32_t xruns
Definition CarlaHost.h:299
float load
Definition CarlaHost.h:294
Definition CarlaHost.h:216
float value
Definition CarlaHost.h:220
const char * label
Definition CarlaHost.h:225
Definition CarlaHost.h:242
double bpm
Definition CarlaHost.h:271
int32_t beat
Definition CarlaHost.h:261
bool playing
Definition CarlaHost.h:246
uint64_t frame
Definition CarlaHost.h:251
int32_t bar
Definition CarlaHost.h:256
int32_t tick
Definition CarlaHost.h:266
Definition CarlaBackend.h:1918
Definition CarlaBackend.h:1954
Definition CarlaBackend.h:1897
Definition CarlaBackend.h:1708
Definition CarlaBackend.h:1763