summaryrefslogtreecommitdiffstats
path: root/src/progs/ingenuity/App.h
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2007-05-04 03:59:38 +0000
committerDavid Robillard <d@drobilla.net>2007-05-04 03:59:38 +0000
commita96166710faf2447ed10194d1829db5564b0dff9 (patch)
tree4eb792fcceee17f188566fc6e6bee11e5a8c4336 /src/progs/ingenuity/App.h
parentcf14d321e8f084f742b03e09c086d5ef30297492 (diff)
downloadingen-a96166710faf2447ed10194d1829db5564b0dff9.tar.gz
ingen-a96166710faf2447ed10194d1829db5564b0dff9.tar.bz2
ingen-a96166710faf2447ed10194d1829db5564b0dff9.zip
Made engine, serialisation, client library, and GUI all dynamically loaded modules.
Combined all executables into a single "ingen" program which can do everything. git-svn-id: http://svn.drobilla.net/lad/ingen@493 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/progs/ingenuity/App.h')
-rw-r--r--src/progs/ingenuity/App.h137
1 files changed, 0 insertions, 137 deletions
diff --git a/src/progs/ingenuity/App.h b/src/progs/ingenuity/App.h
deleted file mode 100644
index 2ef0891d..00000000
--- a/src/progs/ingenuity/App.h
+++ /dev/null
@@ -1,137 +0,0 @@
-/* This file is part of Ingen.
- * Copyright (C) 2007 Dave Robillard <http://drobilla.net>
- *
- * Ingen is free software; you can redistribute it and/or modify it under the
- * terms of the GNU General Public License as published by the Free Software
- * Foundation; either version 2 of the License, or (at your option) 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 General Public License for details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#ifndef APP_H
-#define APP_H
-
-#include <cassert>
-#include <string>
-#include <map>
-#include <list>
-#include <iostream>
-#include <libgnomecanvasmm.h>
-#include <gtkmm.h>
-#include <libglademm.h>
-#include <raul/RDFWorld.h>
-#include <raul/SharedPtr.h>
-using std::string; using std::map; using std::list;
-using std::cerr; using std::endl;
-
-namespace Ingen {
- namespace Shared {
- class EngineInterface;
- }
- namespace Client {
- class PatchModel;
- class PluginModel;
- class Store;
- class SigClientInterface;
- }
-}
-using namespace Ingen::Client;
-using Ingen::Shared::EngineInterface;
-
-/** \defgroup Ingenuity GTK Client
- */
-
-/** GTK Graphical client */
-namespace Ingenuity {
-
-class MessagesWindow;
-class ConfigWindow;
-class IngenuityObject;
-class PatchCanvas;
-class PatchTreeView;
-class PatchTreeWindow;
-class ConnectWindow;
-class Configuration;
-class ThreadedLoader;
-class WindowFactory;
-
-
-/** Singleton master class most everything is contained within.
- *
- * This is a horrible god-object, but it's shrinking in size as things are
- * moved out. Hopefully it will go away entirely some day..
- *
- * \ingroup Ingenuity
- */
-class App
-{
-public:
- ~App();
-
- void error_message(const string& msg);
-
- void attach(const SharedPtr<EngineInterface>& engine,
- const SharedPtr<SigClientInterface>& client);
-
- void detach();
-
- void quit();
-
- ConnectWindow* connect_window() const { return _connect_window; }
- Gtk::Dialog* about_dialog() const { return _about_dialog; }
- ConfigWindow* configuration_dialog() const { return _config_window; }
- MessagesWindow* messages_dialog() const { return _messages_window; }
- PatchTreeWindow* patch_tree() const { return _patch_tree_window; }
- Configuration* configuration() const { return _configuration; }
- WindowFactory* window_factory() const { return _window_factory; }
-
- Raul::RDF::World* rdf_world() { return &_rdf_world; }
-
- const SharedPtr<EngineInterface>& engine() const { return _engine; }
- const SharedPtr<SigClientInterface>& client() const { return _client; }
- const SharedPtr<Store>& store() const { return _store; }
- const SharedPtr<ThreadedLoader>& loader() const { return _loader; }
-
- static inline App& instance() { assert(_instance); return *_instance; }
- static void instantiate();
-
-protected:
- App();
- static App* _instance;
-
- SharedPtr<EngineInterface> _engine;
- SharedPtr<SigClientInterface> _client;
- SharedPtr<Store> _store;
- SharedPtr<ThreadedLoader> _loader;
-
- Configuration* _configuration;
-
- ConnectWindow* _connect_window;
- MessagesWindow* _messages_window;
- PatchTreeWindow* _patch_tree_window;
- ConfigWindow* _config_window;
- Gtk::Dialog* _about_dialog;
- WindowFactory* _window_factory;
-
- Raul::RDF::World _rdf_world;
-
- /** Used to avoid feedback loops with (eg) process checkbutton
- * FIXME: Maybe this should be globally implemented at the Controller level,
- * disable all command sending while handling events to avoid feedback
- * issues with widget event callbacks? This same pattern is duplicated
- * too much... */
- bool _enable_signal;
-};
-
-
-} // namespace Ingenuity
-
-#endif // APP_H
-