]> git.donarmstrong.com Git - lilypond.git/blob - lily/tab-staff-symbol-engraver.cc
* lily/accidental-engraver.cc: formatting fixes.
[lilypond.git] / lily / tab-staff-symbol-engraver.cc
1 /*
2   tab-staff-symbol-engraver.cc -- implement Tab_staff_symbol_engraver
3
4   source file of the GNU LilyPond music typesetter
5
6   (c) 2005 Han-Wen Nienhuys <hanwen@xs4all.nl>
7
8 */
9
10 #include "staff-symbol-engraver.hh"
11 #include "spanner.hh"
12
13 class Tab_staff_symbol_engraver : public Staff_symbol_engraver
14 {
15 public:
16   TRANSLATOR_DECLARATIONS (Tab_staff_symbol_engraver);
17 protected:
18   virtual void start_spanner ();
19 };
20
21 void
22 Tab_staff_symbol_engraver::start_spanner ()
23 {
24   bool init = !span_;
25   Staff_symbol_engraver::start_spanner ();
26   if (init)
27     {
28       int k = scm_ilength (get_property ("stringTunings"));
29       if (k >= 0)
30         span_->set_property ("line-count", scm_from_int (k));
31     }
32 }
33
34 Tab_staff_symbol_engraver::Tab_staff_symbol_engraver ()
35 {
36 }
37
38 #include "translator.icc"
39
40 ADD_ACKNOWLEDGER (Tab_staff_symbol_engraver,grob);
41 ADD_TRANSLATOR (Tab_staff_symbol_engraver,
42                 /* descr */ "Create a staff-symbol, but look at stringTunings for the number of lines."
43                 "staff lines.",
44                 /* creats*/ "StaffSymbol",
45                 /* accepts */ "staff-span-event",
46                 /* reads */ "stringTunings",
47                 /* write */ "");