From 2dc6c1c74bc8d9d86105aded5035090f8f252441 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Fri, 22 Apr 2016 14:24:45 +0200 Subject: [PATCH] add API to load plugin presets for all instances --- libs/ardour/ardour/plugin_insert.h | 3 +++ libs/ardour/plugin_insert.cc | 12 ++++++++++++ 2 files changed, 15 insertions(+) diff --git a/libs/ardour/ardour/plugin_insert.h b/libs/ardour/ardour/plugin_insert.h index 5c7f403a0e..bd72682692 100644 --- a/libs/ardour/ardour/plugin_insert.h +++ b/libs/ardour/ardour/plugin_insert.h @@ -32,6 +32,7 @@ #include "ardour/io.h" #include "ardour/types.h" #include "ardour/parameter_descriptor.h" +#include "ardour/plugin.h" #include "ardour/processor.h" #include "ardour/sidechain.h" #include "ardour/automation_control.h" @@ -167,6 +168,8 @@ class LIBARDOUR_API PluginInsert : public Processor void realtime_locate (); void monitoring_changed (); + bool load_preset (Plugin::PresetRecord); + /** A control that manipulates a plugin parameter (control port). */ struct PluginControl : public AutomationControl { diff --git a/libs/ardour/plugin_insert.cc b/libs/ardour/plugin_insert.cc index a91ca6e9c0..a541cd5a9f 100644 --- a/libs/ardour/plugin_insert.cc +++ b/libs/ardour/plugin_insert.cc @@ -2610,6 +2610,18 @@ PluginInsert::add_plugin (boost::shared_ptr plugin) _plugins.push_back (plugin); } +bool +PluginInsert::load_preset (ARDOUR::Plugin::PresetRecord pr) +{ + bool ok = true; + for (Plugins::iterator i = _plugins.begin(); i != _plugins.end(); ++i) { + if (! (*i)->load_preset (pr)) { + ok = false; + } + } + return ok; +} + void PluginInsert::realtime_handle_transport_stopped () {