ok () -- events left ?
pending_mom () -- time tag of the next event to be processed.
- PRECONDITION: this->ok () holds.
+ PRECONDITION: ok () holds.
process (M) -- process all at M (Precondition: no events exist
- before M, this->ok () holds). Side-effects:
+ before M, ok () holds). Side-effects:
* This removes all events at M from the pending queue.
class Music_iterator : public Smob<Music_iterator>
{
public:
- int print_smob (SCM, scm_print_state *);
+ int print_smob (SCM, scm_print_state *) const;
SCM mark_smob () const;
static const char type_p_name_[];
virtual ~Music_iterator ();
public:
Moment music_get_length () const;
+ // music_start_mom () is calculated relative to the time where the
+ // iterator occurs in the music stream, so it will usually be
+ // non-zero only for expressions starting with grace notes.
Moment music_start_mom () const;
Music_iterator ();
void report_event (Music *);
virtual Moment pending_moment () const;
virtual bool ok () const;
virtual bool run_always () const;
+ // process is called with a time relative to the iterator start, so
+ // usually the last processed moment is the same as music_get_length.
virtual void process (Moment until);
virtual void derived_mark () const;
virtual void construct_children ();