diff options
author | David Robillard <d@drobilla.net> | 2006-07-20 04:15:03 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2006-07-20 04:15:03 +0000 |
commit | b5b6dba0480b3dcec4b130ea606d63f4a3854920 (patch) | |
tree | 22e3c06d815da7b33f6061253c94cf3621b37265 /src/libs/engine/Ingen.h | |
parent | 767b10d6fa3313b2bd4e1dcc0d96dda3409c4944 (diff) | |
download | ingen-b5b6dba0480b3dcec4b130ea606d63f4a3854920.tar.gz ingen-b5b6dba0480b3dcec4b130ea606d63f4a3854920.tar.bz2 ingen-b5b6dba0480b3dcec4b130ea606d63f4a3854920.zip |
Renamed Engine class to "Engine" (from "Ingen") to avoid confusion with namespace Ingen
git-svn-id: http://svn.drobilla.net/lad/ingen@99 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/libs/engine/Ingen.h')
-rw-r--r-- | src/libs/engine/Ingen.h | 107 |
1 files changed, 0 insertions, 107 deletions
diff --git a/src/libs/engine/Ingen.h b/src/libs/engine/Ingen.h deleted file mode 100644 index b0e1f947..00000000 --- a/src/libs/engine/Ingen.h +++ /dev/null @@ -1,107 +0,0 @@ -/* This file is part of Ingen. Copyright (C) 2006 Dave Robillard. - * - * 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 OMAPP_H -#define OMAPP_H - -#include <cassert> - -template<typename T> class Queue; -class Maid; - -namespace Ingen { - -class AudioDriver; -class MidiDriver; -class NodeFactory; -class OSCReceiver; -class ClientBroadcaster; -class Patch; -class ObjectStore; -class EventSource; -class PostProcessor; -class Event; -class QueuedEvent; -class LashDriver; -template <typename T> class Driver; - - -/** The main class for Ingen, the whole engine basically lives in here - * - * A singleton, but shouldn't be (FIXME). Explicitly instantiated singleton - * to be exact - call instantiate before instance or suffer horrible death. - * - * \ingroup engine - */ -class Ingen -{ -public: - ~Ingen(); - - static void instantiate(const char* port, AudioDriver* audio_driver = 0); - static Ingen& instance() { assert(m_instance); return *m_instance; } - - int main(); - - /** Set the quit flag that should kill all threads and exit cleanly. - * Note that it will take some time. */ - void quit() { m_quit_flag = true; } - - void activate(); - void deactivate(); - - AudioDriver* audio_driver() const { return m_audio_driver; } - OSCReceiver* osc_receiver() const { return m_osc_receiver; } - MidiDriver* midi_driver() const { return m_midi_driver; } - PostProcessor* post_processor() const { return m_post_processor; } - Maid* maid() const { return m_maid; } - ClientBroadcaster* client_broadcaster() const { return m_client_broadcaster; } - ObjectStore* object_store() const { return m_object_store; } - NodeFactory* node_factory() const { return m_node_factory; } - LashDriver* lash_driver() const { return m_lash_driver; } - - - /** Return the active driver for the given (template parameter) type. - * This is a hook for BridgeNode. See Ingen.cpp for specializations. */ - template<typename T> Driver<T>* driver(); - -private: - Ingen(const char* port, AudioDriver* audio_driver = 0); - - // Prevent copies - Ingen(const Ingen&); - Ingen& operator=(const Ingen&); - - static Ingen* m_instance; - - AudioDriver* m_audio_driver; - OSCReceiver* m_osc_receiver; - MidiDriver* m_midi_driver; - PostProcessor* m_post_processor; - Maid* m_maid; - ClientBroadcaster* m_client_broadcaster; - ObjectStore* m_object_store; - NodeFactory* m_node_factory; - LashDriver* m_lash_driver; - - bool m_quit_flag; - bool m_activated; -}; - - -} // namespace Ingen - -#endif // OMAPP_H |