From ab2aa4d4922ab1a62b7a43013d09b2d9d144b3c5 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Fri, 15 Aug 2008 23:34:41 +0000 Subject: Push serialiser down into core ('world'). HTTP access to patches (serialised on demand). git-svn-id: http://svn.drobilla.net/lad/ingen@1393 a436a847-0d15-0410-975c-d299462d15a1 --- src/libs/gui/App.cpp | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) (limited to 'src/libs/gui/App.cpp') diff --git a/src/libs/gui/App.cpp b/src/libs/gui/App.cpp index a00f93a5..b558f706 100644 --- a/src/libs/gui/App.cpp +++ b/src/libs/gui/App.cpp @@ -29,6 +29,7 @@ #include "module/Module.hpp" #include "module/World.hpp" #include "interface/EngineInterface.hpp" +#include "serialisation/serialisation.hpp" #include "client/ObjectModel.hpp" #include "client/PatchModel.hpp" #include "client/Store.hpp" @@ -66,26 +67,23 @@ App* App::_instance = 0; App::App(Ingen::Shared::World* world) - : _serialisation_module(Ingen::Shared::load_module("ingen_serialisation")) - , _configuration(new Configuration()) + : _configuration(new Configuration()) , _about_dialog(NULL) , _window_factory(new WindowFactory()) , _world(world) , _enable_signal(true) { - if (_serialisation_module) { - Serialiser* (*new_serialiser)(Ingen::Shared::World*) = NULL; + // FIXME: defer loading of serialisation module until needed + if (!world->serialisation_module) + world->serialisation_module = Ingen::Shared::load_module("ingen_serialisation"); - bool found = _serialisation_module->get_symbol("new_serialiser", (void*&)new_serialiser); + if (world->serialisation_module) + if (!world->serialiser) + world->serialiser = SharedPtr( + Ingen::Serialisation::new_serialiser(world)); - if (found) - _serialiser = SharedPtr(new_serialiser(world)); - } - - if ( ! _serialiser) { + if (!world->serialiser) cerr << "WARNING: Failed to load ingen_serialisation module, save disabled." << endl; - cerr << "(If you are running from the source tree, source set_dev_environment.sh)" << endl; - } Glib::RefPtr glade_xml = GladeFactory::new_glade_reference(); @@ -176,7 +174,9 @@ App::attach(SharedPtr client) _world->engine->register_client(client.get()); _client = client; - _store = SharedPtr(new Store(_world->engine, client)); + assert(!_world->store); + _store = SharedPtr(new ClientStore(_world->engine, client)); + _world->store = _store; _loader = SharedPtr(new ThreadedLoader(_world->engine)); _patch_tree_window->init(*_store); -- cgit v1.2.1