summaryrefslogtreecommitdiff
path: root/libs/ardour
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2010-11-20 01:08:53 +0000
committerCarl Hetherington <carl@carlh.net>2010-11-20 01:08:53 +0000
commit5ce249b7dcc1de92a251d38567f75409526804c7 (patch)
treeaaaa66346d3d29ce674b113beb5cfff7c08b7c26 /libs/ardour
parente1d194cf48069b310eb6740b6029d974d38de94a (diff)
Save/restore aux send levels. Fixes #3546.
git-svn-id: svn://localhost/ardour2/branches/3.0@8061 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour')
-rw-r--r--libs/ardour/ardour/send.h4
-rw-r--r--libs/ardour/send.cc11
2 files changed, 10 insertions, 5 deletions
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;
}