LMMS
Loading...
Searching...
No Matches
lilv.h
Go to the documentation of this file.
1/*
2 Copyright 2007-2016 David Robillard <http://drobilla.net>
3
4 Permission to use, copy, modify, and/or distribute this software for any
5 purpose with or without fee is hereby granted, provided that the above
6 copyright notice and this permission notice appear in all copies.
7
8 THIS SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15*/
16
20
21#ifndef LILV_LILV_H
22#define LILV_LILV_H
23
24#include <stdarg.h>
25#include <stddef.h>
26#include <stdint.h>
27#include <stdio.h>
28
29#include "lv2/lv2.h"
30#include "lv2/state.h"
31#include "lv2/urid.h"
32
33#ifdef LILV_SHARED
34# ifdef _WIN32
35# define LILV_LIB_IMPORT __declspec(dllimport)
36# define LILV_LIB_EXPORT __declspec(dllexport)
37# else
38# define LILV_LIB_IMPORT __attribute__((visibility("default")))
39# define LILV_LIB_EXPORT __attribute__((visibility("default")))
40# endif
41# ifdef LILV_INTERNAL
42# define LILV_API LILV_LIB_EXPORT
43# else
44# define LILV_API LILV_LIB_IMPORT
45# endif
46#else
47# define LILV_API
48#endif
49#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)
50# define LILV_DEPRECATED __attribute__((__deprecated__))
51#else
52# define LILV_DEPRECATED
53#endif
54
55#ifdef __cplusplus
56extern "C" {
57#else
58# include <stdbool.h>
59#endif
60
61#define LILV_NS_DOAP "http://usefulinc.com/ns/doap#"
62#define LILV_NS_FOAF "http://xmlns.com/foaf/0.1/"
63#define LILV_NS_LILV "http://drobilla.net/ns/lilv#"
64#define LILV_NS_LV2 "http://lv2plug.in/ns/lv2core#"
65#define LILV_NS_OWL "http://www.w3.org/2002/07/owl#"
66#define LILV_NS_RDF "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
67#define LILV_NS_RDFS "http://www.w3.org/2000/01/rdf-schema#"
68#define LILV_NS_XSD "http://www.w3.org/2001/XMLSchema#"
69
70#define LILV_URI_ATOM_PORT "http://lv2plug.in/ns/ext/atom#AtomPort"
71#define LILV_URI_AUDIO_PORT "http://lv2plug.in/ns/lv2core#AudioPort"
72#define LILV_URI_CONTROL_PORT "http://lv2plug.in/ns/lv2core#ControlPort"
73#define LILV_URI_CV_PORT "http://lv2plug.in/ns/lv2core#CVPort"
74#define LILV_URI_EVENT_PORT "http://lv2plug.in/ns/ext/event#EventPort"
75#define LILV_URI_INPUT_PORT "http://lv2plug.in/ns/lv2core#InputPort"
76#define LILV_URI_MIDI_EVENT "http://lv2plug.in/ns/ext/midi#MidiEvent"
77#define LILV_URI_OUTPUT_PORT "http://lv2plug.in/ns/lv2core#OutputPort"
78#define LILV_URI_PORT "http://lv2plug.in/ns/lv2core#Port"
79
80typedef struct LilvPluginImpl LilvPlugin;
82typedef struct LilvPortImpl LilvPort;
84typedef struct LilvUIImpl LilvUI;
85typedef struct LilvNodeImpl LilvNode;
86typedef struct LilvWorldImpl LilvWorld;
87typedef struct LilvInstanceImpl LilvInstance;
88typedef struct LilvStateImpl LilvState;
89
90typedef void LilvIter;
91typedef void LilvPluginClasses;
92typedef void LilvPlugins;
93typedef void LilvScalePoints;
94typedef void LilvUIs;
95typedef void LilvNodes;
96
105
113LILV_API void
114lilv_free(void* ptr);
115
120
129LILV_API LILV_DEPRECATED const char*
130lilv_uri_to_path(const char* uri);
131
140LILV_API char*
141lilv_file_uri_parse(const char* uri, char** hostname);
142
148lilv_new_uri(LilvWorld* world, const char* uri);
149
161lilv_new_file_uri(LilvWorld* world, const char* host, const char* path);
162
168lilv_new_string(LilvWorld* world, const char* str);
169
176
183
190
195LILV_API void
197
203
207LILV_API bool
208lilv_node_equals(const LilvNode* value, const LilvNode* other);
209
223LILV_API char*
225
229LILV_API bool
231
237LILV_API const char*
239
243LILV_API bool
245
251LILV_API const char*
253
258LILV_API bool
260
265LILV_API bool
267
271LILV_API const char*
273
279LILV_API char*
280lilv_node_get_path(const LilvNode* value, char** hostname);
281
285LILV_API bool
287
293LILV_API float
295
299LILV_API bool
301
306LILV_API int
308
312LILV_API bool
314
319LILV_API bool
321
343
344/* Collections */
345
355#define LILV_FOREACH(colltype, iter, collection) \
356 for (LilvIter* iter = lilv_ ## colltype ## _begin(collection); \
357 !lilv_ ## colltype ## _is_end(collection, iter); \
358 iter = lilv_ ## colltype ## _next(collection, iter))
359
360/* LilvPluginClasses */
361
362LILV_API void
364
365LILV_API unsigned
367
370
373
376
377LILV_API bool
379
388 const LilvNode* uri);
389
390/* ScalePoints */
391
392LILV_API void
394
395LILV_API unsigned
397
400
403
406
407LILV_API bool
409
410/* UIs */
411
412LILV_API void
413lilv_uis_free(LilvUIs* collection);
414
415LILV_API unsigned
416lilv_uis_size(const LilvUIs* collection);
417
419lilv_uis_begin(const LilvUIs* collection);
420
421LILV_API const LilvUI*
422lilv_uis_get(const LilvUIs* collection, LilvIter* i);
423
425lilv_uis_next(const LilvUIs* collection, LilvIter* i);
426
427LILV_API bool
428lilv_uis_is_end(const LilvUIs* collection, LilvIter* i);
429
436LILV_API const LilvUI*
438 const LilvNode* uri);
439
440/* Nodes */
441
442LILV_API void
443lilv_nodes_free(LilvNodes* collection);
444
445LILV_API unsigned
446lilv_nodes_size(const LilvNodes* collection);
447
449lilv_nodes_begin(const LilvNodes* collection);
450
451LILV_API const LilvNode*
452lilv_nodes_get(const LilvNodes* collection, LilvIter* i);
453
455lilv_nodes_next(const LilvNodes* collection, LilvIter* i);
456
457LILV_API bool
459
461lilv_nodes_get_first(const LilvNodes* collection);
462
466LILV_API bool
468
473lilv_nodes_merge(const LilvNodes* a, const LilvNodes* b);
474
475/* Plugins */
476
477LILV_API unsigned
479
482
483LILV_API const LilvPlugin*
485
488
489LILV_API bool
491
498LILV_API const LilvPlugin*
500 const LilvNode* uri);
501
511
517lilv_world_new(void);
518
526#define LILV_OPTION_FILTER_LANG "http://drobilla.net/ns/lilv#filter-lang"
527
532#define LILV_OPTION_DYN_MANIFEST "http://drobilla.net/ns/lilv#dyn-manifest"
533
541LILV_API void
543 const char* uri,
544 const LilvNode* value);
545
553LILV_API void
555
567LILV_API void
568lilv_world_load_all(LilvWorld* world, const char* lv2_path);
569
582LILV_API void
584 const LilvNode* bundle_uri);
585
593LILV_API void
595
603LILV_API void
605
614LILV_API int
616
626LILV_API int
628 const LilvNode* resource);
629
638LILV_API int
640 const LilvNode* resource);
641
647
654
668
676 const LilvNode* subject,
677 const LilvNode* predicate,
678 const LilvNode* object);
679
690 const LilvNode* subject,
691 const LilvNode* predicate,
692 const LilvNode* object);
693
705LILV_API bool
707 const LilvNode* subject,
708 const LilvNode* predicate,
709 const LilvNode* object);
710
720
726
737LILV_API bool
738lilv_plugin_verify(const LilvPlugin* plugin);
739
754LILV_API const LilvNode*
755lilv_plugin_get_uri(const LilvPlugin* plugin);
756
769LILV_API const LilvNode*
771
780LILV_API const LilvNodes*
782
789LILV_API const LilvNode*
791
800lilv_plugin_get_name(const LilvPlugin* plugin);
801
806lilv_plugin_get_class(const LilvPlugin* plugin);
807
822 const LilvNode* predicate);
823
829LILV_API bool
831 const LilvNode* feature_uri);
832
845
859
870
874LILV_API bool
876 const LilvNode* uri);
877
885
891
906LILV_API void
908 float* min_values,
909 float* max_values,
910 float* def_values);
911
920 const LilvNode* class_1, ...);
921
922#ifndef SWIG
930 const LilvNode* class_1,
931 va_list args);
932#endif
933
939LILV_API bool
941
953
957LILV_API const LilvPort*
959 uint32_t index);
960
966LILV_API const LilvPort*
968 const LilvNode* symbol);
969
980LILV_API const LilvPort*
982 const LilvNode* port_class,
983 const LilvNode* designation);
984
993
1001
1009
1017
1024LILV_API bool
1025lilv_plugin_is_replaced(const LilvPlugin* plugin);
1026
1033LILV_API void
1035 const LilvPlugin* plugin,
1036 const LilvNode* base_uri,
1037 FILE* plugin_file);
1038
1045LILV_API void
1047 const LilvPlugin* plugin,
1048 const LilvNode* base_uri,
1049 FILE* manifest_file,
1050 const char* plugin_file_path);
1051
1066lilv_plugin_get_related(const LilvPlugin* plugin, const LilvNode* type);
1067
1073
1081LILV_API const LilvNode*
1082lilv_port_get_node(const LilvPlugin* plugin,
1083 const LilvPort* port);
1084
1089lilv_port_get_value(const LilvPlugin* plugin,
1090 const LilvPort* port,
1091 const LilvNode* predicate);
1092
1101lilv_port_get(const LilvPlugin* plugin,
1102 const LilvPort* port,
1103 const LilvNode* predicate);
1104
1110 const LilvPort* port);
1111
1115LILV_API bool
1117 const LilvPort* port,
1118 const LilvNode* property_uri);
1119
1126LILV_API bool
1128 const LilvPort* port,
1129 const LilvNode* event_type);
1130
1137lilv_port_get_index(const LilvPlugin* plugin,
1138 const LilvPort* port);
1139
1145LILV_API const LilvNode*
1146lilv_port_get_symbol(const LilvPlugin* plugin,
1147 const LilvPort* port);
1148
1156lilv_port_get_name(const LilvPlugin* plugin,
1157 const LilvPort* port);
1158
1166LILV_API const LilvNodes*
1167lilv_port_get_classes(const LilvPlugin* plugin,
1168 const LilvPort* port);
1169
1178LILV_API bool
1179lilv_port_is_a(const LilvPlugin* plugin,
1180 const LilvPort* port,
1181 const LilvNode* port_class);
1182
1191LILV_API void
1192lilv_port_get_range(const LilvPlugin* plugin,
1193 const LilvPort* port,
1194 LilvNode** deflt,
1195 LilvNode** min,
1196 LilvNode** max);
1197
1207 const LilvPort* port);
1208
1214
1226 const LV2_URID_Map* map,
1227 const LilvNode* subject);
1228
1246 const LV2_URID_Map* map,
1247 const LilvNode* subject,
1248 const char* path);
1249
1255 const LV2_URID_Map* map,
1256 const char* str);
1257
1268typedef const void* (*LilvGetPortValueFunc)(const char* port_symbol,
1269 void* user_data,
1270 uint32_t* size,
1271 uint32_t* type);
1272
1340 LilvInstance* instance,
1341 LV2_URID_Map* map,
1342 const char* file_dir,
1343 const char* copy_dir,
1344 const char* link_dir,
1345 const char* save_dir,
1346 LilvGetPortValueFunc get_value,
1347 void* user_data,
1348 uint32_t flags,
1349 const LV2_Feature *const * features);
1350
1354LILV_API void
1356
1360LILV_API bool
1361lilv_state_equals(const LilvState* a, const LilvState* b);
1362
1366LILV_API unsigned
1368
1372LILV_API const LilvNode*
1374
1380LILV_API const LilvNode*
1381lilv_state_get_uri(const LilvState* state);
1382
1386LILV_API const char*
1387lilv_state_get_label(const LilvState* state);
1388
1392LILV_API void
1394 const char* label);
1395
1410LILV_API int
1412 uint32_t key,
1413 const void* value,
1414 size_t size,
1415 uint32_t type,
1416 uint32_t flags);
1417
1426typedef void (*LilvSetPortValueFunc)(const char* port_symbol,
1427 void* user_data,
1428 const void* value,
1429 uint32_t size,
1430 uint32_t type);
1431
1443LILV_API void
1445 LilvSetPortValueFunc set_value,
1446 void* user_data);
1447
1471LILV_API void
1472lilv_state_restore(const LilvState* state,
1473 const LV2_State_Interface* iface,
1474 LV2_Handle handle,
1475 LilvSetPortValueFunc set_value,
1476 void* user_data,
1477 uint32_t flags,
1478 const LV2_Feature *const * features);
1479
1497LILV_API int
1499 LV2_URID_Map* map,
1501 const LilvState* state,
1502 const char* uri,
1503 const char* dir,
1504 const char* filename);
1505
1518LILV_API char*
1520 LV2_URID_Map* map,
1522 const LilvState* state,
1523 const char* uri,
1524 const char* base_uri);
1525
1540LILV_API int
1542 const LilvState* state);
1543
1549
1554LILV_API const LilvNode*
1556
1561LILV_API const LilvNode*
1563
1569
1575LILV_API const LilvNode*
1577
1582LILV_API const LilvNode*
1583lilv_plugin_class_get_uri(const LilvPluginClass* plugin_class);
1584
1589LILV_API const LilvNode*
1590lilv_plugin_class_get_label(const LilvPluginClass* plugin_class);
1591
1598
1604
1608
1609/* Instance of a plugin.
1610 This is exposed in the ABI to allow inlining of performance critical
1611 functions like lilv_instance_run() (simple wrappers of functions in lv2.h).
1612 This is for performance reasons, user code should not use this definition
1613 in any way (which is why it is not machine documented).
1614 Truly private implementation details are hidden via `pimpl`.
1615*/
1616struct LilvInstanceImpl {
1618 LV2_Handle lv2_handle;
1619 void* pimpl;
1620};
1621
1625
1637 double sample_rate,
1638 const LV2_Feature*const* features);
1639
1645LILV_API void
1647
1648#ifndef LILV_INTERNAL
1649
1654static inline const char*
1656{
1657 return instance->lv2_descriptor->URI;
1658}
1659
1665static inline void
1667 uint32_t port_index,
1668 void* data_location)
1669{
1670 instance->lv2_descriptor->connect_port
1671 (instance->lv2_handle, port_index, data_location);
1672}
1673
1680static inline void
1682{
1683 if (instance->lv2_descriptor->activate)
1684 instance->lv2_descriptor->activate(instance->lv2_handle);
1685}
1686
1692static inline void
1694 uint32_t sample_count)
1695{
1696 instance->lv2_descriptor->run(instance->lv2_handle, sample_count);
1697}
1698
1704static inline void
1706{
1707 if (instance->lv2_descriptor->deactivate)
1708 instance->lv2_descriptor->deactivate(instance->lv2_handle);
1709}
1710
1716static inline const void*
1718 const char* uri)
1719{
1720 if (instance->lv2_descriptor->extension_data)
1721 return instance->lv2_descriptor->extension_data(uri);
1722 else
1723 return NULL;
1724}
1725
1733static inline const LV2_Descriptor*
1735{
1736 return instance->lv2_descriptor;
1737}
1738
1746static inline LV2_Handle
1748{
1749 return instance->lv2_handle;
1750}
1751
1752#endif /* LILV_INTERNAL */
1753
1759
1765lilv_plugin_get_uis(const LilvPlugin* plugin);
1766
1772LILV_API const LilvNode*
1773lilv_ui_get_uri(const LilvUI* ui);
1774
1783LILV_API const LilvNodes*
1785
1791LILV_API bool
1792lilv_ui_is_a(const LilvUI* ui, const LilvNode* class_uri);
1793
1800typedef unsigned (*LilvUISupportedFunc)(const char* container_type_uri,
1801 const char* ui_type_uri);
1802
1812LILV_API unsigned
1814 LilvUISupportedFunc supported_func,
1815 const LilvNode* container_type,
1816 const LilvNode** ui_type);
1817
1823LILV_API const LilvNode*
1825
1831LILV_API const LilvNode*
1833
1839
1842
1845
1848
1851
1854
1857
1858LILV_API const LilvNodes*
1860
1861LILV_API const LilvNodes*
1863
1864LILV_API const LilvNodes*
1866
1867LILV_API const LilvNodes*
1869
1874
1875#ifdef __cplusplus
1876} /* extern "C" */
1877#endif
1878
1879#endif /* LILV_LILV_H */
#define NULL
Definition CarlaBridgeFormat.cpp:30
class MasterUI * ui
Definition Connection.cpp:39
uint8_t a
Definition Spc_Cpu.h:141
CAdPlugDatabase::CRecord::RecordType type
Definition adplugdb.cpp:93
static uint8_t unmap(const uint8_t in)
Definition base64.c:94
register unsigned i
Definition inflate.c:1575
static char filename[]
Definition features.c:5
static PuglViewHint int value
Definition pugl.h:1708
LILV_API const LilvNode * lilv_plugin_class_get_label(const LilvPluginClass *plugin_class)
Definition pluginclass.c:67
LILV_API const LilvNode * lilv_plugin_class_get_uri(const LilvPluginClass *plugin_class)
Definition pluginclass.c:61
LILV_API LilvPluginClasses * lilv_plugin_class_get_children(const LilvPluginClass *plugin_class)
Definition pluginclass.c:73
LILV_API const LilvNode * lilv_plugin_class_get_parent_uri(const LilvPluginClass *plugin_class)
Definition pluginclass.c:55
LILV_API unsigned lilv_plugin_classes_size(const LilvPluginClasses *collection)
LILV_API const LilvUI * lilv_uis_get(const LilvUIs *collection, LilvIter *i)
LILV_API LilvIter * lilv_scale_points_next(const LilvScalePoints *collection, LilvIter *i)
LILV_API LilvIter * lilv_plugin_classes_begin(const LilvPluginClasses *collection)
LILV_API LilvNode * lilv_nodes_get_first(const LilvNodes *collection)
Definition collections.c:236
LILV_API const LilvPluginClass * lilv_plugin_classes_get_by_uri(const LilvPluginClasses *classes, const LilvNode *uri)
Definition collections.c:115
LILV_API unsigned lilv_uis_size(const LilvUIs *collection)
LILV_API bool lilv_nodes_contains(const LilvNodes *nodes, const LilvNode *value)
Definition collections.c:145
LILV_API void lilv_plugin_classes_free(LilvPluginClasses *collection)
Definition collections.c:212
LILV_API bool lilv_scale_points_is_end(const LilvScalePoints *collection, LilvIter *i)
LILV_API LilvIter * lilv_uis_begin(const LilvUIs *collection)
LILV_API LilvIter * lilv_nodes_begin(const LilvNodes *collection)
LILV_API LilvIter * lilv_uis_next(const LilvUIs *collection, LilvIter *i)
LILV_API const LilvPlugin * lilv_plugins_get_by_uri(const LilvPlugins *plugins, const LilvNode *uri)
Definition collections.c:137
LILV_API bool lilv_plugin_classes_is_end(const LilvPluginClasses *collection, LilvIter *i)
LILV_API LilvIter * lilv_plugins_next(const LilvPlugins *collection, LilvIter *i)
LILV_API const LilvPlugin * lilv_plugins_get(const LilvPlugins *collection, LilvIter *i)
LILV_API LilvIter * lilv_plugin_classes_next(const LilvPluginClasses *collection, LilvIter *i)
LILV_API LilvNodes * lilv_nodes_merge(const LilvNodes *a, const LilvNodes *b)
Definition collections.c:157
LILV_API void lilv_uis_free(LilvUIs *collection)
Definition collections.c:224
LILV_API unsigned lilv_plugins_size(const LilvPlugins *collection)
LILV_API const LilvScalePoint * lilv_scale_points_get(const LilvScalePoints *collection, LilvIter *i)
LILV_API const LilvUI * lilv_uis_get_by_uri(const LilvUIs *uis, const LilvNode *uri)
Definition collections.c:123
LILV_API bool lilv_uis_is_end(const LilvUIs *collection, LilvIter *i)
LILV_API bool lilv_plugins_is_end(const LilvPlugins *collection, LilvIter *i)
LILV_API bool lilv_nodes_is_end(const LilvNodes *collection, LilvIter *i)
LILV_API LilvIter * lilv_nodes_next(const LilvNodes *collection, LilvIter *i)
LILV_API void lilv_nodes_free(LilvNodes *collection)
Definition collections.c:230
LILV_API const LilvNode * lilv_nodes_get(const LilvNodes *collection, LilvIter *i)
LILV_API const LilvPluginClass * lilv_plugin_classes_get(const LilvPluginClasses *collection, LilvIter *i)
LILV_API void lilv_scale_points_free(LilvScalePoints *collection)
Definition collections.c:218
LILV_API LilvIter * lilv_scale_points_begin(const LilvScalePoints *collection)
LILV_API unsigned lilv_nodes_size(const LilvNodes *collection)
LILV_API unsigned lilv_scale_points_size(const LilvScalePoints *collection)
LILV_API LilvIter * lilv_plugins_begin(const LilvPlugins *collection)
static void lilv_instance_connect_port(LilvInstance *instance, uint32_t port_index, void *data_location)
Definition lilv.h:1916
static const char * lilv_instance_get_uri(const LilvInstance *instance)
Definition lilv.h:1904
static const void * lilv_instance_get_extension_data(const LilvInstance *instance, const char *uri)
Definition lilv.h:1972
LILV_API LilvInstance * lilv_plugin_instantiate(const LilvPlugin *plugin, double sample_rate, const LV2_Feature *const *features)
Definition instance.c:30
static const LV2_Descriptor * lilv_instance_get_descriptor(const LilvInstance *instance)
Definition lilv.h:1990
static void lilv_instance_run(LilvInstance *instance, uint32_t sample_count)
Definition lilv.h:1946
static void lilv_instance_deactivate(LilvInstance *instance)
Definition lilv.h:1958
static LV2_Handle lilv_instance_get_handle(const LilvInstance *instance)
Definition lilv.h:2004
LILV_API void lilv_instance_free(LilvInstance *instance)
Definition instance.c:104
static void lilv_instance_activate(LilvInstance *instance)
Definition lilv.h:1932
LILV_API LilvNode * lilv_new_int(LilvWorld *world, int val)
Definition node.c:180
LILV_API LilvNode * lilv_new_float(LilvWorld *world, float val)
Definition node.c:192
LILV_API bool lilv_node_is_string(const LilvNode *value)
Definition node.c:351
LILV_API LilvNode * lilv_new_uri(LilvWorld *world, const char *uri)
Definition node.c:155
LILV_API LilvNode * lilv_new_file_uri(LilvWorld *world, const char *host, const char *path)
Definition node.c:161
LILV_API int lilv_node_as_int(const LilvNode *value)
Definition node.c:369
LILV_API bool lilv_node_equals(const LilvNode *value, const LilvNode *other)
Definition node.c:238
LILV_API LilvNode * lilv_new_string(LilvWorld *world, const char *str)
Definition node.c:174
LILV_API bool lilv_node_is_float(const LilvNode *value)
Definition node.c:375
LILV_API const char * lilv_node_as_string(const LilvNode *value)
Definition node.c:357
LILV_API float lilv_node_as_float(const LilvNode *value)
Definition node.c:381
LILV_API bool lilv_node_is_literal(const LilvNode *value)
Definition node.c:333
LILV_API const char * lilv_node_as_uri(const LilvNode *value)
Definition node.c:311
LILV_API const char * lilv_node_as_blank(const LilvNode *value)
Definition node.c:325
LILV_API LilvNode * lilv_new_bool(LilvWorld *world, bool val)
Definition node.c:204
LILV_API char * lilv_file_uri_parse(const char *uri, char **hostname)
Definition util.c:106
LILV_API LilvNode * lilv_node_duplicate(const LilvNode *val)
Definition node.c:214
LILV_API bool lilv_node_as_bool(const LilvNode *value)
Definition node.c:401
LILV_API bool lilv_node_is_blank(const LilvNode *value)
Definition node.c:319
LILV_API char * lilv_node_get_path(const LilvNode *value, char **hostname)
Definition node.c:407
LILV_API bool lilv_node_is_bool(const LilvNode *value)
Definition node.c:395
LILV_API char * lilv_node_get_turtle_token(const LilvNode *value)
Definition node.c:266
LILV_API LILV_DEPRECATED const char * lilv_uri_to_path(const char *uri)
Definition util.c:91
LILV_API bool lilv_node_is_int(const LilvNode *value)
Definition node.c:363
LILV_API void lilv_node_free(LilvNode *val)
Definition node.c:229
LILV_API bool lilv_node_is_uri(const LilvNode *value)
Definition node.c:305
LILV_API const LilvPort * lilv_plugin_get_port_by_symbol(const LilvPlugin *plugin, const LilvNode *symbol)
Definition plugin.c:831
LILV_API LilvNodes * lilv_plugin_get_value(const LilvPlugin *plugin, const LilvNode *predicate)
Definition plugin.c:521
LILV_API void lilv_plugin_write_manifest_entry(LilvWorld *world, const LilvPlugin *plugin, const LilvNode *base_uri, FILE *manifest_file, const char *plugin_file_path)
Definition plugin.c:1092
LILV_API LilvNode * lilv_plugin_get_author_homepage(const LilvPlugin *plugin)
Definition plugin.c:934
LILV_API LilvNodes * lilv_plugin_get_required_features(const LilvPlugin *plugin)
Definition plugin.c:787
LILV_API LilvNode * lilv_plugin_get_project(const LilvPlugin *plugin)
Definition plugin.c:845
LILV_API const LilvNode * lilv_plugin_get_bundle_uri(const LilvPlugin *plugin)
Definition plugin.c:379
LILV_API LilvNode * lilv_plugin_get_author_name(const LilvPlugin *plugin)
Definition plugin.c:922
LILV_API const LilvNodes * lilv_plugin_get_data_uris(const LilvPlugin *plugin)
Definition plugin.c:412
LILV_API bool lilv_plugin_has_latency(const LilvPlugin *plugin)
Definition plugin.c:637
LILV_API const LilvNode * lilv_plugin_get_uri(const LilvPlugin *plugin)
Definition plugin.c:373
LILV_API bool lilv_plugin_has_feature(const LilvPlugin *plugin, const LilvNode *feature)
Definition plugin.c:749
LILV_API const LilvPort * lilv_plugin_get_port_by_designation(const LilvPlugin *plugin, const LilvNode *port_class, const LilvNode *designation)
Definition plugin.c:699
LILV_API bool lilv_plugin_has_extension_data(const LilvPlugin *plugin, const LilvNode *uri)
Definition plugin.c:797
LILV_API const LilvPluginClass * lilv_plugin_get_class(const LilvPlugin *plugin)
Definition plugin.c:418
LILV_API LilvNodes * lilv_plugin_get_extension_data(const LilvPlugin *plugin)
Definition plugin.c:813
LILV_API uint32_t lilv_plugin_get_num_ports_of_class_va(const LilvPlugin *plugin, const LilvNode *class_1, va_list args)
Definition plugin.c:583
LILV_API uint32_t lilv_plugin_get_num_ports_of_class(const LilvPlugin *plugin, const LilvNode *class_1,...)
Definition plugin.c:623
LILV_API LilvNode * lilv_plugin_get_author_email(const LilvPlugin *plugin)
Definition plugin.c:928
LILV_API LilvNodes * lilv_plugin_get_supported_features(const LilvPlugin *plugin)
Definition plugin.c:766
LILV_API bool lilv_plugin_verify(const LilvPlugin *plugin)
Definition plugin.c:464
LILV_API uint32_t lilv_plugin_get_num_ports(const LilvPlugin *plugin)
Definition plugin.c:529
LILV_API const LilvNode * lilv_plugin_get_library_uri(const LilvPlugin *plugin)
Definition plugin.c:385
LILV_API LilvNodes * lilv_plugin_get_optional_features(const LilvPlugin *plugin)
Definition plugin.c:777
LILV_API LilvNodes * lilv_plugin_get_related(const LilvPlugin *plugin, const LilvNode *type)
Definition plugin.c:997
LILV_API void lilv_plugin_write_description(LilvWorld *world, const LilvPlugin *plugin, const LilvNode *base_uri, FILE *plugin_file)
Definition plugin.c:1053
LILV_API LilvNode * lilv_plugin_get_name(const LilvPlugin *plugin)
Definition plugin.c:498
LILV_API uint32_t lilv_plugin_get_latency_port_index(const LilvPlugin *plugin)
Definition plugin.c:724
LILV_API const LilvPort * lilv_plugin_get_port_by_index(const LilvPlugin *plugin, uint32_t index)
Definition plugin.c:820
LILV_API bool lilv_plugin_is_replaced(const LilvPlugin *plugin)
Definition plugin.c:940
LILV_API void lilv_plugin_get_port_ranges_float(const LilvPlugin *plugin, float *min_values, float *max_values, float *def_values)
Definition plugin.c:536
LILV_API const LilvNode * lilv_port_get_symbol(const LilvPlugin *plugin, const LilvPort *port)
Definition port.c:161
LILV_API LilvNodes * lilv_port_get_properties(const LilvPlugin *plugin, const LilvPort *port)
Definition port.c:265
LILV_API uint32_t lilv_port_get_index(const LilvPlugin *plugin, const LilvPort *port)
Definition port.c:153
LILV_API void lilv_port_get_range(const LilvPlugin *plugin, const LilvPort *port, LilvNode **def, LilvNode **min, LilvNode **max)
Definition port.c:200
LILV_API bool lilv_port_has_property(const LilvPlugin *plugin, const LilvPort *port, const LilvNode *property)
Definition port.c:77
LILV_API bool lilv_port_is_a(const LilvPlugin *plugin, const LilvPort *port, const LilvNode *port_class)
Definition port.c:61
LILV_API LilvNodes * lilv_port_get_value(const LilvPlugin *plugin, const LilvPort *port, const LilvNode *predicate)
Definition port.c:125
LILV_API LilvNode * lilv_port_get_name(const LilvPlugin *plugin, const LilvPort *port)
Definition port.c:169
LILV_API LilvScalePoints * lilv_port_get_scale_points(const LilvPlugin *plugin, const LilvPort *port)
Definition port.c:232
LILV_API const LilvNode * lilv_port_get_node(const LilvPlugin *plugin, const LilvPort *port)
Definition port.c:117
LILV_API bool lilv_port_supports_event(const LilvPlugin *plugin, const LilvPort *port, const LilvNode *event_type)
Definition port.c:88
LILV_API LilvNode * lilv_port_get(const LilvPlugin *plugin, const LilvPort *port, const LilvNode *predicate)
Definition port.c:139
LILV_API const LilvNodes * lilv_port_get_classes(const LilvPlugin *plugin, const LilvPort *port)
Definition port.c:192
LILV_API const LilvNode * lilv_scale_point_get_label(const LilvScalePoint *point)
Definition scalepoint.c:50
LILV_API const LilvNode * lilv_scale_point_get_value(const LilvScalePoint *point)
Definition scalepoint.c:44
LILV_API LilvState * lilv_state_new_from_file(LilvWorld *world, LV2_URID_Map *map, const LilvNode *subject, const char *path)
Definition state.c:734
LILV_API LilvState * lilv_state_new_from_world(LilvWorld *world, LV2_URID_Map *map, const LilvNode *node)
Definition state.c:720
LILV_API LilvState * lilv_state_new_from_string(LilvWorld *world, LV2_URID_Map *map, const char *str)
Definition state.c:788
void(* LilvSetPortValueFunc)(const char *port_symbol, void *user_data, const void *value, uint32_t size, uint32_t type)
Definition lilv.h:1642
const void *(* LilvGetPortValueFunc)(const char *port_symbol, void *user_data, uint32_t *size, uint32_t *type)
Definition lilv.h:1463
LILV_API const LilvNode * lilv_state_get_uri(const LilvState *state)
Definition state.c:1512
LILV_API LilvState * lilv_state_new_from_instance(const LilvPlugin *plugin, LilvInstance *instance, LV2_URID_Map *map, const char *scratch_dir, const char *copy_dir, const char *link_dir, const char *save_dir, LilvGetPortValueFunc get_value, void *user_data, uint32_t flags, const LV2_Feature *const *features)
Definition state.c:429
LILV_API unsigned lilv_state_get_num_properties(const LilvState *state)
Definition state.c:1500
LILV_API void lilv_state_free(LilvState *state)
Definition state.c:1436
LILV_API const char * lilv_state_get_label(const LilvState *state)
Definition state.c:1518
LILV_API void lilv_state_set_label(LilvState *state, const char *label)
Definition state.c:1524
LILV_API int lilv_state_set_metadata(LilvState *state, uint32_t key, const void *value, size_t size, uint32_t type, uint32_t flags)
Definition state.c:1532
LILV_API int lilv_state_delete(LilvWorld *world, const LilvState *state)
Definition state.c:1328
LILV_API void lilv_state_restore(const LilvState *state, LilvInstance *instance, LilvSetPortValueFunc set_value, void *user_data, uint32_t flags, const LV2_Feature *const *features)
Definition state.c:522
LILV_API void lilv_state_emit_port_values(const LilvState *state, LilvSetPortValueFunc set_value, void *user_data)
Definition state.c:510
LILV_API const LilvNode * lilv_state_get_plugin_uri(const LilvState *state)
Definition state.c:1506
LILV_API int lilv_state_save(LilvWorld *world, LV2_URID_Map *map, LV2_URID_Unmap *unmap, const LilvState *state, const char *uri, const char *dir, const char *filename)
Definition state.c:1221
LILV_API char * lilv_state_to_string(LilvWorld *world, LV2_URID_Map *map, LV2_URID_Unmap *unmap, const LilvState *state, const char *uri, const char *base_uri)
Definition state.c:1280
LILV_API bool lilv_state_equals(const LilvState *a, const LilvState *b)
Definition state.c:1460
LILV_API bool lilv_ui_is_a(const LilvUI *ui, const LilvNode *class_uri)
Definition ui.c:100
LILV_API unsigned lilv_ui_is_supported(const LilvUI *ui, LilvUISupportedFunc supported_func, const LilvNode *container_type, const LilvNode **ui_type)
Definition ui.c:72
LILV_API const LilvNode * lilv_ui_get_bundle_uri(const LilvUI *ui)
Definition ui.c:106
LILV_API const LilvNode * lilv_ui_get_binary_uri(const LilvUI *ui)
Definition ui.c:112
LILV_API LilvUIs * lilv_plugin_get_uis(const LilvPlugin *plugin)
Definition plugin.c:946
unsigned(* LilvUISupportedFunc)(const char *container_type_uri, const char *ui_type_uri)
Definition lilv.h:2063
LILV_API const LilvNodes * lilv_ui_get_classes(const LilvUI *ui)
Definition ui.c:94
LILV_API const LilvNode * lilv_ui_get_uri(const LilvUI *ui)
Definition ui.c:66
LILV_API LilvNode * lilv_world_get(LilvWorld *world, const LilvNode *subject, const LilvNode *predicate, const LilvNode *object)
Definition world.c:242
LILV_API LilvNodes * lilv_world_find_nodes(LilvWorld *world, const LilvNode *subject, const LilvNode *predicate, const LilvNode *object)
Definition world.c:208
LILV_API void lilv_world_load_bundle(LilvWorld *world, const LilvNode *bundle_uri)
Definition world.c:741
LILV_API LilvWorld * lilv_world_new(void)
Definition world.c:45
LILV_API int lilv_world_load_resource(LilvWorld *world, const LilvNode *resource)
Definition world.c:1123
LILV_API void lilv_world_load_specifications(LilvWorld *world)
Definition world.c:1008
LILV_API void lilv_world_load_all(LilvWorld *world)
Definition world.c:1058
LILV_API void lilv_world_load_plugin_classes(LilvWorld *world)
Definition world.c:1019
LILV_API const LilvPluginClasses * lilv_world_get_plugin_classes(const LilvWorld *world)
Definition world.c:1192
LILV_API const LilvPlugins * lilv_world_get_all_plugins(const LilvWorld *world)
Definition world.c:1198
LILV_API void lilv_world_set_option(LilvWorld *world, const char *uri, const LilvNode *value)
Definition world.c:186
LILV_API void lilv_world_free(LilvWorld *world)
Definition world.c:129
LILV_API LilvNode * lilv_world_get_symbol(LilvWorld *world, const LilvNode *subject)
Definition world.c:1204
LILV_API int lilv_world_unload_bundle(LilvWorld *world, const LilvNode *bundle_uri)
Definition world.c:898
LILV_API int lilv_world_unload_resource(LilvWorld *world, const LilvNode *resource)
Definition world.c:1154
LILV_API bool lilv_world_ask(LilvWorld *world, const LilvNode *subject, const LilvNode *predicate, const LilvNode *object)
Definition world.c:296
LILV_API const LilvPluginClass * lilv_world_get_plugin_class(const LilvWorld *world)
Definition world.c:1186
LILV_API const LilvNodes * lilv_ui_get_required_features(const LilvUI *ui)
Definition ui.c:141
void LilvScalePoints
Definition lilv.h:95
struct LilvStateImpl LilvState
Definition lilv.h:90
void LilvPluginClasses
Definition lilv.h:93
LILV_API LilvNode * lilv_plugin_get_modgui_screenshot(const LilvPlugin *plugin)
Definition plugin.c:1032
void LilvNodes
Definition lilv.h:97
LILV_API LilvNode * lilv_plugin_get_modgui_icon_template(const LilvPlugin *plugin)
Definition plugin.c:990
struct LilvUIImpl LilvUI
Definition lilv.h:86
LILV_API void lilv_free(void *ptr)
Definition util.c:37
LILV_API LilvNode * lilv_plugin_get_modgui_settings_template(const LilvPlugin *plugin)
Definition plugin.c:1004
struct LilvScalePointImpl LilvScalePoint
Definition lilv.h:85
LILV_API const LilvNodes * lilv_ui_get_optional_features(const LilvUI *ui)
Definition ui.c:149
LILV_API LilvNode * lilv_plugin_get_modgui_stylesheet(const LilvPlugin *plugin)
Definition plugin.c:976
struct LilvPortImpl LilvPort
Definition lilv.h:84
LILV_API LilvNode * lilv_plugin_get_modgui_thumbnail(const LilvPlugin *plugin)
Definition plugin.c:1046
LILV_API const LilvNodes * lilv_ui_get_supported_features(const LilvUI *ui)
Definition ui.c:121
LILV_API const LilvNodes * lilv_ui_get_extension_data(const LilvUI *ui)
Definition ui.c:157
struct LilvWorldImpl LilvWorld
Definition lilv.h:88
struct LilvPluginClassImpl LilvPluginClass
Definition lilv.h:83
struct LilvPluginImpl LilvPlugin
Definition lilv.h:82
LILV_API LilvNode * lilv_plugin_get_modgui_resources_directory(const LilvPlugin *plugin)
Definition plugin.c:962
LILV_API LilvNode * lilv_plugin_get_modgui_template_data(const LilvPlugin *plugin)
Definition plugin.c:1018
struct LilvInstanceImpl LilvInstance
Definition lilv.h:89
struct LilvNodeImpl LilvNode
Definition lilv.h:87
void LilvPlugins
Definition lilv.h:94
void LilvIter
Definition lilv.h:92
void LilvUIs
Definition lilv.h:96
CARLA_PLUGIN_EXPORT const LV2_Descriptor * lv2_descriptor(uint32_t index)
Definition CarlaBridgeSingleLV2.cpp:702
void * LV2_Handle
Definition lv2.h:133
int val
Definition jpeglib.h:956
#define LILV_API
Definition lilv.h:37
#define LILV_DEPRECATED
Definition lilv.h:44
static SordNode * uri(SordWorld *world, int num)
Definition sord_test.c:47
static LilvWorld * world
Definition lilv_test.c:64
unsigned int uint32_t
Definition mid.cpp:100
#define min(x, y)
Definition os.h:74
#define max(x, y)
Definition os.h:78
Definition lv2.h:180
Definition lv2.h:157
Definition state.h:198
Definition urid.h:69
Definition urid.h:105
Definition lilv_internal.h:218
Definition lilv_internal.h:135
Definition lilv_internal.h:118
Definition lilv_internal.h:75
Definition lilv_internal.h:229
Definition state.c:66
char * dir
Save directory (if saved).
Definition state.c:69
char * link_dir
Directory for links to external files.
Definition state.c:72
char * copy_dir
Directory for snapshots of external files.
Definition state.c:71
char * file_dir
Directory for files created by plugin.
Definition state.c:61
char * label
State/Preset label.
Definition state.c:73
PortValue * values
Port values.
Definition state.c:78
Definition lilv_internal.h:234
Definition lilv_internal.h:153
uch * p
Definition crypt.c:594
ZCONST char * key
Definition crypt.c:587
b
Definition crypt.c:628
ulg size
Definition extract.c:2350
#define void
Definition unzip.h:396