diff options
author | David Robillard <d@drobilla.net> | 2011-10-21 05:16:22 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2011-10-21 05:16:22 +0000 |
commit | bcc2b2a1032306711591ae59205b81ed67d08387 (patch) | |
tree | c98c936b113bc9ea5950877467eaaa8d9c13d62a /src/serialisation | |
parent | d0197b2f5fadc55c5ab3bf62e96fef81d753b2de (diff) | |
download | ingen-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')
-rw-r--r-- | src/serialisation/Parser.cpp | 11 |
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; |