X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Ftab-staff-symbol-engraver.cc;h=3483cb86f795b6fb76002aa22fce643f4a544433;hb=9f3572d98bb948c9689cd1f75401a029451fa001;hp=538223bfe8c5562e9044fe714b8a3e353964683e;hpb=04265f11d1f21416ccebd2dcaa1d903dc781b36e;p=lilypond.git diff --git a/lily/tab-staff-symbol-engraver.cc b/lily/tab-staff-symbol-engraver.cc index 538223bfe8..3483cb86f7 100644 --- a/lily/tab-staff-symbol-engraver.cc +++ b/lily/tab-staff-symbol-engraver.cc @@ -6,23 +6,28 @@ (c) 2005--2006 Han-Wen Nienhuys */ -#include "engraver.hh" +#include "staff-symbol-engraver.hh" #include "spanner.hh" -class Tab_staff_symbol_engraver : public Engraver +class Tab_staff_symbol_engraver : public Staff_symbol_engraver { public: TRANSLATOR_DECLARATIONS (Tab_staff_symbol_engraver); protected: - DECLARE_ACKNOWLEDGER(staff_symbol); + virtual void start_spanner (); }; void -Tab_staff_symbol_engraver::acknowledge_staff_symbol (Grob_info gi) +Tab_staff_symbol_engraver::start_spanner () { - int k = scm_ilength (get_property ("stringTunings")); - if (k >= 0) - gi.grob ()->set_property ("line-count", scm_from_int (k)); + bool init = !span_; + Staff_symbol_engraver::start_spanner (); + if (init) + { + int k = scm_ilength (get_property ("stringTunings")); + if (k >= 0) + span_->set_property ("line-count", scm_from_int (k)); + } } Tab_staff_symbol_engraver::Tab_staff_symbol_engraver () @@ -31,12 +36,10 @@ Tab_staff_symbol_engraver::Tab_staff_symbol_engraver () #include "translator.icc" -ADD_ACKNOWLEDGER (Tab_staff_symbol_engraver, staff_symbol); +ADD_ACKNOWLEDGER (Tab_staff_symbol_engraver, grob); ADD_TRANSLATOR (Tab_staff_symbol_engraver, - /* doc */ - "Create a staff-symbol, but look at " - "stringTunings for the number of lines. " - , + /* doc */ "Create a staff-symbol, but look at stringTunings for the number of lines." + "staff lines.", /* create */ "StaffSymbol", /* accept */ "staff-span-event", /* read */ "stringTunings",