add API to load plugin presets for all instances
authorRobin Gareus <robin@gareus.org>
Fri, 22 Apr 2016 12:24:45 +0000 (14:24 +0200)
committerRobin Gareus <robin@gareus.org>
Fri, 22 Apr 2016 12:24:45 +0000 (14:24 +0200)
libs/ardour/ardour/plugin_insert.h
libs/ardour/plugin_insert.cc

index 5c7f403a0e67bf55849ff51a5d13be57aebf9049..bd726826925ffc71bebc55004a39ea280280b4a1 100644 (file)
@@ -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
        {
index a91ca6e9c0bcedf6d93de9f011a2f5fd5c50de47..a541cd5a9f193f151a8e670212485337e3a3e6c6 100644 (file)
@@ -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 ()
 {