summaryrefslogtreecommitdiffstats
path: root/src/lilv_internal.h
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2011-12-09 23:40:21 +0000
committerDavid Robillard <d@drobilla.net>2011-12-09 23:40:21 +0000
commit005954c907e140698aefa04d57c701e0327602f5 (patch)
tree155ed95493b315afe354385b437688c147b3a715 /src/lilv_internal.h
parentf785b5cb807e83015e4fc44a7da5273060f54633 (diff)
downloadlilv-005954c907e140698aefa04d57c701e0327602f5.tar.gz
lilv-005954c907e140698aefa04d57c701e0327602f5.tar.bz2
lilv-005954c907e140698aefa04d57c701e0327602f5.zip
Only load dynmanifests once per bundle, not once per plugin (fix #669).
git-svn-id: http://svn.drobilla.net/lad/trunk/lilv@3845 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/lilv_internal.h')
-rw-r--r--src/lilv_internal.h15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/lilv_internal.h b/src/lilv_internal.h
index 155cec8..c53eacb 100644
--- a/src/lilv_internal.h
+++ b/src/lilv_internal.h
@@ -83,12 +83,23 @@ struct LilvHeader {
LilvNode* uri;
};
+#ifdef LILV_DYN_MANIFEST
+typedef struct {
+ LilvNode* uri;
+ void* lib;
+ LV2_Dyn_Manifest_Handle handle;
+ uint32_t refs;
+} LilvDynManifest;
+#endif
+
struct LilvPluginImpl {
LilvWorld* world;
LilvNode* plugin_uri;
LilvNode* bundle_uri; ///< Bundle plugin was loaded from
LilvNode* binary_uri; ///< lv2:binary
- LilvNode* dynman_uri; ///< dynamic manifest binary
+#ifdef LILV_DYN_MANIFEST
+ LilvDynManifest* dynmanifest;
+#endif
const LilvPluginClass* plugin_class;
LilvNodes* data_uris; ///< rdfs::seeAlso
LilvPort** ports;
@@ -176,7 +187,7 @@ struct LilvScalePointImpl {
};
struct LilvUIImpl {
- LilvWorld* world;
+ LilvWorld* world;
LilvNode* uri;
LilvNode* bundle_uri;
LilvNode* binary_uri;