summaryrefslogtreecommitdiff
path: root/libs/ardour/processor.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/processor.cc')
-rw-r--r--libs/ardour/processor.cc37
1 files changed, 3 insertions, 34 deletions
diff --git a/libs/ardour/processor.cc b/libs/ardour/processor.cc
index bb004c313d..bf4a8ea6cb 100644
--- a/libs/ardour/processor.cc
+++ b/libs/ardour/processor.cc
@@ -123,21 +123,7 @@ Processor::state (bool full_state)
if (full_state) {
XMLNode& automation = Automatable::get_automation_xml_state();
- if (!automation.children().empty()
- || !automation.properties().empty()
- || !_visible_controls.empty()) {
-
- stringstream sstr;
- for (set<Evoral::Parameter>::iterator x = _visible_controls.begin();
- x != _visible_controls.end(); ++x) {
-
- if (x != _visible_controls.begin()) {
- sstr << ' ';
- }
- sstr << (*x).id();
- }
-
- automation.add_property ("visible", sstr.str());
+ if (!automation.children().empty() || !automation.properties().empty()) {
node->add_child_nocopy (automation);
}
}
@@ -206,6 +192,8 @@ Processor::set_state (const XMLNode& node, int version)
XMLNodeList nlist = node.children();
XMLNodeIterator niter;
+ Stateful::save_extra_xml (node);
+
for (niter = nlist.begin(); niter != nlist.end(); ++niter) {
if ((*niter)->name() == X_("Automation")) {
@@ -218,25 +206,6 @@ Processor::set_state (const XMLNode& node, int version)
set_automation_xml_state (*(*niter), Evoral::Parameter(PluginAutomation));
}
- if ((prop = (*niter)->property ("visible")) != 0) {
- uint32_t what;
- stringstream sstr;
-
- _visible_controls.clear ();
-
- sstr << prop->value();
- while (1) {
- sstr >> what;
- if (sstr.fail()) {
- break;
- }
- // FIXME: other automation types?
- mark_automation_visible (Evoral::Parameter(PluginAutomation, 0, what), true);
- }
- }
-
- } else if ((*niter)->name() == "Extra") {
- _extra_xml = new XMLNode (*(*niter));
} else if ((*niter)->name() == "Redirect") {
if ( !(legacy_active = (*niter)->property("active"))) {
error << string_compose(_("No %1 property flag in element %2"), "active", (*niter)->name()) << endl;