summaryrefslogtreecommitdiffstats
path: root/src/server/events/CreatePatch.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2012-08-12 15:56:21 +0000
committerDavid Robillard <d@drobilla.net>2012-08-12 15:56:21 +0000
commit21b1e2e485d9fa954ca742965d000f3273fcb862 (patch)
tree8f316c5adbf6d387d64ee895b862dae21614524a /src/server/events/CreatePatch.cpp
parent65a81eec8943dc0504b8b8755f9866ee4993372c (diff)
downloadingen-21b1e2e485d9fa954ca742965d000f3273fcb862.tar.gz
ingen-21b1e2e485d9fa954ca742965d000f3273fcb862.tar.bz2
ingen-21b1e2e485d9fa954ca742965d000f3273fcb862.zip
Stricter symbol construction and conversion.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4670 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/server/events/CreatePatch.cpp')
-rw-r--r--src/server/events/CreatePatch.cpp11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/server/events/CreatePatch.cpp b/src/server/events/CreatePatch.cpp
index b29ca667..0fe613ba 100644
--- a/src/server/events/CreatePatch.cpp
+++ b/src/server/events/CreatePatch.cpp
@@ -51,11 +51,9 @@ CreatePatch::pre_process()
return Event::pre_process_done(EXISTS, _path);
}
- const Raul::Path& path = (const Raul::Path&)_path;
-
- _parent = _engine.engine_store()->find_patch(path.parent());
+ _parent = _engine.engine_store()->find_patch(_path.parent());
if (!_parent) {
- return Event::pre_process_done(PARENT_NOT_FOUND, path.parent());
+ return Event::pre_process_done(PARENT_NOT_FOUND, _path.parent());
}
const Ingen::URIs& uris = _engine.world()->uris();
@@ -70,14 +68,15 @@ CreatePatch::pre_process()
}
if (int_poly < 1 || int_poly > 128) {
- return Event::pre_process_done(INVALID_POLY, path);
+ return Event::pre_process_done(INVALID_POLY, _path);
}
if (int_poly == _parent->internal_poly()) {
ext_poly = int_poly;
}
- _patch = new PatchImpl(_engine, path.symbol(), ext_poly, _parent,
+ const Raul::Symbol symbol((_path.is_root()) ? "root" : _path.symbol());
+ _patch = new PatchImpl(_engine, symbol, ext_poly, _parent,
_engine.driver()->sample_rate(), int_poly);
_patch->properties().insert(_properties.begin(), _properties.end());
_patch->add_property(uris.rdf_type, uris.ingen_Patch);