diff options
author | David Robillard <d@drobilla.net> | 2011-12-09 23:40:21 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2011-12-09 23:40:21 +0000 |
commit | 005954c907e140698aefa04d57c701e0327602f5 (patch) | |
tree | 155ed95493b315afe354385b437688c147b3a715 /src/lilv_internal.h | |
parent | f785b5cb807e83015e4fc44a7da5273060f54633 (diff) | |
download | lilv-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.h | 15 |
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; |