From 9d867cfd87648e6b441638bda28153f5a9f02092 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Wed, 18 Nov 2015 18:11:19 +0100 Subject: add dedicated API to check plugin class --- libs/ardour/ardour/lv2_plugin.h | 1 + libs/ardour/ardour/plugin.h | 1 + libs/ardour/lv2_plugin.cc | 11 +++++++++++ 3 files changed, 13 insertions(+) (limited to 'libs') 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() { -- cgit v1.2.3