summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libs/ardour/ardour/plugin_insert.h3
-rw-r--r--libs/ardour/plugin_insert.cc12
2 files changed, 15 insertions, 0 deletions
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> 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 ()
{