summaryrefslogtreecommitdiffstats
path: root/src/engine/Engine.hpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2009-12-19 21:37:50 +0000
committerDavid Robillard <d@drobilla.net>2009-12-19 21:37:50 +0000
commit19045ab92aa7e996971584a0dc8780d1d58b498b (patch)
tree619c73deb7fd64ce31c5167490d1ae186dbb2695 /src/engine/Engine.hpp
parent4613a2e15f1122ecf6830171de0ab18dc22fefff (diff)
downloadingen-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.hpp41
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;