source file of the GNU LilyPond music typesetter
- (c) 1997--2005 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "sequential-iterator.hh"
SCM
Sequential_iterator::get_music_list () const
{
- return SCM_EOL;
+ Music *m = get_music ();
+ SCM proc = m->get_property ("elements-callback");
+ if (scm_procedure_p (proc))
+ return scm_call_1 (proc, m->self_scm ());
+ else
+ return SCM_EOL;
}
void
iter_->quit ();
}
-
void
Sequential_iterator::derived_mark () const
{
}
while (iter_ && !iter_->ok ())
- {
- next_element (true);
- }
+ next_element (true);
last_mom_ = Moment (-1);
here_mom_ = get_music ()->start_mom ();
in that chunk should be in len.grace_part_
*/
- last_mom_ = here_mom_;;
+ last_mom_ = here_mom_;
here_mom_ += len;
}
Grace_fixup *gf = get_grace_fixup ();
if (gf
&& gf->length_ + iter_->music_start_mom () == cp)
- {
- return here_mom_ + gf->length_ + Moment (0, gf->grace_start_);
- }
+ return here_mom_ + gf->length_ + Moment (0, gf->grace_start_);
/*
Fix-up a grace note at the start of the music.
return iter_;
}
-Music_iterator *
-Sequential_iterator::try_music_in_children (Music *m) const
-{
- return iter_ ? iter_->try_music (m) : 0;
-}
-
IMPLEMENT_CTOR_CALLBACK (Sequential_iterator);
bool