summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lilv_internal.h1
-rw-r--r--src/plugin.c7
-rw-r--r--src/world.c2
3 files changed, 10 insertions, 0 deletions
diff --git a/src/lilv_internal.h b/src/lilv_internal.h
index 0d4310f..21f612a 100644
--- a/src/lilv_internal.h
+++ b/src/lilv_internal.h
@@ -142,6 +142,7 @@ struct LilvWorldImpl {
SordNode* xsd_double_node;
SordNode* xsd_integer_node;
LilvNode* doap_name_val;
+ LilvNode* lv2_extensionData_val;
LilvNode* lv2_name_val;
LilvNode* lv2_optionalFeature_val;
LilvNode* lv2_requiredFeature_val;
diff --git a/src/plugin.c b/src/plugin.c
index a5ca1a7..9fba6f4 100644
--- a/src/plugin.c
+++ b/src/plugin.c
@@ -645,6 +645,13 @@ lilv_plugin_get_required_features(const LilvPlugin* p)
}
LILV_API
+LilvNodes*
+lilv_plugin_get_extension_data(const LilvPlugin* p)
+{
+ return lilv_plugin_get_value(p, p->world->lv2_extensionData_val);
+}
+
+LILV_API
const LilvPort*
lilv_plugin_get_port_by_index(const LilvPlugin* p,
uint32_t index)
diff --git a/src/world.c b/src/world.c
index 9d74c6b..0bad4c4 100644
--- a/src/world.c
+++ b/src/world.c
@@ -77,6 +77,7 @@ lilv_world_new(void)
world->xsd_integer_node = NEW_URI(LILV_NS_XSD "integer");
world->doap_name_val = NEW_URI_VAL(LILV_NS_DOAP "name");
+ world->lv2_extensionData_val = NEW_URI_VAL(LILV_NS_LV2 "extensionData");
world->lv2_name_val = NEW_URI_VAL(LILV_NS_LV2 "name");
world->lv2_optionalFeature_val = NEW_URI_VAL(LILV_NS_LV2 "optionalFeature");
world->lv2_requiredFeature_val = NEW_URI_VAL(LILV_NS_LV2 "requiredFeature");
@@ -131,6 +132,7 @@ lilv_world_free(LilvWorld* world)
sord_node_free(world->world, world->xsd_double_node);
sord_node_free(world->world, world->xsd_integer_node);
lilv_node_free(world->doap_name_val);
+ lilv_node_free(world->lv2_extensionData_val);
lilv_node_free(world->lv2_name_val);
lilv_node_free(world->lv2_optionalFeature_val);
lilv_node_free(world->lv2_requiredFeature_val);