Cleanup
[carla.git] / source / native-plugins / _data.cpp
blobf19c9e6334f3f489f46779e81e75926c9959c4bb
1 /*
2 * Carla Native Plugins
3 * Copyright (C) 2012-2020 Filipe Coelho <falktx@falktx.com>
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.
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.
15 * For a full copy of the GNU General Public License see the doc/GPL.txt file.
18 #include "CarlaNative.h"
19 #include "CarlaMIDI.h"
20 #include "CarlaUtils.hpp"
22 #undef DESCFUNCS_WITHCV
23 #undef DESCFUNCS_WITHOUTCV
24 #define DESCFUNCS_WITHCV \
25 nullptr, nullptr, nullptr, nullptr, nullptr, \
26 nullptr, nullptr, nullptr, nullptr, nullptr, \
27 nullptr, nullptr, nullptr, nullptr, nullptr, \
28 nullptr, nullptr, nullptr, nullptr, nullptr, \
29 nullptr, nullptr
30 #define DESCFUNCS_WITHOUTCV \
31 DESCFUNCS_WITHCV, 0, 0, nullptr, nullptr, 0, 0
33 static const NativePluginDescriptor sNativePluginDescriptors[] = {
35 // --------------------------------------------------------------------------------------------------------------------
36 // Simple plugins
39 /* category */ NATIVE_PLUGIN_CATEGORY_UTILITY,
40 /* hints */ NATIVE_PLUGIN_IS_RTSAFE,
41 /* supports */ NATIVE_PLUGIN_SUPPORTS_NOTHING,
42 /* audioIns */ 1,
43 /* audioOuts */ 1,
44 /* midiIns */ 0,
45 /* midiOuts */ 0,
46 /* paramIns */ 1,
47 /* paramOuts */ 0,
48 /* name */ "Audio Gain (Mono)",
49 /* label */ "audiogain",
50 /* maker */ "falkTX",
51 /* copyright */ "GNU GPL v2+",
52 DESCFUNCS_WITHOUTCV
55 /* category */ NATIVE_PLUGIN_CATEGORY_UTILITY,
56 /* hints */ NATIVE_PLUGIN_IS_RTSAFE,
57 /* supports */ NATIVE_PLUGIN_SUPPORTS_NOTHING,
58 /* audioIns */ 2,
59 /* audioOuts */ 2,
60 /* midiIns */ 0,
61 /* midiOuts */ 0,
62 /* paramIns */ 3,
63 /* paramOuts */ 0,
64 /* name */ "Audio Gain (Stereo)",
65 /* label */ "audiogain_s",
66 /* maker */ "falkTX",
67 /* copyright */ "GNU GPL v2+",
68 DESCFUNCS_WITHOUTCV
71 /* category */ NATIVE_PLUGIN_CATEGORY_NONE,
72 /* hints */ NATIVE_PLUGIN_IS_RTSAFE,
73 /* supports */ NATIVE_PLUGIN_SUPPORTS_NOTHING,
74 /* audioIns */ 1,
75 /* audioOuts */ 1,
76 /* midiIns */ 0,
77 /* midiOuts */ 0,
78 /* paramIns */ 0,
79 /* paramOuts */ 0,
80 /* name */ "Bypass",
81 /* label */ "bypass",
82 /* maker */ "falkTX",
83 /* copyright */ "GNU GPL v2+",
84 DESCFUNCS_WITHOUTCV
87 /* category */ NATIVE_PLUGIN_CATEGORY_UTILITY,
88 /* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE
89 |NATIVE_PLUGIN_USES_CONTROL_VOLTAGE),
90 /* supports */ NATIVE_PLUGIN_SUPPORTS_NOTHING,
91 /* audioIns */ 0,
92 /* audioOuts */ 1,
93 /* midiIns */ 0,
94 /* midiOuts */ 0,
95 /* paramIns */ 1,
96 /* paramOuts */ 0,
97 /* name */ "CV to Audio",
98 /* label */ "cv2audio",
99 /* maker */ "falkTX",
100 /* copyright */ "GNU GPL v2+",
101 DESCFUNCS_WITHCV,
102 /* cvIns */ 1,
103 /* cvOuts */ 0,
104 /* bufnamefn */ nullptr,
105 /* bufrangefn */ nullptr,
106 /* ui_width */ 0,
107 /* ui_height */ 0
110 /* category */ NATIVE_PLUGIN_CATEGORY_UTILITY,
111 /* hints */ NATIVE_PLUGIN_IS_RTSAFE,
112 /* supports */ NATIVE_PLUGIN_SUPPORTS_NOTHING,
113 /* audioIns */ 0,
114 /* audioOuts */ 0,
115 /* midiIns */ 0,
116 /* midiOuts */ 0,
117 /* paramIns */ 5-1,
118 /* paramOuts */ 1,
119 /* name */ "LFO",
120 /* label */ "lfo",
121 /* maker */ "falkTX",
122 /* copyright */ "GNU GPL v2+",
123 DESCFUNCS_WITHOUTCV
126 /* category */ NATIVE_PLUGIN_CATEGORY_UTILITY,
127 /* hints */ NATIVE_PLUGIN_IS_RTSAFE,
128 /* supports */ NATIVE_PLUGIN_SUPPORTS_EVERYTHING,
129 /* audioIns */ 0,
130 /* audioOuts */ 0,
131 /* midiIns */ 1,
132 /* midiOuts */ 1,
133 /* paramIns */ 0,
134 /* paramOuts */ 0,
135 /* name */ "MIDI Channel Filter",
136 /* label */ "midichanfilter",
137 /* maker */ "falkTX",
138 /* copyright */ "GNU GPL v2+",
139 DESCFUNCS_WITHOUTCV
142 /* category */ NATIVE_PLUGIN_CATEGORY_UTILITY,
143 /* hints */ NATIVE_PLUGIN_IS_RTSAFE,
144 /* supports */ NATIVE_PLUGIN_SUPPORTS_EVERYTHING,
145 /* audioIns */ 0,
146 /* audioOuts */ 0,
147 /* midiIns */ 1,
148 /* midiOuts */ 2,
149 /* paramIns */ 0,
150 /* paramOuts */ 0,
151 /* name */ "MIDI Channel A/B",
152 /* label */ "midichanab",
153 /* maker */ "Milk Brewster",
154 /* copyright */ "GNU GPL v2+",
155 DESCFUNCS_WITHOUTCV
158 /* category */ NATIVE_PLUGIN_CATEGORY_UTILITY,
159 /* hints */ NATIVE_PLUGIN_IS_RTSAFE,
160 /* supports */ NATIVE_PLUGIN_SUPPORTS_EVERYTHING,
161 /* audioIns */ 0,
162 /* audioOuts */ 0,
163 /* midiIns */ 1,
164 /* midiOuts */ 1,
165 /* paramIns */ 0,
166 /* paramOuts */ 0,
167 /* name */ "MIDI Gain",
168 /* label */ "midigain",
169 /* maker */ "falkTX",
170 /* copyright */ "GNU GPL v2+",
171 DESCFUNCS_WITHOUTCV
174 /* category */ NATIVE_PLUGIN_CATEGORY_UTILITY,
175 /* hints */ NATIVE_PLUGIN_IS_RTSAFE,
176 /* supports */ NATIVE_PLUGIN_SUPPORTS_EVERYTHING,
177 /* audioIns */ 0,
178 /* audioOuts */ 0,
179 /* midiIns */ MAX_MIDI_CHANNELS,
180 /* midiOuts */ 1,
181 /* paramIns */ 0,
182 /* paramOuts */ 0,
183 /* name */ "MIDI Join",
184 /* label */ "midijoin",
185 /* maker */ "falkTX",
186 /* copyright */ "GNU GPL v2+",
187 DESCFUNCS_WITHOUTCV
190 /* category */ NATIVE_PLUGIN_CATEGORY_UTILITY,
191 /* hints */ NATIVE_PLUGIN_IS_RTSAFE,
192 /* supports */ NATIVE_PLUGIN_SUPPORTS_EVERYTHING,
193 /* audioIns */ 0,
194 /* audioOuts */ 0,
195 /* midiIns */ 1,
196 /* midiOuts */ MAX_MIDI_CHANNELS,
197 /* paramIns */ 0,
198 /* paramOuts */ 0,
199 /* name */ "MIDI Split",
200 /* label */ "midisplit",
201 /* maker */ "falkTX",
202 /* copyright */ "GNU GPL v2+",
203 DESCFUNCS_WITHOUTCV
206 /* category */ NATIVE_PLUGIN_CATEGORY_UTILITY,
207 /* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE
208 |NATIVE_PLUGIN_USES_CONTROL_VOLTAGE),
209 /* supports */ NATIVE_PLUGIN_SUPPORTS_ALL_SOUND_OFF,
210 /* audioIns */ 0,
211 /* audioOuts */ 0,
212 /* midiIns */ 1,
213 /* midiOuts */ 0,
214 /* paramIns */ 4,
215 /* paramOuts */ 0,
216 /* name */ "MIDI to CV",
217 /* label */ "midi2cv",
218 /* maker */ "falkTX, Bram Giesen, Jarno Verheesen",
219 /* copyright */ "GNU GPL v2+",
220 DESCFUNCS_WITHCV,
221 /* cvIns */ 0,
222 /* cvOuts */ 3,
223 /* bufnamefn */ nullptr,
224 /* bufrangefn */ nullptr,
225 /* ui_width */ 0,
226 /* ui_height */ 0
229 /* category */ NATIVE_PLUGIN_CATEGORY_UTILITY,
230 /* hints */ NATIVE_PLUGIN_IS_RTSAFE,
231 /* supports */ NATIVE_PLUGIN_SUPPORTS_EVERYTHING,
232 /* audioIns */ 0,
233 /* audioOuts */ 0,
234 /* midiIns */ 1,
235 /* midiOuts */ 1,
236 /* paramIns */ 0,
237 /* paramOuts */ 0,
238 /* name */ "MIDI Through",
239 /* label */ "midithrough",
240 /* maker */ "falkTX",
241 /* copyright */ "GNU GPL v2+",
242 DESCFUNCS_WITHOUTCV
245 /* category */ NATIVE_PLUGIN_CATEGORY_UTILITY,
246 /* hints */ NATIVE_PLUGIN_IS_RTSAFE,
247 /* supports */ NATIVE_PLUGIN_SUPPORTS_EVERYTHING,
248 /* audioIns */ 0,
249 /* audioOuts */ 0,
250 /* midiIns */ 1,
251 /* midiOuts */ 1,
252 /* paramIns */ 2,
253 /* paramOuts */ 0,
254 /* name */ "MIDI Transpose",
255 /* label */ "miditranspose",
256 /* maker */ "falkTX",
257 /* copyright */ "GNU GPL v2+",
258 DESCFUNCS_WITHOUTCV
261 /* category */ NATIVE_PLUGIN_CATEGORY_UTILITY,
262 /* hints */ NATIVE_PLUGIN_IS_RTSAFE,
263 /* supports */ NATIVE_PLUGIN_SUPPORTS_EVERYTHING,
264 /* audioIns */ 0,
265 /* audioOuts */ 0,
266 /* midiIns */ 1,
267 /* midiOuts */ 1,
268 /* paramIns */ 1,
269 /* paramOuts */ 0,
270 /* name */ "MIDI Channelize",
271 /* label */ "midichannelize",
272 /* maker */ "falkTX",
273 /* copyright */ "GNU GPL v2+",
274 DESCFUNCS_WITHOUTCV
277 // --------------------------------------------------------------------------------------------------------------------
278 // Audio file
281 /* category */ NATIVE_PLUGIN_CATEGORY_UTILITY,
282 /* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE
283 |NATIVE_PLUGIN_HAS_INLINE_DISPLAY
284 |NATIVE_PLUGIN_HAS_UI
285 |NATIVE_PLUGIN_NEEDS_UI_OPEN_SAVE
286 |NATIVE_PLUGIN_REQUESTS_IDLE
287 |NATIVE_PLUGIN_USES_CONTROL_VOLTAGE
288 |NATIVE_PLUGIN_USES_TIME),
289 /* supports */ NATIVE_PLUGIN_SUPPORTS_NOTHING,
290 /* audioIns */ 0,
291 /* audioOuts */ 2,
292 /* midiIns */ 0,
293 /* midiOuts */ 0,
294 /* paramIns */ 1,
295 /* paramOuts */ 0,
296 /* name */ "Audio File",
297 /* label */ "audiofile",
298 /* maker */ "falkTX",
299 /* copyright */ "GNU GPL v2+",
300 DESCFUNCS_WITHCV,
301 /* cvIns */ 0,
302 /* cvOuts */ 1,
303 /* bufnamefn */ nullptr,
304 /* bufrangefn */ nullptr,
305 /* ui_width */ 0,
306 /* ui_height */ 0
309 // --------------------------------------------------------------------------------------------------------------------
310 // MIDI file and sequencer
313 /* category */ NATIVE_PLUGIN_CATEGORY_UTILITY,
314 /* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE
315 |NATIVE_PLUGIN_HAS_UI
316 |NATIVE_PLUGIN_NEEDS_UI_OPEN_SAVE
317 |NATIVE_PLUGIN_REQUESTS_IDLE
318 |NATIVE_PLUGIN_USES_STATE
319 |NATIVE_PLUGIN_USES_TIME),
320 /* supports */ NATIVE_PLUGIN_SUPPORTS_NOTHING,
321 /* audioIns */ 0,
322 /* audioOuts */ 0,
323 /* midiIns */ 0,
324 /* midiOuts */ 1,
325 /* paramIns */ 0,
326 /* paramOuts */ 0,
327 /* name */ "MIDI File",
328 /* label */ "midifile",
329 /* maker */ "falkTX",
330 /* copyright */ "GNU GPL v2+",
331 DESCFUNCS_WITHOUTCV
333 #ifdef HAVE_PYQT
335 /* category */ NATIVE_PLUGIN_CATEGORY_UTILITY,
336 /* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE
337 |NATIVE_PLUGIN_HAS_UI
338 |NATIVE_PLUGIN_USES_STATE
339 |NATIVE_PLUGIN_USES_TIME),
340 /* supports */ NATIVE_PLUGIN_SUPPORTS_NOTHING,
341 /* audioIns */ 0,
342 /* audioOuts */ 0,
343 /* midiIns */ 0,
344 /* midiOuts */ 1,
345 /* paramIns */ 4,
346 /* paramOuts */ 0,
347 /* name */ "MIDI Pattern",
348 /* label */ "midipattern",
349 /* maker */ "falkTX, tatch",
350 /* copyright */ "GNU GPL v2+",
351 DESCFUNCS_WITHOUTCV
353 #endif
355 // --------------------------------------------------------------------------------------------------------------------
356 // Carla
358 #ifdef HAVE_PYQT
360 /* category */ NATIVE_PLUGIN_CATEGORY_OTHER,
361 /* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_SYNTH
362 |NATIVE_PLUGIN_HAS_UI
363 |NATIVE_PLUGIN_NEEDS_UI_MAIN_THREAD
364 |NATIVE_PLUGIN_USES_STATE
365 |NATIVE_PLUGIN_USES_TIME),
366 /* supports */ static_cast<NativePluginSupports>(NATIVE_PLUGIN_SUPPORTS_EVERYTHING),
367 /* audioIns */ 2,
368 /* audioOuts */ 2,
369 /* midiIns */ 1,
370 /* midiOuts */ 1,
371 /* paramIns */ 100,
372 /* paramOuts */ 10,
373 /* name */ "Carla-Rack",
374 /* label */ "carlarack",
375 /* maker */ "falkTX",
376 /* copyright */ "GNU GPL v2+",
377 DESCFUNCS_WITHOUTCV
380 /* category */ NATIVE_PLUGIN_CATEGORY_OTHER,
381 /* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_SYNTH
382 |NATIVE_PLUGIN_HAS_UI
383 |NATIVE_PLUGIN_NEEDS_UI_MAIN_THREAD
384 |NATIVE_PLUGIN_USES_STATE
385 |NATIVE_PLUGIN_USES_TIME),
386 /* supports */ static_cast<NativePluginSupports>(NATIVE_PLUGIN_SUPPORTS_EVERYTHING),
387 /* audioIns */ 2,
388 /* audioOuts */ 2,
389 /* midiIns */ 1,
390 /* midiOuts */ 0,
391 /* paramIns */ 100,
392 /* paramOuts */ 10,
393 /* name */ "Carla-Rack (no midi out)",
394 /* label */ "carlarack-nomidiout",
395 /* maker */ "falkTX",
396 /* copyright */ "GNU GPL v2+",
397 DESCFUNCS_WITHOUTCV
400 /* category */ NATIVE_PLUGIN_CATEGORY_OTHER,
401 /* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_SYNTH
402 |NATIVE_PLUGIN_HAS_UI
403 |NATIVE_PLUGIN_NEEDS_UI_MAIN_THREAD
404 |NATIVE_PLUGIN_USES_STATE
405 |NATIVE_PLUGIN_USES_TIME),
406 /* supports */ static_cast<NativePluginSupports>(NATIVE_PLUGIN_SUPPORTS_EVERYTHING),
407 /* audioIns */ 2,
408 /* audioOuts */ 2,
409 /* midiIns */ 1,
410 /* midiOuts */ 1,
411 /* paramIns */ 100,
412 /* paramOuts */ 10,
413 /* name */ "Carla-Patchbay",
414 /* label */ "carlapatchbay",
415 /* maker */ "falkTX",
416 /* copyright */ "GNU GPL v2+",
417 DESCFUNCS_WITHOUTCV
420 /* category */ NATIVE_PLUGIN_CATEGORY_OTHER,
421 /* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_SYNTH
422 |NATIVE_PLUGIN_HAS_UI
423 |NATIVE_PLUGIN_NEEDS_UI_MAIN_THREAD
424 |NATIVE_PLUGIN_USES_STATE
425 |NATIVE_PLUGIN_USES_TIME),
426 /* supports */ static_cast<NativePluginSupports>(NATIVE_PLUGIN_SUPPORTS_EVERYTHING),
427 /* audioIns */ 3,
428 /* audioOuts */ 2,
429 /* midiIns */ 1,
430 /* midiOuts */ 1,
431 /* paramIns */ 100,
432 /* paramOuts */ 10,
433 /* name */ "Carla-Patchbay (sidechain)",
434 /* label */ "carlapatchbay3s",
435 /* maker */ "falkTX",
436 /* copyright */ "GNU GPL v2+",
437 DESCFUNCS_WITHOUTCV
440 /* category */ NATIVE_PLUGIN_CATEGORY_OTHER,
441 /* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_SYNTH
442 |NATIVE_PLUGIN_HAS_UI
443 |NATIVE_PLUGIN_NEEDS_UI_MAIN_THREAD
444 |NATIVE_PLUGIN_USES_STATE
445 |NATIVE_PLUGIN_USES_TIME),
446 /* supports */ static_cast<NativePluginSupports>(NATIVE_PLUGIN_SUPPORTS_EVERYTHING),
447 /* audioIns */ 16,
448 /* audioOuts */ 16,
449 /* midiIns */ 1,
450 /* midiOuts */ 1,
451 /* paramIns */ 100,
452 /* paramOuts */ 10,
453 /* name */ "Carla-Patchbay (16chan)",
454 /* label */ "carlapatchbay16",
455 /* maker */ "falkTX",
456 /* copyright */ "GNU GPL v2+",
457 DESCFUNCS_WITHOUTCV
460 /* category */ NATIVE_PLUGIN_CATEGORY_OTHER,
461 /* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_SYNTH
462 |NATIVE_PLUGIN_HAS_UI
463 |NATIVE_PLUGIN_NEEDS_UI_MAIN_THREAD
464 |NATIVE_PLUGIN_USES_STATE
465 |NATIVE_PLUGIN_USES_TIME),
466 /* supports */ static_cast<NativePluginSupports>(NATIVE_PLUGIN_SUPPORTS_EVERYTHING),
467 /* audioIns */ 32,
468 /* audioOuts */ 32,
469 /* midiIns */ 1,
470 /* midiOuts */ 1,
471 /* paramIns */ 100,
472 /* paramOuts */ 10,
473 /* name */ "Carla-Patchbay (32chan)",
474 /* label */ "carlapatchbay32",
475 /* maker */ "falkTX",
476 /* copyright */ "GNU GPL v2+",
477 DESCFUNCS_WITHOUTCV
480 /* category */ NATIVE_PLUGIN_CATEGORY_OTHER,
481 /* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_SYNTH
482 |NATIVE_PLUGIN_HAS_UI
483 |NATIVE_PLUGIN_NEEDS_UI_MAIN_THREAD
484 |NATIVE_PLUGIN_USES_STATE
485 |NATIVE_PLUGIN_USES_TIME),
486 /* supports */ static_cast<NativePluginSupports>(NATIVE_PLUGIN_SUPPORTS_EVERYTHING),
487 /* audioIns */ 64,
488 /* audioOuts */ 64,
489 /* midiIns */ 1,
490 /* midiOuts */ 1,
491 /* paramIns */ 100,
492 /* paramOuts */ 10,
493 /* name */ "Carla-Patchbay (64chan)",
494 /* label */ "carlapatchbay64",
495 /* maker */ "falkTX",
496 /* copyright */ "GNU GPL v2+",
497 DESCFUNCS_WITHOUTCV
500 /* category */ NATIVE_PLUGIN_CATEGORY_OTHER,
501 /* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_SYNTH
502 |NATIVE_PLUGIN_HAS_UI
503 |NATIVE_PLUGIN_NEEDS_UI_MAIN_THREAD
504 |NATIVE_PLUGIN_USES_CONTROL_VOLTAGE
505 |NATIVE_PLUGIN_USES_STATE
506 |NATIVE_PLUGIN_USES_TIME),
507 /* supports */ static_cast<NativePluginSupports>(NATIVE_PLUGIN_SUPPORTS_EVERYTHING),
508 /* audioIns */ 2,
509 /* audioOuts */ 2,
510 /* midiIns */ 1,
511 /* midiOuts */ 1,
512 /* paramIns */ 100,
513 /* paramOuts */ 10,
514 /* name */ "Carla-Patchbay (CV)",
515 /* label */ "carlapatchbaycv",
516 /* maker */ "falkTX",
517 /* copyright */ "GNU GPL v2+",
518 DESCFUNCS_WITHCV,
519 /* cvIns */ 5,
520 /* cvOuts */ 5,
521 /* bufnamefn */ nullptr,
522 /* bufrangefn */ nullptr,
523 /* ui_width */ 0,
524 /* ui_height */ 0
526 #endif
528 // --------------------------------------------------------------------------------------------------------------------
529 // External-UI plugins
531 #ifdef HAVE_PYQT
533 /* category */ NATIVE_PLUGIN_CATEGORY_UTILITY,
534 /* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE
535 |NATIVE_PLUGIN_HAS_INLINE_DISPLAY
536 |NATIVE_PLUGIN_HAS_UI
537 |NATIVE_PLUGIN_NEEDS_FIXED_BUFFERS),
538 /* supports */ NATIVE_PLUGIN_SUPPORTS_NOTHING,
539 /* audioIns */ 2,
540 /* audioOuts */ 0,
541 /* midiIns */ 0,
542 /* midiOuts */ 0,
543 /* paramIns */ 2,
544 /* paramOuts */ 2,
545 /* name */ "Big Meter",
546 /* label */ "bigmeter",
547 /* maker */ "falkTX",
548 /* copyright */ "GNU GPL v2+",
549 DESCFUNCS_WITHOUTCV
552 /* category */ NATIVE_PLUGIN_CATEGORY_UTILITY,
553 /* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE
554 |NATIVE_PLUGIN_HAS_UI),
555 /* supports */ NATIVE_PLUGIN_SUPPORTS_NOTHING,
556 /* audioIns */ 0,
557 /* audioOuts */ 0,
558 /* midiIns */ 0,
559 /* midiOuts */ 0,
560 /* paramIns */ 1,
561 /* paramOuts */ 0,
562 /* name */ "Notes",
563 /* label */ "notes",
564 /* maker */ "falkTX",
565 /* copyright */ "GNU GPL v2+",
566 DESCFUNCS_WITHOUTCV
569 /* category */ NATIVE_PLUGIN_CATEGORY_UTILITY,
570 /* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE
571 |NATIVE_PLUGIN_HAS_UI),
572 /* supports */ NATIVE_PLUGIN_SUPPORTS_NOTHING,
573 /* audioIns */ 0,
574 /* audioOuts */ 0,
575 /* midiIns */ 1,
576 /* midiOuts */ 1,
577 /* paramIns */ 2,
578 /* paramOuts */ 2,
579 /* name */ "XY Controller",
580 /* label */ "xycontroller",
581 /* maker */ "falkTX",
582 /* copyright */ "GNU GPL v2+",
583 DESCFUNCS_WITHOUTCV
585 #endif
587 #ifdef HAVE_EXTERNAL_PLUGINS
588 # define CARLA_EXTERNAL_PLUGINS_INCLUDED_DIRECTLY
589 # include "external/_data.cpp"
590 #endif
594 #undef DESCFUNCS_WITHCV
595 #undef DESCFUNCS_WITHOUTCV
597 // --------------------------------------------------------------------------------------------------------------------
599 const NativePluginDescriptor* carla_get_native_plugins_data(uint32_t* count)
601 CARLA_SAFE_ASSERT_RETURN(count != nullptr, nullptr);
603 *count = static_cast<uint32_t>(sizeof(sNativePluginDescriptors)/sizeof(NativePluginDescriptor));
604 return sNativePluginDescriptors;
607 // --------------------------------------------------------------------------------------------------------------------