summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/plugin.h
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2018-01-29 23:55:20 +0100
committerRobin Gareus <robin@gareus.org>2018-01-30 01:33:48 +0100
commitb8491014a53e236255f5803fc876f848cfc82750 (patch)
tree346bbc463e0121f3866d2aa819e2761b1c621e70 /libs/ardour/ardour/plugin.h
parent4d173d604896c80c99f7e4cdaa3908b55b0fdb81 (diff)
Update plugin classification
* dedicated API for classes (effect, instrument, util) * prepare for tags (rather than categories) * prepare removal of per-plugin in_category() API
Diffstat (limited to 'libs/ardour/ardour/plugin.h')
-rw-r--r--libs/ardour/ardour/plugin.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/libs/ardour/ardour/plugin.h b/libs/ardour/ardour/plugin.h
index e9738a61f1..fae35c33e1 100644
--- a/libs/ardour/ardour/plugin.h
+++ b/libs/ardour/ardour/plugin.h
@@ -425,9 +425,17 @@ class LIBARDOUR_API PluginInfo {
std::string unique_id;
virtual PluginPtr load (Session& session) = 0;
- virtual bool is_instrument() const;
+
+ /* NOTE: it is possible for a plugin to be an effect AND an instrument.
+ * override these funcs as necessary to support that.
+ */
+ virtual bool is_effect () const;
+ virtual bool is_instrument () const;
+ virtual bool is_utility () const; //this includes things like "generators" and "midi filters"
+ virtual bool is_analyzer () const;
+
virtual bool needs_midi_input() const;
- virtual bool in_category (const std::string &) const { return false; }
+ virtual bool in_category (const std::string &) const { return false; } // deprecated
virtual std::vector<Plugin::PresetRecord> get_presets (bool user_only) const = 0;