summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Loftis <ben@harrisonconsoles.com>2015-03-05 12:48:30 -0600
committerBen Loftis <ben@harrisonconsoles.com>2015-03-05 12:48:30 -0600
commit5bf90524df6a1a6d62fabd83cda7fac393bfdcbc (patch)
tree5e5260340fe9dae3f9abc980e7352b140b132aa7
parent1089f19a4c38fa548451b1371662d5a26051576a (diff)
fix import of v2 session redirects: active or inactive
-rw-r--r--libs/ardour/processor.cc7
-rw-r--r--libs/ardour/route.cc12
2 files changed, 16 insertions, 3 deletions
diff --git a/libs/ardour/processor.cc b/libs/ardour/processor.cc
index ca1f71db5a..fa6cab579a 100644
--- a/libs/ardour/processor.cc
+++ b/libs/ardour/processor.cc
@@ -150,7 +150,9 @@ Processor::set_state_2X (const XMLNode & node, int /*version*/)
set_id (**i);
- if ((prop = (*i)->property ("active")) != 0) {
+ //note: in A2, active state was stored in the Redirect node, not the child IO node
+ /*
+ * if ((prop = (*i)->property ("active")) != 0) {
bool const a = string_is_affirmative (prop->value ());
if (_active != a) {
if (a) {
@@ -159,7 +161,8 @@ Processor::set_state_2X (const XMLNode & node, int /*version*/)
deactivate ();
}
}
- }
+ }*/
+
}
}
diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc
index ef46cd403e..3ff30f826e 100644
--- a/libs/ardour/route.cc
+++ b/libs/ardour/route.cc
@@ -1217,8 +1217,18 @@ Route::add_processor_from_xml_2X (const XMLNode& node, int version)
if (processor->set_state (node, version)) {
return false;
}
+
+ //A2 uses the "active" flag in the toplevel redirect node, not in the child plugin/IO
+ if (i != children.end()) {
+ if ((prop = (*i)->property (X_("active"))) != 0) {
+ if ( string_is_affirmative (prop->value()) )
+ processor->activate();
+ else
+ processor->deactivate();
+ }
+ }
- return (add_processor (processor, placement) == 0);
+ return (add_processor (processor, placement, 0, false) == 0);
}
catch (failed_constructor &err) {