X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;ds=sidebyside;f=lily%2Fengraver.cc;h=a8d833874a6ecd41a3e773f2c32b6793fc1a7f62;hb=0d3c78505a6adb958f9280509bb7fa170de54611;hp=4119670e7a7948b6045fa79600cbf9228b499508;hpb=15551c56a17c10f2e1eae0766ddc87a62da119a8;p=lilypond.git diff --git a/lily/engraver.cc b/lily/engraver.cc index 4119670e7a..a8d833874a 100644 --- a/lily/engraver.cc +++ b/lily/engraver.cc @@ -3,24 +3,24 @@ Sourcefile of GNU LilyPond music type setter - (c) 1997--2004 Han-Wen Nienhuys + (c) 1997--2005 Han-Wen Nienhuys */ -#include "music.hh" #include "engraver.hh" -#include "engraver-group-engraver.hh" -#include "grob.hh" + +#include "music.hh" #include "score-engraver.hh" #include "warn.hh" #include "spanner.hh" #include "item.hh" #include "context.hh" #include "score-context.hh" +#include "lilypond-key.hh" -Engraver_group_engraver* +Engraver_group_engraver * Engraver::get_daddy_engraver () const { - return dynamic_cast (get_daddy_translator ()); + return dynamic_cast (get_daddy_translator ()); } void @@ -29,54 +29,40 @@ Engraver::announce_grob (Grob_info inf) get_daddy_engraver ()->announce_grob (inf); } - /* CAUSE is the object (typically a Music object) that was the reason for making E. - */ +*/ void -Engraver::announce_grob (Grob* e, SCM cause) +Engraver::announce_grob (Grob *e, SCM cause) { if (unsmob_music (cause) || unsmob_grob (cause)) e->set_property ("cause", cause); - Grob_info i; - i.grob_ = e; - if (!i.origin_trans_) - i.origin_trans_ = this; + Grob_info i (this, e); - Engraver * g = get_daddy_engraver (); + Engraver_group_engraver *g = get_daddy_engraver (); if (g) g->announce_grob (i); } - - -void -Engraver::typeset_grob (Grob*p) -{ - Engraver *dad = get_daddy_engraver (); - if (dad) - dad->typeset_grob (p); -} - - - Engraver::Engraver () { } - -Score_engraver* +Score_engraver * Engraver::get_score_engraver () const { - SCM t = get_score_context ()->implementation_; - return dynamic_cast (unsmob_translator (t)); + return dynamic_cast (get_score_context ()->implementation ()); } +#include "translator.icc" + +ADD_TRANSLATOR (Engraver, + "Base class for engravers. Does nothing, so it is not used.", + "", + "", + "", + ""); -ENTER_DESCRIPTION (Engraver, - "", "", - "", - "", "", "");