summaryrefslogtreecommitdiff
path: root/gtk2_ardour/processor_box.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2010-03-24 14:01:31 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2010-03-24 14:01:31 +0000
commit2726184f42652a84816096887948658177ea24f8 (patch)
treea94ae006bedd134a762cd6ba2a1ab4d643b2f3be /gtk2_ardour/processor_box.cc
parentb3a3e66f7755fe35ace4cbb6b19b54a52bb71a2f (diff)
remove XML-based constructors for several types of Processors; less debugging
git-svn-id: svn://localhost/ardour2/branches/3.0@6790 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/processor_box.cc')
-rw-r--r--gtk2_ardour/processor_box.cc19
1 files changed, 17 insertions, 2 deletions
diff --git a/gtk2_ardour/processor_box.cc b/gtk2_ardour/processor_box.cc
index 201e89db3b..de4af60136 100644
--- a/gtk2_ardour/processor_box.cc
+++ b/gtk2_ardour/processor_box.cc
@@ -1305,18 +1305,33 @@ ProcessorBox::paste_processor_state (const XMLNodeList& nlist, boost::shared_ptr
XMLNode n (**niter);
Send::make_unique (n, *_session);
- p.reset (new Send (*_session, _route->mute_master(), n));
+ Send* s = new Send (*_session, _route->mute_master());
+ if (s->set_state (n, Stateful::loading_state_version)) {
+ delete s;
+ return;
+ }
+
+ p.reset (s);
+
} else if (type->value() == "return") {
XMLNode n (**niter);
Return::make_unique (n, *_session);
- p.reset (new Return (*_session, **niter));
+ Return* r = new Return (*_session);
+
+ if (r->set_state (n, Stateful::loading_state_version)) {
+ delete r;
+ return;
+ }
+
+ p.reset (r);
} else {
/* XXX its a bit limiting to assume that everything else
is a plugin.
*/
+
p.reset (new PluginInsert (*_session, **niter));
}