diff options
author | Robin Gareus <robin@gareus.org> | 2018-01-29 23:55:20 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2018-01-30 01:33:48 +0100 |
commit | b8491014a53e236255f5803fc876f848cfc82750 (patch) | |
tree | 346bbc463e0121f3866d2aa819e2761b1c621e70 /libs/ardour/ardour/plugin.h | |
parent | 4d173d604896c80c99f7e4cdaa3908b55b0fdb81 (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.h | 12 |
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; |