summaryrefslogtreecommitdiffstats
path: root/src/engine/Engine.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/Engine.hpp')
-rw-r--r--src/engine/Engine.hpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/engine/Engine.hpp b/src/engine/Engine.hpp
index 8edf37c3..261f135f 100644
--- a/src/engine/Engine.hpp
+++ b/src/engine/Engine.hpp
@@ -21,6 +21,7 @@
#include "config.h"
#include <cassert>
#include <vector>
+#include <set>
#include <boost/utility.hpp>
#include "raul/SharedPtr.hpp"
#include "module/global.hpp"
@@ -81,7 +82,6 @@ public:
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; }
@@ -97,10 +97,10 @@ public:
/** Set the driver for the given data type (replacing the old) */
virtual void set_driver(DataType type, SharedPtr<Driver> driver);
-
- virtual void set_event_source(SharedPtr<EventSource> source);
virtual void set_midi_driver(MidiDriver* driver);
+ virtual void add_event_source(SharedPtr<EventSource> source);
+
Ingen::Shared::World* world() { return _world; }
typedef std::vector<ProcessSlave*> ProcessSlaves;
@@ -108,9 +108,11 @@ public:
inline ProcessSlaves& process_slaves() { return _process_slaves; }
private:
+ typedef std::set< SharedPtr<EventSource> > EventSources;
+ EventSources _event_sources;
+
ProcessSlaves _process_slaves;
Ingen::Shared::World* _world;
- SharedPtr<EventSource> _event_source;
SharedPtr<AudioDriver> _audio_driver;
MidiDriver* _midi_driver;
OSCDriver* _osc_driver;