From e5657ab8d82a6b40c535526b29c4c0fe40b828a6 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Thu, 15 Mar 2012 21:59:27 +0000 Subject: Implement new LV2 discovery API. git-svn-id: http://svn.drobilla.net/lad/trunk/lilv@4062 a436a847-0d15-0410-975c-d299462d15a1 --- src/lilv_internal.h | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'src/lilv_internal.h') diff --git a/src/lilv_internal.h b/src/lilv_internal.h index 2ebaa0c..a80bfdb 100644 --- a/src/lilv_internal.h +++ b/src/lilv_internal.h @@ -96,6 +96,17 @@ typedef struct { } LilvDynManifest; #endif +typedef struct { + LilvWorld* world; + LilvNode* uri; + void* lib; + LV2_Descriptor_Function lv2_descriptor; +#ifdef LILV_NEW_LV2 + const LV2_Lib_Descriptor* desc; +#endif + uint32_t refs; +} LilvLib; + struct LilvPluginImpl { LilvWorld* world; LilvNode* plugin_uri; @@ -119,6 +130,11 @@ struct LilvPluginClassImpl { LilvNode* label; }; +struct LilvInstancePimpl { + LilvWorld* world; + LilvLib* lib; +}; + typedef struct { bool dyn_manifest; bool filter_language; @@ -134,6 +150,7 @@ struct LilvWorldImpl { LilvSpec* specs; LilvPlugins* plugins; LilvNodes* loaded_files; + ZixTree* libs; struct { SordNode* dc_replaces; SordNode* doap_name; @@ -245,6 +262,15 @@ LilvPluginClass* lilv_plugin_class_new(LilvWorld* world, void lilv_plugin_class_free(LilvPluginClass* plugin_class); +LilvLib* +lilv_lib_open(LilvWorld* world, + const LilvNode* uri, + const char* bundle_path, + const LV2_Feature*const* features); + +const LV2_Descriptor* lilv_lib_get_plugin(LilvLib* lib, uint32_t index); +void lilv_lib_close(LilvLib* lib); + LilvNodes* lilv_nodes_new(void); LilvPlugins* lilv_plugins_new(void); LilvScalePoints* lilv_scale_points_new(void); -- cgit v1.2.1