summaryrefslogtreecommitdiffstats
path: root/src/libs/gui
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2008-08-16 22:45:35 +0000
committerDavid Robillard <d@drobilla.net>2008-08-16 22:45:35 +0000
commite9ea28e1efb241619606b937ecd2e97f7e23d897 (patch)
tree88ead187b63945d61837d075e10be9b105b870cd /src/libs/gui
parent491762bb487e1007f11cdc4dc7c01b03e3bd0d9d (diff)
downloadingen-e9ea28e1efb241619606b937ecd2e97f7e23d897.tar.gz
ingen-e9ea28e1efb241619606b937ecd2e97f7e23d897.tar.bz2
ingen-e9ea28e1efb241619606b937ecd2e97f7e23d897.zip
Begin factoring out common elements of EngineInterface and ClientInterface.
git-svn-id: http://svn.drobilla.net/lad/ingen@1406 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/libs/gui')
-rw-r--r--src/libs/gui/NewSubpatchWindow.cpp2
-rw-r--r--src/libs/gui/ThreadedLoader.cpp11
2 files changed, 10 insertions, 3 deletions
diff --git a/src/libs/gui/NewSubpatchWindow.cpp b/src/libs/gui/NewSubpatchWindow.cpp
index e33c9f2e..90e6c911 100644
--- a/src/libs/gui/NewSubpatchWindow.cpp
+++ b/src/libs/gui/NewSubpatchWindow.cpp
@@ -92,7 +92,7 @@ NewSubpatchWindow::ok_clicked()
const Path path = _patch->path().base() + Path::nameify(_name_entry->get_text());
const uint32_t poly = _poly_spinbutton->get_value_as_int();
- App::instance().engine()->create_patch(path, poly);
+ App::instance().engine()->new_patch(path, poly);
for (GraphObject::Variables::const_iterator i = _initial_data.begin(); i != _initial_data.end(); ++i)
App::instance().engine()->set_variable(path, i->first, i->second);
diff --git a/src/libs/gui/ThreadedLoader.cpp b/src/libs/gui/ThreadedLoader.cpp
index 94c517a8..c2ba9307 100644
--- a/src/libs/gui/ThreadedLoader.cpp
+++ b/src/libs/gui/ThreadedLoader.cpp
@@ -19,6 +19,7 @@
#include <string>
#include "module/global.hpp"
#include "module/World.hpp"
+#include "module/Module.hpp"
#include "client/PatchModel.hpp"
#include "App.hpp"
#include "ThreadedLoader.hpp"
@@ -34,9 +35,15 @@ ThreadedLoader::ThreadedLoader(SharedPtr<EngineInterface> engine)
, _deprecated_loader(engine)
{
set_name("Loader");
-
+
// FIXME: rework this so the thread is only present when it's doing something (save mem)
- if (App::instance().world()->serialisation_module) {
+ // and module isn't loaded until required
+
+ World* world = App::instance().world();
+ if (!world->serialisation_module)
+ world->serialisation_module = Ingen::Shared::load_module("ingen_serialisation");
+
+ if (world->serialisation_module) {
Loader* (*new_loader)() = NULL;
bool found = App::instance().world()->serialisation_module->get_symbol(