diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2014-11-24 09:52:14 +0200 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2014-12-21 11:45:53 -0500 |
commit | 76d42ab644eac81ddecb7cbf8da98f2bc550a9a3 (patch) | |
tree | a89cd083b506bff92e54aea60c30be6bda18cc71 /libs/ardour/session_events.cc | |
parent | d44051ef368457e987c47903cf79c864617943b2 (diff) |
change SessionEvent::Immediate to -1, and ensure that clear_events() uses it rather than a hard-coded value
This fixes a design error of using zero as the flag for an "Immediate" event's action frame. Zero
is a perfectly legitimate action frame for an event (e.g. a Skip event), and using zero was causing
skip events with action-frame == 0 to be treated as immediate, not scheduled.
Diffstat (limited to 'libs/ardour/session_events.cc')
-rw-r--r-- | libs/ardour/session_events.cc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libs/ardour/session_events.cc b/libs/ardour/session_events.cc index 03afd54440..e529c1b94a 100644 --- a/libs/ardour/session_events.cc +++ b/libs/ardour/session_events.cc @@ -115,7 +115,7 @@ SessionEventManager::replace_event (SessionEvent::Type type, framepos_t frame, f void SessionEventManager::clear_events (SessionEvent::Type type) { - SessionEvent* ev = new SessionEvent (type, SessionEvent::Clear, 0, 0, 0); + SessionEvent* ev = new SessionEvent (type, SessionEvent::Clear, SessionEvent::Immediate, 0, 0); queue_event (ev); } @@ -168,7 +168,7 @@ SessionEventManager::merge_event (SessionEvent* ev) /* try to handle immediate events right here */ - if (ev->action_frame == 0) { + if (ev->action_frame == SessionEvent::Immediate) { process_event (ev); return; } |