diff options
author | David Robillard <d@drobilla.net> | 2015-10-26 16:29:11 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2015-10-26 16:29:11 +0000 |
commit | 965a74ae42dae3ff42f1dcc7c53dddb2b5a31b09 (patch) | |
tree | 10fddc515234d9a1fc5724d134b88eb8c124904f /src/Parser.cpp | |
parent | 06eb959bf1c249dd66a5a56b78df0ad0de7df29c (diff) | |
download | ingen-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.cpp | 13 |
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; |