diff options
-rw-r--r-- | libs/ardour/ardour/lv2_plugin.h | 1 | ||||
-rw-r--r-- | libs/ardour/ardour/plugin.h | 1 | ||||
-rw-r--r-- | libs/ardour/lv2_plugin.cc | 11 |
3 files changed, 13 insertions, 0 deletions
diff --git a/libs/ardour/ardour/lv2_plugin.h b/libs/ardour/ardour/lv2_plugin.h index 12e079f29c..fcbf8b90cc 100644 --- a/libs/ardour/ardour/lv2_plugin.h +++ b/libs/ardour/ardour/lv2_plugin.h @@ -277,6 +277,7 @@ public: static PluginInfoList* discover (); PluginPtr load (Session& session); + virtual bool in_category (const std::string &c) const; char * _plugin_uri; }; diff --git a/libs/ardour/ardour/plugin.h b/libs/ardour/ardour/plugin.h index 7bef40ab88..063335ccc3 100644 --- a/libs/ardour/ardour/plugin.h +++ b/libs/ardour/ardour/plugin.h @@ -68,6 +68,7 @@ class LIBARDOUR_API PluginInfo { virtual PluginPtr load (Session& session) = 0; virtual bool is_instrument() const; + virtual bool in_category (const std::string &) const { return false; } /* NOTE: this block of virtual methods looks like the interface to a Processor, but Plugin does not inherit from Processor. diff --git a/libs/ardour/lv2_plugin.cc b/libs/ardour/lv2_plugin.cc index 2d277aa301..47e1053a2c 100644 --- a/libs/ardour/lv2_plugin.cc +++ b/libs/ardour/lv2_plugin.cc @@ -2561,6 +2561,17 @@ LV2PluginInfo::load(Session& session) return PluginPtr(); } +bool +LV2PluginInfo::in_category (const std::string &c) const +{ + // TODO use untranslated lilv_plugin_get_class() + // match gtk2_ardour/plugin_selector.cc + if (category == c) { + return true; + } + return false; +} + PluginInfoList* LV2PluginInfo::discover() { |