summaryrefslogtreecommitdiffstats
path: root/src/libs/engine/Engine.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2007-10-08 16:30:57 +0000
committerDavid Robillard <d@drobilla.net>2007-10-08 16:30:57 +0000
commit763bba9de67fb1bd06658a0bac91440727ee5a51 (patch)
tree39e7af069828981c2c06d78e015686062eba73dc /src/libs/engine/Engine.cpp
parent260a406b12997fdab7446a9980e921d8cfc46915 (diff)
downloadingen-763bba9de67fb1bd06658a0bac91440727ee5a51.tar.gz
ingen-763bba9de67fb1bd06658a0bac91440727ee5a51.tar.bz2
ingen-763bba9de67fb1bd06658a0bac91440727ee5a51.zip
SharedPtr-ify engine side store.
Fix reattaching to engine. Fix connection paths. Remove last dependencies on client (model) library from Serialiser. Fix Raul::PathTable::find_descendants_end. git-svn-id: http://svn.drobilla.net/lad/ingen@847 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/libs/engine/Engine.cpp')
-rw-r--r--src/libs/engine/Engine.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/libs/engine/Engine.cpp b/src/libs/engine/Engine.cpp
index b5e14eb0..44cac86c 100644
--- a/src/libs/engine/Engine.cpp
+++ b/src/libs/engine/Engine.cpp
@@ -21,6 +21,7 @@
#include <unistd.h>
#include <raul/Deletable.hpp>
#include <raul/Maid.hpp>
+#include <raul/SharedPtr.hpp>
#include "Engine.hpp"
#include CONFIG_H_PATH
#include "tuning.hpp"
@@ -28,7 +29,7 @@
#include "JackAudioDriver.hpp"
#include "NodeFactory.hpp"
#include "ClientBroadcaster.hpp"
-#include "Patch.hpp"
+#include "PatchImpl.hpp"
#include "ObjectStore.hpp"
#include "MidiDriver.hpp"
#include "OSCDriver.hpp"
@@ -76,10 +77,10 @@ Engine::~Engine()
{
deactivate();
- for (ObjectStore::Objects::const_iterator i = _object_store->objects().begin();
+ for (ObjectStore::Objects::iterator i = _object_store->objects().begin();
i != _object_store->objects().end(); ++i) {
- if ( ! i->second->parent())
- delete i->second;
+ if ( ! PtrCast<GraphObjectImpl>(i->second)->parent() )
+ i->second.reset();
}
delete _object_store;
@@ -215,7 +216,7 @@ Engine::activate(size_t parallelism)
// Create root patch
- Patch* root_patch = new Patch(*this, "", 1, NULL,
+ PatchImpl* root_patch = new PatchImpl(*this, "", 1, NULL,
_audio_driver->sample_rate(), _audio_driver->buffer_size(), 1);
root_patch->activate();
_object_store->add(root_patch);