diff options
author | David Robillard <d@drobilla.net> | 2006-09-09 14:24:56 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2006-09-09 14:24:56 +0000 |
commit | fca95e5d454d37bd74b98f5bce35cfcbaee86c3f (patch) | |
tree | 97fcf6e8afaf4356d46a24236e9aa2451ab55698 /src/progs/ingenuity/Loader.cpp | |
parent | b853b3dde1f7028dd275f78433a6ad9b5b9f61c7 (diff) | |
download | ingen-fca95e5d454d37bd74b98f5bce35cfcbaee86c3f.tar.gz ingen-fca95e5d454d37bd74b98f5bce35cfcbaee86c3f.tar.bz2 ingen-fca95e5d454d37bd74b98f5bce35cfcbaee86c3f.zip |
Drove 'er home! Working monolothic Ingenuity (ie. in-process engine).
Countless bugfixes.
git-svn-id: http://svn.drobilla.net/lad/ingen@123 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/progs/ingenuity/Loader.cpp')
-rw-r--r-- | src/progs/ingenuity/Loader.cpp | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/progs/ingenuity/Loader.cpp b/src/progs/ingenuity/Loader.cpp index 13a4e896..fed49603 100644 --- a/src/progs/ingenuity/Loader.cpp +++ b/src/progs/ingenuity/Loader.cpp @@ -140,14 +140,25 @@ SaveSessionEvent::execute() //////// Loader ////////// -Loader::Loader(PatchLibrarian* const patch_librarian) -: m_patch_librarian(patch_librarian), +Loader::Loader(CountedPtr<ModelEngineInterface> engine) +: m_patch_librarian(new PatchLibrarian(engine)), m_event(NULL), m_thread_exit_flag(false) { assert(m_patch_librarian != NULL); pthread_mutex_init(&m_mutex, NULL); pthread_cond_init(&m_cond, NULL); + + // FIXME: rework this so the thread is only present when it's doing something (save mem) + launch(); +} + + +Loader::~Loader() +{ + m_thread_exit_flag = true; + pthread_join(m_thread, NULL); + delete m_patch_librarian; } |