summaryrefslogtreecommitdiffstats
path: root/src/libs/engine/EventSource.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/engine/EventSource.h')
-rw-r--r--src/libs/engine/EventSource.h12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/libs/engine/EventSource.h b/src/libs/engine/EventSource.h
index 273100b7..6c52eb11 100644
--- a/src/libs/engine/EventSource.h
+++ b/src/libs/engine/EventSource.h
@@ -28,6 +28,12 @@ class QueuedEvent;
* The AudioDriver gets events from an EventSource in the process callback
* (realtime audio thread) and executes them, then they are sent to the
* PostProcessor and finalised (post-processing thread).
+ *
+ * There are two distinct classes of events - "queued" and "stamped". Queued
+ * events are events that require non-realtime pre-processing before being
+ * executed in the process thread. Stamped events are timestamped realtime
+ * events that require no pre-processing and can be executed immediately
+ * (with sample accuracy).
*/
class EventSource
{
@@ -35,11 +41,9 @@ public:
virtual ~EventSource() {}
- virtual Event* pop_earliest_before(const samplecount time) = 0;
-
- virtual void start() = 0;
+ virtual Event* pop_earliest_queued_before(const samplecount time) = 0;
- virtual void stop() = 0;
+ virtual Event* pop_earliest_stamped_before(const samplecount time) = 0;
protected:
EventSource() {}