diff options
author | David Robillard <d@drobilla.net> | 2008-11-28 22:50:35 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2008-11-28 22:50:35 +0000 |
commit | b8490799a71c0c914a87a4a86f7160fbcd0bacbe (patch) | |
tree | c87777b8c9a306027fa7136d29afa662b6d2548f | |
parent | 0ecd2b8f0ebc5a384759435c81bb3314f6d12e79 (diff) | |
download | ingen-b8490799a71c0c914a87a4a86f7160fbcd0bacbe.tar.gz ingen-b8490799a71c0c914a87a4a86f7160fbcd0bacbe.tar.bz2 ingen-b8490799a71c0c914a87a4a86f7160fbcd0bacbe.zip |
Store module locations on drop (fix ticket #281).
Use existing rdf:instanceOf instead of ingen:plugin.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1816 a436a847-0d15-0410-975c-d299462d15a1
-rw-r--r-- | src/engine/events/SetMetadataEvent.cpp | 4 | ||||
-rw-r--r-- | src/serialisation/Parser.cpp | 14 | ||||
-rw-r--r-- | src/serialisation/Serialiser.cpp | 2 |
3 files changed, 9 insertions, 11 deletions
diff --git a/src/engine/events/SetMetadataEvent.cpp b/src/engine/events/SetMetadataEvent.cpp index 263f07b9..8caede6e 100644 --- a/src/engine/events/SetMetadataEvent.cpp +++ b/src/engine/events/SetMetadataEvent.cpp @@ -95,9 +95,9 @@ void SetMetadataEvent::post_process() { if (_error == INVALID_PATH) { - _responder->respond_error((boost::format("Invalid path %1% setting %2%") % _path % _key).str()); + _responder->respond_error((boost::format("Invalid path '%1%' setting '%2%'") % _path % _key).str()); } else if (_object == NULL) { - string msg = (boost::format("Unable to find object %1% to set %2%") % _path % _key).str(); + string msg = (boost::format("Unable to find object '%1%' to set '%2%'") % _path % _key).str(); _responder->respond_error(msg); } else { _responder->respond_ok(); diff --git a/src/serialisation/Parser.cpp b/src/serialisation/Parser.cpp index 4e886e43..9b165e03 100644 --- a/src/serialisation/Parser.cpp +++ b/src/serialisation/Parser.cpp @@ -293,10 +293,8 @@ Parser::parse( root_path = ret; } else if (is_plugin) { - if (path_str.length() > 0) { - const string uri = path_str.substr(1); - target->set_property(uri, "rdf:type", Atom(Atom::URI, rdf_class.to_c_string())); - } + if (path_str.length() > 0) + target->set_property(path_str, "rdf:type", Atom(Atom::URI, rdf_class.to_c_string())); } } @@ -381,7 +379,7 @@ Parser::parse_patch( "SELECT DISTINCT ?name ?plugin ?varkey ?varval ?poly WHERE {\n") + subject + " ingen:node ?node .\n" "?node lv2:symbol ?name ;\n" - " ingen:plugin ?plugin ;\n" + " rdf:instanceOf ?plugin ;\n" " ingen:polyphonic ?poly .\n" "OPTIONAL { ?node lv2var:variable ?variable .\n" " ?variable rdf:predicate ?varkey ;\n" @@ -568,18 +566,18 @@ Parser::parse_node( { /* Get plugin */ Redland::Query query(*world->rdf_world, Glib::ustring( - "SELECT DISTINCT ?plug WHERE { ") + subject + " ingen:plugin ?plug }"); + "SELECT DISTINCT ?plug WHERE { ") + subject + " rdf:instanceOf ?plug }"); Redland::Query::Results results = query.run(*world->rdf_world, model, base_uri); if (results.size() == 0) { - cerr << "[Parser] ERROR: Node missing mandatory ingen:plugin property" << endl; + cerr << "[Parser] ERROR: Node missing mandatory rdf:instanceOf property" << endl; return boost::optional<Path>(); } const Redland::Node& plugin_node = (*results.begin())["plug"]; if (plugin_node.type() != Redland::Node::RESOURCE) { - cerr << "[Parser] ERROR: node's ingen:plugin property is not a resource" << endl; + cerr << "[Parser] ERROR: node's rdf:instanceOf property is not a resource" << endl; return boost::optional<Path>(); } diff --git a/src/serialisation/Serialiser.cpp b/src/serialisation/Serialiser.cpp index 0704247e..b9eff1f2 100644 --- a/src/serialisation/Serialiser.cpp +++ b/src/serialisation/Serialiser.cpp @@ -403,7 +403,7 @@ Serialiser::serialise_node(SharedPtr<Shared::Node> node, const Redland::Node& no _model->add_statement( node_id, - "ingen:plugin", + "rdf:instanceOf", plugin_id); _model->add_statement( |