summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/serialisation/Parser.cpp12
-rw-r--r--src/serialisation/Parser.hpp2
2 files changed, 14 insertions, 0 deletions
diff --git a/src/serialisation/Parser.cpp b/src/serialisation/Parser.cpp
index cee4d656..2a65d0c3 100644
--- a/src/serialisation/Parser.cpp
+++ b/src/serialisation/Parser.cpp
@@ -448,6 +448,8 @@ Parser::parse_patch(
Objects::iterator plug_i = plugin_nodes.find(node.to_string());
Types::iterator type_i = types.find(node.to_string());
if (node.type() == Redland::Node::RESOURCE && type_i != types.end()) {
+ if (skip_property(predicate))
+ continue;
const string key = world->rdf_world->qualify(predicate.to_string());
if (patch_i != patch_nodes.end()) {
patch_i->second.insert(make_pair(key, AtomRDF::node_to_atom(object)));
@@ -714,6 +716,8 @@ Parser::parse_properties(
Glib::Mutex::Lock lock(world->rdf_world->mutex());
const string key = world->rdf_world->qualify(string((*i)["key"]));
const Redland::Node& val = (*i)["val"];
+ if (skip_property((*i)["key"]))
+ continue;
if (key != "" && val.type() != Redland::Node::BLANK)
properties.insert(make_pair(key, AtomRDF::node_to_atom(val)));
}
@@ -728,6 +732,14 @@ Parser::parse_properties(
}
+bool
+Parser::skip_property(const Redland::Node& predicate)
+{
+ return (predicate.to_string() == "http://drobilla.net/ns/ingen#node"
+ || predicate.to_string() == "http://lv2plug.in/ns/lv2core#port");
+}
+
+
} // namespace Serialisation
} // namespace Ingen
diff --git a/src/serialisation/Parser.hpp b/src/serialisation/Parser.hpp
index a5ab9400..99c6dc81 100644
--- a/src/serialisation/Parser.hpp
+++ b/src/serialisation/Parser.hpp
@@ -109,6 +109,8 @@ private:
Redland::Model& model,
const Redland::Node& subject,
const Raul::Path& patch);
+
+ bool skip_property(const Redland::Node& predicate);
};