diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2010-03-24 14:01:31 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2010-03-24 14:01:31 +0000 |
commit | 2726184f42652a84816096887948658177ea24f8 (patch) | |
tree | a94ae006bedd134a762cd6ba2a1ab4d643b2f3be /gtk2_ardour/processor_box.cc | |
parent | b3a3e66f7755fe35ace4cbb6b19b54a52bb71a2f (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.cc | 19 |
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)); } |