mirror of
https://github.com/Ardour/ardour.git
synced 2026-01-03 20:29:35 +01:00
Add API to allow querying plugin-presets without instantiating the plugin
This commit is contained in:
parent
8a84caf4a4
commit
d5dbdc9ea5
2 changed files with 12 additions and 0 deletions
|
|
@ -336,6 +336,8 @@ class LIBARDOUR_API PluginInfo {
|
|||
virtual bool is_instrument() const;
|
||||
virtual bool in_category (const std::string &) const { return false; }
|
||||
|
||||
virtual std::vector<Plugin::PresetRecord> get_presets(Session& session);
|
||||
|
||||
/* NOTE: this block of virtual methods looks like the interface
|
||||
to a Processor, but Plugin does not inherit from Processor.
|
||||
It is therefore not required that these precisely match
|
||||
|
|
|
|||
|
|
@ -86,6 +86,16 @@ PluginInfo::is_instrument () const
|
|||
return (n_inputs.n_midi() != 0) && (n_outputs.n_audio() > 0);
|
||||
}
|
||||
|
||||
std::vector<Plugin::PresetRecord>
|
||||
PluginInfo::get_presets(Session& session) {
|
||||
PluginPtr plugin = load (session);
|
||||
if (plugin) {
|
||||
return plugin->get_presets();
|
||||
} else {
|
||||
return std::vector<Plugin::PresetRecord> ();
|
||||
}
|
||||
}
|
||||
|
||||
Plugin::Plugin (AudioEngine& e, Session& s)
|
||||
: _engine (e)
|
||||
, _session (s)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue