From 5ce249b7dcc1de92a251d38567f75409526804c7 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Sat, 20 Nov 2010 01:08:53 +0000 Subject: Save/restore aux send levels. Fixes #3546. git-svn-id: svn://localhost/ardour2/branches/3.0@8061 d708f5d6-7413-0410-9779-e7cbd77b26cf --- libs/ardour/ardour/send.h | 4 ++-- libs/ardour/send.cc | 11 ++++++++--- 2 files changed, 10 insertions(+), 5 deletions(-) (limited to 'libs/ardour') diff --git a/libs/ardour/ardour/send.h b/libs/ardour/ardour/send.h index 29b6dcbf64..e66c72367a 100644 --- a/libs/ardour/ardour/send.h +++ b/libs/ardour/ardour/send.h @@ -49,8 +49,8 @@ class Send : public Delivery bool metering() const { return _metering; } void set_metering (bool yn) { _metering = yn; } - XMLNode& state(bool full); - XMLNode& get_state(void); + XMLNode& state (bool full); + XMLNode& get_state (); int set_state(const XMLNode&, int version); uint32_t pans_required() const { return _configured_input.n_audio(); } diff --git a/libs/ardour/send.cc b/libs/ardour/send.cc index 63b78dd347..bfbceb49af 100644 --- a/libs/ardour/send.cc +++ b/libs/ardour/send.cc @@ -133,6 +133,8 @@ Send::state (bool full) snprintf (buf, sizeof (buf), "%" PRIu32, _bitslot); node.add_property ("bitslot", buf); + node.add_child_nocopy (_amp->state (full)); + return node; } @@ -143,8 +145,6 @@ Send::set_state (const XMLNode& node, int version) return set_state_2X (node, version); } - XMLNodeList nlist = node.children(); - XMLNodeIterator niter; const XMLProperty* prop; Delivery::set_state (node, version); @@ -161,7 +161,12 @@ Send::set_state (const XMLNode& node, int version) _session.mark_send_id (_bitslot); } - /* XXX need to load automation state & data for amp */ + XMLNodeList nlist = node.children(); + for (XMLNodeIterator i = nlist.begin(); i != nlist.end(); ++i) { + if ((*i)->name() == X_("Processor")) { + _amp->set_state (**i, version); + } + } return 0; } -- cgit v1.2.3