diff options
author | David Robillard <d@drobilla.net> | 2007-07-26 19:16:52 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2007-07-26 19:16:52 +0000 |
commit | bee242f29045b82e50a4f112ac17f7e14344df78 (patch) | |
tree | e3c43801ab004b4b15581c63fff61dea33bcc104 /src/libs/engine/Engine.cpp | |
parent | 90cb0280fdb356bc1474be31a15f8c6f24ed95ee (diff) | |
download | ingen-bee242f29045b82e50a4f112ac17f7e14344df78.tar.gz ingen-bee242f29045b82e50a4f112ac17f7e14344df78.tar.bz2 ingen-bee242f29045b82e50a4f112ac17f7e14344df78.zip |
Use PathTable for engine side objects.
Re-implement renaming and destroying more cleanly (not to mention workingly).
git-svn-id: http://svn.drobilla.net/lad/ingen@638 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/libs/engine/Engine.cpp')
-rw-r--r-- | src/libs/engine/Engine.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/libs/engine/Engine.cpp b/src/libs/engine/Engine.cpp index 7b4c4f48..cbc4d507 100644 --- a/src/libs/engine/Engine.cpp +++ b/src/libs/engine/Engine.cpp @@ -72,10 +72,10 @@ Engine::~Engine() { deactivate(); - for (Tree<GraphObject*>::iterator i = _object_store->objects().begin(); + for (ObjectStore::Objects::const_iterator i = _object_store->objects().begin(); i != _object_store->objects().end(); ++i) { - if ((*i)->parent() == NULL) - delete (*i); + if ( ! i->second->parent()) + delete i->second; } delete _object_store; @@ -212,7 +212,8 @@ Engine::activate() Patch* root_patch = new Patch("", 1, NULL, _audio_driver->sample_rate(), _audio_driver->buffer_size(), 1); root_patch->activate(); - root_patch->add_to_store(_object_store); + //root_patch->add_to_store(_object_store); + _object_store->add(root_patch); root_patch->process_order(root_patch->build_process_order()); root_patch->enable(); |