X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fstaff-symbol-engraver.cc;h=dff7448e1230a9d6eedca05636c630574540c9a3;hb=1a4e4afd05f01d8b8a872eec876ce49b0639c015;hp=d3685bfbf52004cd03b7021ad708391f47ee9062;hpb=7a558267cfbc5a90bf87a80ce9bcfed087692064;p=lilypond.git diff --git a/lily/staff-symbol-engraver.cc b/lily/staff-symbol-engraver.cc index d3685bfbf5..dff7448e12 100644 --- a/lily/staff-symbol-engraver.cc +++ b/lily/staff-symbol-engraver.cc @@ -3,7 +3,7 @@ source file of the GNU LilyPond music typesetter - (c) 1997--2000 Han-Wen Nienhuys + (c) 1997--2002 Han-Wen Nienhuys */ @@ -20,52 +20,60 @@ class Staff_symbol_engraver : public Engraver { Spanner *span_p_; public: - VIRTUAL_COPY_CONS(Translator); - Staff_symbol_engraver(); + TRANSLATOR_DECLARATIONS(Staff_symbol_engraver); protected: - virtual ~Staff_symbol_engraver(); - virtual void acknowledge_element (Score_element_info); - virtual void do_removal_processing(); - virtual void do_creation_processing(); + virtual ~Staff_symbol_engraver (); + virtual void acknowledge_grob (Grob_info); + virtual void finalize (); + virtual void initialize (); }; -Staff_symbol_engraver::~Staff_symbol_engraver() +Staff_symbol_engraver::~Staff_symbol_engraver () { assert (!span_p_); } -Staff_symbol_engraver::Staff_symbol_engraver() +Staff_symbol_engraver::Staff_symbol_engraver () { span_p_ = 0; } void -Staff_symbol_engraver::do_creation_processing() +Staff_symbol_engraver::initialize () { span_p_ = new Spanner (get_property ("StaffSymbol")); - span_p_->set_bound(LEFT, unsmob_element (get_property ("currentCommandColumn"))); + span_p_->set_bound (LEFT, unsmob_grob (get_property ("currentCommandColumn"))); - announce_element (span_p_, 0); + announce_grob(span_p_, SCM_EOL); } void -Staff_symbol_engraver::do_removal_processing() +Staff_symbol_engraver::finalize () { - span_p_->set_bound(RIGHT,unsmob_element (get_property ("currentCommandColumn"))); - typeset_element (span_p_); + span_p_->set_bound (RIGHT,unsmob_grob (get_property ("currentCommandColumn"))); + typeset_grob (span_p_); span_p_ =0; } void -Staff_symbol_engraver::acknowledge_element (Score_element_info s) +Staff_symbol_engraver::acknowledge_grob (Grob_info s) { - s.elem_l_->set_elt_property ("staff-symbol", span_p_->self_scm ()); - s.elem_l_->add_dependency (span_p_); // UGH. UGH. UGH + s.grob_l_->set_grob_property ("staff-symbol", span_p_->self_scm ()); + + // remove this. probly not necessary? + s.grob_l_->add_dependency (span_p_); // UGH. UGH. UGH } -ADD_THIS_TRANSLATOR(Staff_symbol_engraver); + +ENTER_DESCRIPTION(Staff_symbol_engraver, +/* descr */ "create the constellation of five (default) +staff lines.", +/* creats*/ "StaffSymbol", +/* acks */ "grob-interface", +/* reads */ "", +/* write */ "");