131        for (
ssize_t i = future_stack.size() - 1; i >= 0; i--)
 
  134            const int64 frame0 = 0;
 
  135            if (tnote.event.
type == MidiEvent::NOTE_OFF)
 
  138                MDEBUG (
"FLUSH: t=%d ev=%s f=%d\n", tnote.tick, tnote.event.to_string(), frame0);
 
  141        future_stack.resize (0);
 
  144    while (future_stack.size() && future_stack.back().tick < end_tick)
 
  147        future_stack.pop_back();
 
  148        const int64 frame = 
transport.sample_from_tick (tnote.tick - begin_tick);
 
  150        MDEBUG (
"POP: t=%d ev=%s f=%d\n", tnote.tick, tnote.event.to_string(), frame);
 
  156        MDEBUG (
"THROUGH: f=%+3d ev=%s\n", mevent.frame, mevent.to_string());
 
  157        evout.
append (mevent.frame, mevent);
 
  161                      bpm > 0 && position_->current >= 0 &&
 
  162                      generator_start_ >= 0)) 
 
  165        while (position_->current >= 0 &&
 
  166               generator_start_ + feed_->generators[position_->current].play_position() < end_tick)
 
  170              const int64 etick = generator_start_ + cliptick; 
 
  171              if (etick < end_tick)
 
  173                  const int64 frame = 
transport.sample_from_tick (etick - begin_tick);
 
  176                  evout.append_unsorted (frame, event);
 
  177                  MDEBUG (
"NOW: t=%d ev=%s f=%d\n", etick, event.to_string(), frame);
 
  183                  MDEBUG (
"FUT: t=%d ev=%s f=%d\n", etick, event.to_string(), 
transport.sample_from_tick (etick - begin_tick));
 
  187            const int64 advanced = feed_->generators[position_->current].generate (end_tick - generator_start_, qevent);
 
  190            if (feed_->generators[position_->current].done())
 
  192                const int64 play_point = generator_start_ + feed_->generators[position_->current].play_position();
 
  194                position_->current = feed_->scout.advance (position_->current);
 
  195                if (position_->current >= 0)
 
  197                    generator_start_ = 
transport.current_bar_tick;
 
  198                    while (generator_start_ < play_point)
 
  199                      generator_start_ += 
transport.tick_sig.bar_ticks();
 
  200                    feed_->generators[position_->current].jumpto (0);
 
  201                    if (feed_->generators[position_->current].done())
 
  202                      position_->current = -1;
 
  204                if (position_->current == -1)
 
  205                  generator_start_ = -1;
 
  206                position_->next = -1;
 
  209            if (position_->current >= 0)
 
  210              position_->tick = feed_->generators[position_->current].clip_position(); 
 
  212              position_->tick = -M52MAX;