summaryrefslogtreecommitdiffstats
path: root/src/server/Engine.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2012-03-12 06:59:48 +0000
committerDavid Robillard <d@drobilla.net>2012-03-12 06:59:48 +0000
commit81e9fb3245bd461ebfee4cfa16d1792e48533f9e (patch)
treeeb1b30d79cba70dda9d832100dd7c14b08085b03 /src/server/Engine.cpp
parente9d9569271ee962c09ab66c6babed1ca5655a6c6 (diff)
downloadingen-81e9fb3245bd461ebfee4cfa16d1792e48533f9e.tar.gz
ingen-81e9fb3245bd461ebfee4cfa16d1792e48533f9e.tar.bz2
ingen-81e9fb3245bd461ebfee4cfa16d1792e48533f9e.zip
Centralise atom creation in forge object.
Aside from being more greppable and making realtime violations more obvious, this is a step towards using LV2 atoms internally (which needs a factory since the type numbers are dynamic). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4054 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/server/Engine.cpp')
-rw-r--r--src/server/Engine.cpp35
1 files changed, 21 insertions, 14 deletions
diff --git a/src/server/Engine.cpp b/src/server/Engine.cpp
index 1d976edd..ebfd73b3 100644
--- a/src/server/Engine.cpp
+++ b/src/server/Engine.cpp
@@ -151,7 +151,8 @@ Engine::activate()
_message_context->Thread::start();
- const Ingen::Shared::URIs& uris = *world()->uris().get();
+ const Ingen::Shared::URIs& uris = *world()->uris().get();
+ Raul::Forge& forge = world()->forge();
// Create root patch
PatchImpl* root_patch = _driver->root_patch();
@@ -160,7 +161,7 @@ Engine::activate()
root_patch->set_property(uris.rdf_type,
Resource::Property(uris.ingen_Patch, Resource::INTERNAL));
root_patch->set_property(uris.ingen_polyphony,
- Resource::Property(Raul::Atom(int32_t(1)),
+ Resource::Property(_world->forge().make(int32_t(1)),
Resource::INTERNAL));
root_patch->activate(*_buffer_factory);
_world->store()->add(root_patch);
@@ -170,20 +171,24 @@ Engine::activate()
ProcessContext context(*this);
Resource::Properties control_properties;
- control_properties.insert(make_pair(uris.lv2_name, "Control"));
- control_properties.insert(make_pair(uris.rdf_type, uris.ev_EventPort));
+ control_properties.insert(make_pair(uris.lv2_name,
+ forge.make("Control")));
+ control_properties.insert(make_pair(uris.rdf_type,
+ uris.ev_EventPort));
// Add control input
Resource::Properties in_properties(control_properties);
in_properties.insert(make_pair(uris.rdf_type, uris.lv2_InputPort));
in_properties.insert(make_pair(uris.rdf_type, uris.ev_EventPort));
- in_properties.insert(make_pair(uris.lv2_index, 0));
+ in_properties.insert(make_pair(uris.lv2_index, forge.make(0)));
in_properties.insert(make_pair(uris.lv2_portProperty,
uris.lv2_connectionOptional));
- in_properties.insert(make_pair(uris.ingen_canvasX,
- Resource::Property(32.0f, Resource::EXTERNAL)));
- in_properties.insert(make_pair(uris.ingen_canvasY,
- Resource::Property(32.0f, Resource::EXTERNAL)));
+ in_properties.insert(
+ make_pair(uris.ingen_canvasX,
+ Resource::Property(forge.make(32.0f), Resource::EXTERNAL)));
+ in_properties.insert(
+ make_pair(uris.ingen_canvasY,
+ Resource::Property(forge.make(32.0f), Resource::EXTERNAL)));
execute_and_delete_event(
context, new Events::CreatePort(*this, NULL, -1, 0,
@@ -193,13 +198,15 @@ Engine::activate()
Resource::Properties out_properties(control_properties);
out_properties.insert(make_pair(uris.rdf_type, uris.lv2_OutputPort));
out_properties.insert(make_pair(uris.rdf_type, uris.ev_EventPort));
- out_properties.insert(make_pair(uris.lv2_index, 1));
+ out_properties.insert(make_pair(uris.lv2_index, forge.make(1)));
in_properties.insert(make_pair(uris.lv2_portProperty,
uris.lv2_connectionOptional));
- out_properties.insert(make_pair(uris.ingen_canvasX,
- Resource::Property(128.0f, Resource::EXTERNAL)));
- out_properties.insert(make_pair(uris.ingen_canvasY,
- Resource::Property(32.0f, Resource::EXTERNAL)));
+ out_properties.insert(
+ make_pair(uris.ingen_canvasX,
+ Resource::Property(forge.make(128.0f), Resource::EXTERNAL)));
+ out_properties.insert(
+ make_pair(uris.ingen_canvasY,
+ Resource::Property(forge.make(32.0f), Resource::EXTERNAL)));
execute_and_delete_event(
context, new Events::CreatePort(*this, NULL, -1, 0,