mirror of
https://github.com/Ardour/ardour.git
synced 2026-01-03 04:09:29 +01:00
add node sanitation for ardour
This commit is contained in:
parent
e140a12bf5
commit
c66e006fff
2 changed files with 15 additions and 1 deletions
|
|
@ -73,6 +73,7 @@ class MixerSnapshot
|
|||
private:
|
||||
ARDOUR::Session* _session;
|
||||
|
||||
XMLNode& sanitize_node(XMLNode&);
|
||||
void reassign_masters(boost::shared_ptr<ARDOUR::Slavable>, XMLNode);
|
||||
void load_from_session(std::string);
|
||||
void load_from_session(XMLNode&);
|
||||
|
|
|
|||
|
|
@ -254,7 +254,7 @@ void MixerSnapshot::recall()
|
|||
|
||||
if(route) {
|
||||
XMLNode& bfr = route->get_state();
|
||||
route->set_state(state.node, PBD::Stateful::loading_state_version);
|
||||
route->set_state(sanitize_node(state.node), PBD::Stateful::loading_state_version);
|
||||
reassign_masters(route, state.node);
|
||||
_session->add_command(new MementoCommand<Route>((*route), &bfr, &route->get_state()));
|
||||
}
|
||||
|
|
@ -406,6 +406,19 @@ void MixerSnapshot::load_from_session(string path)
|
|||
load_from_session(*(root));
|
||||
}
|
||||
|
||||
XMLNode& MixerSnapshot::sanitize_node(XMLNode& node)
|
||||
{
|
||||
#ifndef MIXBUS
|
||||
const string proc[] = {"PRE", "EQ", "Comp", "POST"};
|
||||
const string name = "Processor";
|
||||
const string prop = "name";
|
||||
|
||||
for(int i = 0; i <= 3; i++)
|
||||
node.remove_node_and_delete(name, prop, proc[i]);
|
||||
#endif
|
||||
return node;
|
||||
}
|
||||
|
||||
void MixerSnapshot::load_from_session(XMLNode& node)
|
||||
{
|
||||
clear();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue