don't play non-open-ended intervals on finalize

This commit is contained in:
David Rose 2002-09-05 03:25:52 +00:00
parent 699d35618d
commit 97cabfce02

View File

@ -453,7 +453,7 @@ finalize() {
while (_next_event_index < _events.size()) { while (_next_event_index < _events.size()) {
PlaybackEvent *event = _events[_next_event_index]; PlaybackEvent *event = _events[_next_event_index];
// Do the indicated event. // Do the indicated event.
do_event_forward(event, new_active, false); do_event_forward(event, new_active, true);
_next_event_index++; _next_event_index++;
} }
@ -549,7 +549,7 @@ reverse_finalize() {
while (_next_event_index > 0) { while (_next_event_index > 0) {
_next_event_index--; _next_event_index--;
PlaybackEvent *event = _events[_next_event_index]; PlaybackEvent *event = _events[_next_event_index];
do_event_reverse(event, new_active, false); do_event_reverse(event, new_active, true);
} }
finish_events_reverse(0, new_active); finish_events_reverse(0, new_active);
@ -697,8 +697,8 @@ clear_events() {
// end, finalizes it. // end, finalizes it.
// //
// If is_initial is true, it is as if we are in // If is_initial is true, it is as if we are in
// initialize: instant events will be invoked only if // initialize or finalize: instant events will be
// they are marked open_ended. // invoked only if they are marked open_ended.
//////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////
void CMetaInterval:: void CMetaInterval::
do_event_forward(CMetaInterval::PlaybackEvent *event, do_event_forward(CMetaInterval::PlaybackEvent *event,
@ -775,8 +775,9 @@ finish_events_forward(int now, CMetaInterval::ActiveEvents &new_active) {
// new_active list; if it is an end, finalizes it. // new_active list; if it is an end, finalizes it.
// //
// If is_initial is true, it is as if we are in // If is_initial is true, it is as if we are in
// reverse_initialize: instant events will be invoked // reverse_initialize or reverse_finalize: instant
// only if they are marked open_ended. // events will be invoked only if they are marked
// open_ended.
//////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////
void CMetaInterval:: void CMetaInterval::
do_event_reverse(CMetaInterval::PlaybackEvent *event, do_event_reverse(CMetaInterval::PlaybackEvent *event,