From 48f87f1f1649fb7e169fdaac2cd38370e8a4a1fa Mon Sep 17 00:00:00 2001 From: David Robillard Date: Fri, 8 Sep 2006 03:58:00 +0000 Subject: De-singleton-ified Engine Slight rework of Responder/ClientKey/ClientInterface for Requests git-svn-id: http://svn.drobilla.net/lad/ingen@119 a436a847-0d15-0410-975c-d299462d15a1 --- src/libs/engine/Event.h | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) (limited to 'src/libs/engine/Event.h') diff --git a/src/libs/engine/Event.h b/src/libs/engine/Event.h index 6532655c..3ea72555 100644 --- a/src/libs/engine/Event.h +++ b/src/libs/engine/Event.h @@ -25,6 +25,7 @@ namespace Ingen { +class Engine; /** Base class for all events (both realtime and QueuedEvent). @@ -44,27 +45,34 @@ public: virtual ~Event() {} /** Execute this event in the audio thread (MUST be realtime safe). */ - virtual void execute(SampleCount offset) { assert(!_executed); _executed = true; } + virtual void execute(SampleCount nframes, FrameTime start, FrameTime end) + { + assert(!_executed); + assert(_time >= start && _time <= end); + _executed = true; + } /** Perform any actions after execution (ie send replies to commands) * (no realtime requirements). */ virtual void post_process() {} - inline SampleCount time_stamp() { return _time_stamp; } + inline SampleCount time() { return _time; } protected: // Prevent copies Event(const Event&); Event& operator=(const Event&); - Event(CountedPtr responder, SampleCount timestamp) - : _responder(responder) - , _time_stamp(timestamp) + Event(Engine& engine, CountedPtr responder, FrameTime time) + : _engine(engine) + , _responder(responder) + , _time(time) , _executed(false) {} + Engine& _engine; CountedPtr _responder; - SampleCount _time_stamp; + FrameTime _time; bool _executed; }; -- cgit v1.2.1