From 965a74ae42dae3ff42f1dcc7c53dddb2b5a31b09 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Mon, 26 Oct 2015 16:29:11 +0000 Subject: 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 --- src/server/LV2Block.cpp | 2 +- src/server/PortImpl.cpp | 3 +-- src/server/events/CreateBlock.cpp | 2 +- src/server/internals/Controller.cpp | 2 +- 4 files changed, 4 insertions(+), 5 deletions(-) (limited to 'src/server') diff --git a/src/server/LV2Block.cpp b/src/server/LV2Block.cpp index 14aa42ae..f7627416 100644 --- a/src/server/LV2Block.cpp +++ b/src/server/LV2Block.cpp @@ -396,7 +396,7 @@ LV2Block::instantiate(BufferFactory& bufs) const LilvNode* val = lilv_nodes_get(values, v); if (lilv_node_is_uri(val)) { port->add_property(Raul::URI(lilv_node_as_uri(preds[p])), - forge.alloc_uri(lilv_node_as_uri(val))); + forge.make_urid(Raul::URI(lilv_node_as_uri(val)))); } } lilv_nodes_free(values); diff --git a/src/server/PortImpl.cpp b/src/server/PortImpl.cpp index 13eaa8e2..87edd1f5 100644 --- a/src/server/PortImpl.cpp +++ b/src/server/PortImpl.cpp @@ -110,8 +110,7 @@ PortImpl::set_type(PortType port_type, LV2_URID buffer_type) remove_property(uris.rdf_type, uris.lv2_CVPort); remove_property(uris.rdf_type, uris.lv2_ControlPort); remove_property(uris.rdf_type, uris.atom_AtomPort); - add_property(uris.rdf_type, - world->forge().alloc_uri(port_type.uri().c_str())); + add_property(uris.rdf_type, world->forge().make_urid(port_type.uri())); // Update audio thread types _type = port_type; diff --git a/src/server/events/CreateBlock.cpp b/src/server/events/CreateBlock.cpp index e213f765..7ba35d1a 100644 --- a/src/server/events/CreateBlock.cpp +++ b/src/server/events/CreateBlock.cpp @@ -111,7 +111,7 @@ CreateBlock::pre_process() _properties.erase(uris.ingen_prototype); _properties.erase(uris.lv2_prototype); _properties.insert(std::make_pair(uris.lv2_prototype, - uris.forge.alloc_uri(ancestor->plugin()->uri()))); + uris.forge.make_urid(ancestor->plugin()->uri()))); } else { // Prototype is a plugin PluginImpl* const plugin = _engine.block_factory()->plugin(prototype); diff --git a/src/server/internals/Controller.cpp b/src/server/internals/Controller.cpp index 8913d293..f6555a96 100644 --- a/src/server/internals/Controller.cpp +++ b/src/server/internals/Controller.cpp @@ -55,7 +55,7 @@ ControllerNode::ControllerNode(InternalPlugin* plugin, const Atom zero = bufs.forge().make(0.0f); const Atom one = bufs.forge().make(1.0f); - const Atom atom_Float = bufs.forge().alloc_uri(LV2_ATOM__Float); + const Atom atom_Float = bufs.forge().make_urid(Raul::URI(LV2_ATOM__Float)); _midi_in_port = new InputPort(bufs, this, Raul::Symbol("input"), 0, 1, PortType::ATOM, uris.atom_Sequence, Atom()); -- cgit v1.2.1