diff options
Diffstat (limited to 'src/gui/ingen_gui.cpp')
-rw-r--r-- | src/gui/ingen_gui.cpp | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/src/gui/ingen_gui.cpp b/src/gui/ingen_gui.cpp deleted file mode 100644 index 677296fd..00000000 --- a/src/gui/ingen_gui.cpp +++ /dev/null @@ -1,67 +0,0 @@ -/* - This file is part of Ingen. - Copyright 2007-2018 David Robillard <http://drobilla.net/> - - Ingen is free software: you can redistribute it and/or modify it under the - terms of the GNU Affero General Public License as published by the Free - Software Foundation, either version 3 of the License, or any later version. - - Ingen is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU Affero General Public License for details. - - You should have received a copy of the GNU Affero General Public License - along with Ingen. If not, see <http://www.gnu.org/licenses/>. -*/ - -#include "ingen/Configuration.hpp" -#include "ingen/Module.hpp" -#include "ingen/QueuedInterface.hpp" -#include "ingen/client/SigClientInterface.hpp" - -#include "App.hpp" - -namespace Ingen { -namespace GUI { - -struct GUIModule : public Module { - using SigClientInterface = Client::SigClientInterface; - - void load(World* world) { - URI uri(world->conf().option("connect").ptr<char>()); - if (!world->interface()) { - world->set_interface( - world->new_interface(URI(uri), make_client(world))); - } else if (!dynamic_ptr_cast<SigClientInterface>( - world->interface()->respondee())) { - world->interface()->set_respondee(make_client(world)); - } - - app = GUI::App::create(world); - } - - void run(World* world) { - app->run(); - } - - SPtr<Interface> make_client(World* const world) { - SPtr<SigClientInterface> sci(new SigClientInterface()); - return world->engine() ? sci : SPtr<Interface>(new QueuedInterface(sci)); - } - - SPtr<GUI::App> app; -}; - -} // namespace GUI -} // namespace Ingen - -extern "C" { - -Ingen::Module* -ingen_module_load() -{ - Glib::thread_init(); - return new Ingen::GUI::GUIModule(); -} - -} // extern "C" |