X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Faxis-group-engraver.cc;h=2a5f71e275cc15f30309ed0d141f0471fabb7882;hb=ad898bf610c35b07f67ae97fd6e445dc530998fc;hp=f33770f3135d3a57b2954038caa8bbfd1037c9a7;hpb=1de3d397c18622b6061402fef18e625701712bc5;p=lilypond.git diff --git a/lily/axis-group-engraver.cc b/lily/axis-group-engraver.cc index f33770f313..2a5f71e275 100644 --- a/lily/axis-group-engraver.cc +++ b/lily/axis-group-engraver.cc @@ -29,8 +29,6 @@ #include "translator.icc" -using std::vector; - /** Put stuff in a Spanner with an Axis_group_interface. Use as last element of a context. @@ -45,7 +43,7 @@ protected: void process_music (); virtual void initialize (); virtual void finalize (); - DECLARE_ACKNOWLEDGER (grob); + void acknowledge_grob (Grob_info); void process_acknowledged (); virtual Spanner *get_spanner (); virtual void add_element (Grob *); @@ -118,15 +116,20 @@ Axis_group_engraver::finalize () void Axis_group_engraver::acknowledge_grob (Grob_info i) { - if (staffline_) - elts_.push_back (i.grob ()); + if (!staffline_) + return; + + elts_.push_back (i.grob ()); - if (staffline_ && to_boolean(staffline_->get_property("remove-empty"))) + if (to_boolean (staffline_->get_property ("remove-empty"))) { for (SCM s = interesting_; scm_is_pair (s); s = scm_cdr (s)) { if (i.grob ()->internal_has_interface (scm_car (s))) - Hara_kiri_group_spanner::add_interesting_item (staffline_, i.grob ()); + { + Hara_kiri_group_spanner::add_interesting_item (staffline_, i.grob ()); + break; + } } } } @@ -167,7 +170,12 @@ Axis_group_engraver::add_element (Grob *e) Axis_group_interface::add_element (staffline_, e); } -ADD_ACKNOWLEDGER (Axis_group_engraver, grob); + +void +Axis_group_engraver::boot () +{ + ADD_ACKNOWLEDGER (Axis_group_engraver, grob); +} ADD_TRANSLATOR (Axis_group_engraver, /* doc */