X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fpercent-repeat-iterator.cc;h=726b3a6e1d7ca2202f703fdfd18313b6d830f538;hb=f9de7005877207c21595a221bfe141b68fd6e653;hp=7ba527da5d9aef489d8986046ca658c90810afc9;hpb=8b500afb9431f5471e385fa2eeb8fde868e4fc49;p=lilypond.git diff --git a/lily/percent-repeat-iterator.cc b/lily/percent-repeat-iterator.cc index 7ba527da5d..726b3a6e1d 100644 --- a/lily/percent-repeat-iterator.cc +++ b/lily/percent-repeat-iterator.cc @@ -3,14 +3,23 @@ source file of the GNU LilyPond music typesetter - (c) 2001--2006 Han-Wen Nienhuys + (c) 2001--2007 Han-Wen Nienhuys Erik Sandberg */ -#include "percent-repeat-iterator.hh" #include "input.hh" -#include "music.hh" #include "repeated-music.hh" +#include "sequential-iterator.hh" + +class Percent_repeat_iterator : public Sequential_iterator +{ +public: + DECLARE_CLASSNAME (Percent_repeat_iterator); + DECLARE_SCHEME_CALLBACK (constructor, ()); + Percent_repeat_iterator (); +protected: + virtual SCM get_music_list () const; +}; IMPLEMENT_CTOR_CALLBACK (Percent_repeat_iterator); @@ -34,9 +43,11 @@ Percent_repeat_iterator::get_music_list () const percent->set_spot (*mus->origin ()); percent->set_property ("length", length); if (repeats > 1) - percent->set_property ("repeat-count", scm_int2num (i - 1)); + percent->set_property ("repeat-count", scm_int2num (i)); + child_list = scm_cons (percent->unprotect (), child_list); } + child_list = scm_cons (child->self_scm (), child_list); return child_list;