diff options
Diffstat (limited to 'src/engine')
-rw-r--r-- | src/engine/Driver.hpp | 3 | ||||
-rw-r--r-- | src/engine/Engine.hpp | 70 | ||||
-rw-r--r-- | src/engine/JackDriver.hpp | 1 |
3 files changed, 25 insertions, 49 deletions
diff --git a/src/engine/Driver.hpp b/src/engine/Driver.hpp index 1c02972b..3b869046 100644 --- a/src/engine/Driver.hpp +++ b/src/engine/Driver.hpp @@ -80,9 +80,6 @@ public: /** Deactivate driver (stop processing graph and events). */ virtual void deactivate() {} - /** Return true iff driver is activated (processing graph and events). */ - virtual bool is_activated() const { return true; } - /** Create a port ready to be inserted with add_input (non realtime). * May return NULL if the Driver can not create the port for some reason. */ diff --git a/src/engine/Engine.hpp b/src/engine/Engine.hpp index c9e9229e..513d82be 100644 --- a/src/engine/Engine.hpp +++ b/src/engine/Engine.hpp @@ -60,66 +60,46 @@ public: virtual ~Engine(); - virtual void set_driver(SharedPtr<Driver> driver); - virtual void add_event_source(SharedPtr<EventSource> source); - virtual bool activate(); - virtual void deactivate(); - /** - Indicate that a quit is desired + virtual void deactivate(); - This function simply sets a flag which affects the return value of - main_iteration, it does not actually force the engine to stop running or - block. The code driving the engine is responsible for stopping and - cleaning up when main_iteration returns false. - */ virtual void quit(); - /** - Run a single iteration of the main context. - - The main context post-processes events and performs housekeeping duties - like collecting garbage. This should be called regularly, e.g. a few - times per second. The return value indicates whether execution should - continue; i.e. if false is returned, a quit has been requested and the - caller should cease calling main_iteration() and stop the engine. - */ virtual bool main_iteration(); - /** - Process all events for this process cycle. + void set_driver(SharedPtr<Driver> driver); - Must be called (likely by the Driver) from the process thread. - */ - virtual void process_events(ProcessContext& context); + void add_event_source(SharedPtr<EventSource> source); - virtual ClientBroadcaster* broadcaster() const { return _broadcaster; } - virtual BufferFactory* buffer_factory() const { return _buffer_factory; } - virtual ControlBindings* control_bindings() const { return _control_bindings; } - virtual Driver* driver() const { return _driver.get(); } - virtual Raul::Maid* maid() const { return _maid; } - virtual MessageContext* message_context() const { return _message_context; } - virtual NodeFactory* node_factory() const { return _node_factory; } - virtual PostProcessor* post_processor() const { return _post_processor; } - virtual Shared::World* world() const { return _world; } + void process_events(ProcessContext& context); - virtual SharedPtr<EngineStore> engine_store() const; + ClientBroadcaster* broadcaster() const { return _broadcaster; } + BufferFactory* buffer_factory() const { return _buffer_factory; } + ControlBindings* control_bindings() const { return _control_bindings; } + Driver* driver() const { return _driver.get(); } + Raul::Maid* maid() const { return _maid; } + MessageContext* message_context() const { return _message_context; } + NodeFactory* node_factory() const { return _node_factory; } + PostProcessor* post_processor() const { return _post_processor; } + Shared::World* world() const { return _world; } + + SharedPtr<EngineStore> engine_store() const; private: + ClientBroadcaster* _broadcaster; + BufferFactory* _buffer_factory; + ControlBindings* _control_bindings; + SharedPtr<Driver> _driver; + Raul::Maid* _maid; + MessageContext* _message_context; + NodeFactory* _node_factory; + PostProcessor* _post_processor; + Shared::World* _world; + typedef std::set< SharedPtr<EventSource> > EventSources; EventSources _event_sources; - ClientBroadcaster* _broadcaster; - BufferFactory* _buffer_factory; - ControlBindings* _control_bindings; - SharedPtr<Driver> _driver; - Raul::Maid* _maid; - MessageContext* _message_context; - NodeFactory* _node_factory; - PostProcessor* _post_processor; - Shared::World* _world; - bool _quit_flag; }; diff --git a/src/engine/JackDriver.hpp b/src/engine/JackDriver.hpp index 193b838c..7e49fb1f 100644 --- a/src/engine/JackDriver.hpp +++ b/src/engine/JackDriver.hpp @@ -120,7 +120,6 @@ public: jack_client_t* jack_client() const { return _client; } SampleCount block_length() const { return _block_length; } SampleCount sample_rate() const { return _sample_rate; } - bool is_activated() const { return _is_activated; } inline SampleCount frame_time() const { return _client ? jack_frame_time(_client) : 0; } |