source file of the GNU LilyPond music typesetter
- (c) 1999--2005 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "folded-repeat-iterator.hh"
+#include "context.hh"
#include "input.hh"
+#include "international.hh"
#include "repeated-music.hh"
#include "simultaneous-music-iterator.hh"
-#include "context.hh"
Folded_repeat_iterator::Folded_repeat_iterator ()
{
Folded_repeat_iterator::pending_moment () const
{
if (main_iter_)
- {
- return main_iter_->pending_moment ();
- }
+ return main_iter_->pending_moment ();
else
return main_length_mom_ + alternative_iter_->pending_moment ();
}
void
Folded_repeat_iterator::process (Moment m)
{
- if (!m.to_bool ())
- {
- bool success = try_music (get_music ());
- if (!success)
- get_music ()->origin ()->warning (_ ("no one to print a repeat brace"));
- }
-
if (main_iter_)
{
main_iter_->process (m);
}
if (!main_iter_ && !alternative_iter_)
- {
- enter_alternative ();
- }
+ enter_alternative ();
if (alternative_iter_)
{
alternative_iter_ = s;
alternative_iter_->construct_children ();
- scm_gc_unprotect_object (s->self_scm ());
+ s->unprotect ();
}
}
-Music_iterator *
-Folded_repeat_iterator::try_music_in_children (Music *m) const
-{
- if (main_iter_)
- {
- return main_iter_->try_music (m);
- }
- if (alternative_iter_)
- return alternative_iter_->try_music (m);
- return 0;
-}
void
Folded_repeat_iterator::derived_mark () const
{