summaryrefslogtreecommitdiffstats
path: root/src/serialisation/Parser.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2011-10-21 05:16:22 +0000
committerDavid Robillard <d@drobilla.net>2011-10-21 05:16:22 +0000
commitbcc2b2a1032306711591ae59205b81ed67d08387 (patch)
treec98c936b113bc9ea5950877467eaaa8d9c13d62a /src/serialisation/Parser.cpp
parentd0197b2f5fadc55c5ab3bf62e96fef81d753b2de (diff)
downloadingen-bcc2b2a1032306711591ae59205b81ed67d08387.tar.gz
ingen-bcc2b2a1032306711591ae59205b81ed67d08387.tar.bz2
ingen-bcc2b2a1032306711591ae59205b81ed67d08387.zip
Fix running as an LV2 plugin.
Install template bundles for loading Ingen in LV2 hosts. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3555 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/serialisation/Parser.cpp')
-rw-r--r--src/serialisation/Parser.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/serialisation/Parser.cpp b/src/serialisation/Parser.cpp
index 27110c9d..92577294 100644
--- a/src/serialisation/Parser.cpp
+++ b/src/serialisation/Parser.cpp
@@ -564,10 +564,15 @@ Parser::find_patches(Ingen::Shared::World* world,
std::list<PatchRecord> records;
for (Sord::Iter i = model.find(nil, rdf_type, ingen_Patch); !i.end(); ++i) {
- const Sord::Node patch = i.get_subject();
- Sord::Iter f = model.find(patch, rdfs_seeAlso, nil);
+ const Sord::Node patch = i.get_subject();
+ Sord::Iter f = model.find(patch, rdfs_seeAlso, nil);
+ std::string patch_uri_str = patch.to_c_string();
+ if (patch_uri_str[0] == '/') {
+ // FIXME: Kludge path to be a proper URI (not sure why this is happening)
+ patch_uri_str = string("file://") + patch_uri_str;
+ }
if (!f.end()) {
- records.push_back(PatchRecord(patch.to_c_string(),
+ records.push_back(PatchRecord(patch_uri_str,
f.get_object().to_c_string()));
} else {
LOG(error) << "Patch has no rdfs:seeAlso" << endl;