diff options
author | David Robillard <d@drobilla.net> | 2012-12-21 22:41:43 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2012-12-21 22:41:43 +0000 |
commit | 26d7e8e9399ef49a37463188cd2f841537c9bb4d (patch) | |
tree | f45d1c27964d172ca547abb7a9b933407b2ee7be /ingen | |
parent | 3a1eb6f291e555a25d2be69a540d0f8d4317c4f2 (diff) | |
download | ingen-26d7e8e9399ef49a37463188cd2f841537c9bb4d.tar.gz ingen-26d7e8e9399ef49a37463188cd2f841537c9bb4d.tar.bz2 ingen-26d7e8e9399ef49a37463188cd2f841537c9bb4d.zip |
Gracefully ignore plugins which require unsupported features or have unknown port types.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4882 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'ingen')
-rw-r--r-- | ingen/LV2Features.hpp | 3 | ||||
-rw-r--r-- | ingen/URIMap.hpp | 2 |
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>); } |