Workaround for broken MusicXML files (percussion clef in MuseScore)
[lilypond.git] / lily / tab-staff-symbol-engraver.cc
blob03df300ea2d2493a73e05ff29c7bff019e34bdab
1 /*
2 tab-staff-symbol-engraver.cc -- implement Tab_staff_symbol_engraver
4 source file of the GNU LilyPond music typesetter
6 (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
7 */
9 #include "engraver.hh"
10 #include "spanner.hh"
12 class Tab_staff_symbol_engraver : public Engraver
14 public:
15 TRANSLATOR_DECLARATIONS (Tab_staff_symbol_engraver);
16 protected:
17 DECLARE_ACKNOWLEDGER (staff_symbol);
20 void
21 Tab_staff_symbol_engraver::acknowledge_staff_symbol (Grob_info gi)
23 int k = scm_ilength (get_property ("stringTunings"));
24 if (k >= 0)
25 gi.grob ()->set_property ("line-count", scm_from_int (k));
28 Tab_staff_symbol_engraver::Tab_staff_symbol_engraver ()
32 #include "translator.icc"
34 ADD_ACKNOWLEDGER (Tab_staff_symbol_engraver, staff_symbol);
35 ADD_TRANSLATOR (Tab_staff_symbol_engraver,
36 /* doc */
37 "Create a tablature staff symbol, but look at"
38 " @code{stringTunings} for the number of lines.",
40 /* create */
41 "StaffSymbol ",
43 /* read */
44 "stringTunings ",
46 /* write */