2 engraver.cc -- implement Engraver
4 Sourcefile of GNU LilyPond music type setter
6 (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
10 #include "engraver.hh"
11 #include "engraver-group-engraver.hh"
16 Engraver::announce_grob (Grob_info inf
)
18 daddy_grav_l ()->announce_grob (inf
);
22 Engraver::announce_grob (Grob
* e
, Music
*m
)
24 if (m
&& m
->origin ()->location_str ().length_i ())
26 e
->set_grob_property ("origin", m
->get_mus_property ("origin"));
30 if (!i
.origin_trans_l_
)
31 i
.origin_trans_l_
= this;
32 daddy_grav_l ()->announce_grob (i
);
38 Engraver::typeset_grob (Grob
*p
)
40 daddy_grav_l ()->typeset_grob (p
);
44 Engraver_group_engraver
*
45 Engraver::daddy_grav_l () const
47 return (daddy_trans_l_
)
48 ? dynamic_cast<Engraver_group_engraver
*> (daddy_trans_l_
)
53 Engraver::process_music ()