summaryrefslogtreecommitdiffstats
path: root/ingen
diff options
context:
space:
mode:
Diffstat (limited to 'ingen')
-rw-r--r--ingen/LV2Features.hpp3
-rw-r--r--ingen/URIMap.hpp2
2 files changed, 5 insertions, 0 deletions
diff --git a/ingen/LV2Features.hpp b/ingen/LV2Features.hpp
index 80339c84..214d62bb 100644
--- a/ingen/LV2Features.hpp
+++ b/ingen/LV2Features.hpp
@@ -40,6 +40,8 @@ public:
public:
virtual ~Feature() {}
+ virtual const char* uri() const = 0;
+
virtual SharedPtr<LV2_Feature> feature(World* world,
Node* block) = 0;
};
@@ -60,6 +62,7 @@ public:
};
void add_feature(SharedPtr<Feature> feature);
+ bool is_supported(const std::string& uri) const;
SharedPtr<FeatureArray> lv2_features(World* world,
Node* block) const;
diff --git a/ingen/URIMap.hpp b/ingen/URIMap.hpp
index 5f3aca63..e5ca71e3 100644
--- a/ingen/URIMap.hpp
+++ b/ingen/URIMap.hpp
@@ -46,6 +46,8 @@ public:
_feature.data = data;
}
+ const char* uri() const { return _feature.URI; }
+
SharedPtr<LV2_Feature> feature(World*, Node*) {
return SharedPtr<LV2_Feature>(&_feature, NullDeleter<LV2_Feature>);
}