summaryrefslogtreecommitdiffstats
path: root/src/Parser.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2015-10-26 16:29:11 +0000
committerDavid Robillard <d@drobilla.net>2015-10-26 16:29:11 +0000
commit965a74ae42dae3ff42f1dcc7c53dddb2b5a31b09 (patch)
tree10fddc515234d9a1fc5724d134b88eb8c124904f /src/Parser.cpp
parent06eb959bf1c249dd66a5a56b78df0ad0de7df29c (diff)
downloadingen-965a74ae42dae3ff42f1dcc7c53dddb2b5a31b09.tar.gz
ingen-965a74ae42dae3ff42f1dcc7c53dddb2b5a31b09.tar.bz2
ingen-965a74ae42dae3ff42f1dcc7c53dddb2b5a31b09.zip
Use URIDs almost everywhere
This fixes some issues where types are lost after saving and re-loading many times. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5788 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/Parser.cpp')
-rw-r--r--src/Parser.cpp13
1 files changed, 3 insertions, 10 deletions
diff --git a/src/Parser.cpp b/src/Parser.cpp
index 376bb97d..da0e9376 100644
--- a/src/Parser.cpp
+++ b/src/Parser.cpp
@@ -145,15 +145,8 @@ get_properties(Ingen::World* world,
model.c_obj(), i.get_object().c_obj());
const LV2_Atom* atom = (const LV2_Atom*)out.buf;
Atom atomm;
- // FIXME: Don't bloat out all URIs
- if (atom->type == forge.URID) {
- atomm = world->forge().alloc_uri(
- unmap->unmap(unmap->handle,
- ((const LV2_Atom_URID*)atom)->body));
- } else {
- atomm = world->forge().alloc(
- atom->size, atom->type, LV2_ATOM_BODY_CONST(atom));
- }
+ atomm = world->forge().alloc(
+ atom->size, atom->type, LV2_ATOM_BODY_CONST(atom));
props.insert(make_pair(Raul::URI(i.get_predicate().to_string()),
Resource::Property(atomm, ctx)));
}
@@ -343,7 +336,7 @@ parse_block(Ingen::World* world,
Resource::Properties props = get_properties(
world, model, subject, Resource::Graph::DEFAULT);
props.insert(make_pair(uris.rdf_type,
- uris.forge.alloc_uri(uris.ingen_Block)));
+ uris.forge.make_urid(uris.ingen_Block)));
target->put(Node::path_to_uri(path), props);
}
return path;