From 92d81f5f547d978bb54a5e0d4402ac232bb6676a Mon Sep 17 00:00:00 2001 From: Nikolaus Gullotta Date: Mon, 3 Jun 2019 15:43:40 -0500 Subject: [PATCH] re-add sanitize_node function to mixer_snapshot.h and add check + removal for plugins recall flag --- libs/ardour/ardour/mixer_snapshot.h | 1 + libs/ardour/mixer_snapshot.cc | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/libs/ardour/ardour/mixer_snapshot.h b/libs/ardour/ardour/mixer_snapshot.h index 523c446caf..979d39f14f 100644 --- a/libs/ardour/ardour/mixer_snapshot.h +++ b/libs/ardour/ardour/mixer_snapshot.h @@ -116,6 +116,7 @@ class LIBARDOUR_API MixerSnapshot private: ARDOUR::Session* _session; + XMLNode& sanitize_node(XMLNode&); void reassign_masters(boost::shared_ptr, XMLNode); void load_from_session(std::string); void load_from_session(XMLNode&); diff --git a/libs/ardour/mixer_snapshot.cc b/libs/ardour/mixer_snapshot.cc index 03eed1e26c..27a826e3e4 100644 --- a/libs/ardour/mixer_snapshot.cc +++ b/libs/ardour/mixer_snapshot.cc @@ -572,3 +572,14 @@ void MixerSnapshot::load_from_session(XMLNode& node) } } } + +XMLNode& MixerSnapshot::sanitize_node(XMLNode& node) +{ + if(!get_recall_plugins()) { + vector types {"lv2", "windows-vst", "lxvst", "mac-vst", "audiounit", "luaproc"}; + for(vector::iterator it = types.begin(); it != types.end(); it++) { + node.remove_nodes_and_delete(X_("type"), (*it)); + } + } + return node; +} \ No newline at end of file