From 0f8702478e60b0099aa7c1a19c7a0926edef2f33 Mon Sep 17 00:00:00 2001 From: Nikolaus Gullotta Date: Thu, 11 Apr 2019 09:48:56 -0500 Subject: [PATCH] add flag checks to sanitize_node --- libs/ardour/mixer_snapshot.cc | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/libs/ardour/mixer_snapshot.cc b/libs/ardour/mixer_snapshot.cc index 0020161389..ba12f3dd7d 100644 --- a/libs/ardour/mixer_snapshot.cc +++ b/libs/ardour/mixer_snapshot.cc @@ -302,6 +302,10 @@ void MixerSnapshot::recall() //vcas for(vector::const_iterator i = vca_states.begin(); i != vca_states.end(); i++) { + if(!get_recall_vca()) { + continue; + } + State state = (*i); boost::shared_ptr vca = _session->vca_manager().vca_by_name(state.name); @@ -339,6 +343,10 @@ void MixerSnapshot::recall() //groups for(vector::const_iterator i = group_states.begin(); i != group_states.end(); i++) { + if(!get_recall_group()) { + continue; + } + State state = (*i); RouteGroup* group = _session->route_group_by_name(state.name); @@ -492,6 +500,20 @@ XMLNode& MixerSnapshot::sanitize_node(XMLNode& node) node.remove_node_and_delete(node_name, prop_name, (*it)); } #endif + + if(!get_recall_eq()) { + node.remove_node_and_delete("Processor", "name", "EQ"); + } + + if(!get_recall_comp()) { + node.remove_node_and_delete("Processor", "name", "Comp"); + } + + if(!get_recall_io()) { + node.remove_node_and_delete("IO", "direction", "Input"); + node.remove_node_and_delete("IO", "direction", "Output"); + } + return node; }