]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/tab-staff-symbol-engraver.cc
Merge branch 'dev/kainhofer' of ssh://kainhofer@git.sv.gnu.org/srv/git/lilypond into...
[lilypond.git] / lily / tab-staff-symbol-engraver.cc
index 32020eee13c877f93ef737f399fc43cd1ea61f3d..f103e0f6b40cae754c74f9fc4c4c0acc9344a9aa 100644 (file)
@@ -3,32 +3,26 @@
 
   source file of the GNU LilyPond music typesetter
 
-  (c) 2005 Han-Wen Nienhuys <hanwen@xs4all.nl>
-
+  (c) 2005--2007 Han-Wen Nienhuys <hanwen@xs4all.nl>
 */
 
-#include "staff-symbol-engraver.hh"
+#include "engraver.hh"
 #include "spanner.hh"
 
-class Tab_staff_symbol_engraver : public Staff_symbol_engraver
+class Tab_staff_symbol_engraver : public Engraver
 {
 public:
   TRANSLATOR_DECLARATIONS (Tab_staff_symbol_engraver);
 protected:
-  virtual void start_spanner ();
+  DECLARE_ACKNOWLEDGER (staff_symbol);
 };
 
 void
-Tab_staff_symbol_engraver::start_spanner ()
+Tab_staff_symbol_engraver::acknowledge_staff_symbol (Grob_info gi)
 {
-  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_int2num (k));
-    }
+  int k = scm_ilength (get_property ("stringTunings"));
+  if (k >= 0)
+    gi.grob ()->set_property ("line-count", scm_from_int (k));
 }
 
 Tab_staff_symbol_engraver::Tab_staff_symbol_engraver ()
@@ -37,12 +31,12 @@ Tab_staff_symbol_engraver::Tab_staff_symbol_engraver ()
 
 #include "translator.icc"
 
-ADD_ACKNOWLEDGER(Tab_staff_symbol_engraver,grob);
+ADD_ACKNOWLEDGER (Tab_staff_symbol_engraver, staff_symbol);
 ADD_TRANSLATOR (Tab_staff_symbol_engraver,
-               /* descr */ "Create a staff-symbol, but look at stringTunings for the number of lines."
-               "staff lines.",
-               /* creats*/ "StaffSymbol",
-               /* accepts */ "staff-span-event",
-               /* acks  */ "",
-               /* reads */ "stringTunings",
+               /* doc */
+               "Create a staff-symbol, but look at "
+               "stringTunings for the number of lines. "
+               ,
+               /* create */ "StaffSymbol",
+               /* read */ "stringTunings",
                /* write */ "");