diff options
Diffstat (limited to 'src/libs/engine/Engine.h')
-rw-r--r-- | src/libs/engine/Engine.h | 113 |
1 files changed, 0 insertions, 113 deletions
diff --git a/src/libs/engine/Engine.h b/src/libs/engine/Engine.h deleted file mode 100644 index 6fe61582..00000000 --- a/src/libs/engine/Engine.h +++ /dev/null @@ -1,113 +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 ENGINE_H -#define ENGINE_H - -#include <cassert> -#include <boost/utility.hpp> -#include <raul/SharedPtr.h> -#include "DataType.h" - -template<typename T> class Queue; - -namespace Raul { class Maid; } - -namespace Ingen { - -class AudioDriver; -class MidiDriver; -class OSCDriver; -class NodeFactory; -class ClientBroadcaster; -class Patch; -class ObjectStore; -class EventSource; -class PostProcessor; -class Event; -class QueuedEvent; -class QueuedEngineInterface; -class LashDriver; -class Driver; - - -/** The main class for the Engine. - * - * This is a (GoF) facade for the engine. Pointers to all components are - * available for more advanced control than this facade allows. - * - * \ingroup engine - */ -class Engine : boost::noncopyable -{ -public: - Engine(); - virtual ~Engine(); - - virtual int main(); - virtual bool main_iteration(); - - /** Set the quit flag that should kill all threads and exit cleanly. - * Note that it will take some time. */ - virtual void quit() { _quit_flag = true; } - - virtual void start_jack_driver(); - virtual void start_osc_driver(int port); - - virtual SharedPtr<QueuedEngineInterface> new_queued_interface(); - - //virtual void set_event_source(SharedPtr<EventSource>); - - virtual bool activate(); - virtual void deactivate(); - - virtual bool activated() { return _activated; } - - Raul::Maid* maid() const { return _maid; } - EventSource* event_source() const { return _event_source.get(); } - AudioDriver* audio_driver() const { return _audio_driver.get(); } - MidiDriver* midi_driver() const { return _midi_driver; } - OSCDriver* osc_driver() const { return _osc_driver; } - PostProcessor* post_processor() const { return _post_processor; } - ClientBroadcaster* broadcaster() const { return _broadcaster; } - ObjectStore* object_store() const { return _object_store; } - NodeFactory* node_factory() const { return _node_factory; } - LashDriver* lash_driver() const { return _lash_driver; } - - /** Return the active driver for the given type */ - Driver* driver(DataType type); - -private: - SharedPtr<EventSource> _event_source; - SharedPtr<AudioDriver> _audio_driver; - MidiDriver* _midi_driver; - OSCDriver* _osc_driver; - Raul::Maid* _maid; - PostProcessor* _post_processor; - ClientBroadcaster* _broadcaster; - ObjectStore* _object_store; - NodeFactory* _node_factory; - LashDriver* _lash_driver; - - bool _quit_flag; - bool _activated; -}; - - -} // namespace Ingen - -#endif // ENGINE_H |