2 music-wrapper-iterator.cc -- implement Music_wrapper_iterator
4 source file of the GNU LilyPond music typesetter
6 (c) 1998--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
9 #include "music-wrapper-iterator.hh"
10 #include "music-wrapper.hh"
13 Music_wrapper_iterator::Music_wrapper_iterator ()
19 Music_wrapper_iterator::do_quit ()
26 Music_wrapper_iterator::derived_mark () const
29 scm_gc_mark (child_iter_
->self_scm ());
33 Music_wrapper_iterator::derived_substitute (Context
*f
, Context
*t
)
36 child_iter_
->substitute_outlet (f
, t
);
40 Music_wrapper_iterator::construct_children ()
42 Music
*my_music
= get_music ();
43 Music
*child
= unsmob_music (my_music
->get_property ("element"));
45 ? unsmob_iterator (get_iterator (child
))
50 Music_wrapper_iterator::ok () const
52 return child_iter_
&& child_iter_
->ok ();
56 Music_wrapper_iterator::process (Moment m
)
59 child_iter_
->process (m
);
63 Music_wrapper_iterator::pending_moment () const
66 return child_iter_
->pending_moment ();
68 return Music_iterator::pending_moment ();
71 IMPLEMENT_CTOR_CALLBACK (Music_wrapper_iterator
);
74 Music_wrapper_iterator::run_always () const
76 return (child_iter_
&& child_iter_
->run_always ());