diff options
author | David Robillard <d@drobilla.net> | 2009-12-19 21:37:50 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2009-12-19 21:37:50 +0000 |
commit | 19045ab92aa7e996971584a0dc8780d1d58b498b (patch) | |
tree | 619c73deb7fd64ce31c5167490d1ae186dbb2695 /src/engine/Engine.hpp | |
parent | 4613a2e15f1122ecf6830171de0ab18dc22fefff (diff) | |
download | ingen-19045ab92aa7e996971584a0dc8780d1d58b498b.tar.gz ingen-19045ab92aa7e996971584a0dc8780d1d58b498b.tar.bz2 ingen-19045ab92aa7e996971584a0dc8780d1d58b498b.zip |
New ingen module (library, not e.g. LV2 plugin) design.
Much cleaner interface and general usage of Ingen as a library.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2314 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/engine/Engine.hpp')
-rw-r--r-- | src/engine/Engine.hpp | 41 |
1 files changed, 22 insertions, 19 deletions
diff --git a/src/engine/Engine.hpp b/src/engine/Engine.hpp index 5851e9a1..a8674c12 100644 --- a/src/engine/Engine.hpp +++ b/src/engine/Engine.hpp @@ -34,20 +34,21 @@ namespace Raul { class Maid; } namespace Ingen { class AudioDriver; -class MidiDriver; -class OSCDriver; -class NodeFactory; +class BufferFactory; class ClientBroadcaster; +class Driver; class EngineStore; +class Event; class EventSource; +class MessageContext; +class MidiDriver; +class NodeFactory; +class OSCDriver; class PostProcessor; -class Event; -class QueuedEvent; -class Driver; -class ProcessSlave; class ProcessContext; -class MessageContext; -class BufferFactory; +class ProcessSlave; +class QueuedEngineInterface; +class QueuedEvent; /** The main class for the Engine. @@ -74,22 +75,22 @@ public: * Note that it will take some time. */ virtual void quit() { _quit_flag = true; } - virtual bool activate(size_t parallelism); + virtual bool activate(); virtual void deactivate(); void process_events(ProcessContext& context); virtual bool activated() { return _activated; } - Raul::Maid* maid() const { return _maid; } - 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; } - NodeFactory* node_factory() const { return _node_factory; } - MessageContext* message_context() const { return _message_context; } - BufferFactory* buffer_factory() const { return _buffer_factory; } + Raul::Maid* maid() const { return _maid; } + 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; } + NodeFactory* node_factory() const { return _node_factory; } + MessageContext* message_context() const { return _message_context; } + BufferFactory* buffer_factory() const { return _buffer_factory; } SharedPtr<EngineStore> engine_store() const; @@ -102,6 +103,8 @@ public: virtual void add_event_source(SharedPtr<EventSource> source); + Ingen::QueuedEngineInterface* new_local_interface(); + Ingen::Shared::World* world() { return _world; } typedef std::vector<ProcessSlave*> ProcessSlaves; |