]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/tab-tie-follow-engraver.cc
Release: bump Welcome versions.
[lilypond.git] / lily / tab-tie-follow-engraver.cc
index a815c5a3bb98f262b704d3514c9d5268d2c2a153..75a7b5b2ea710bd42ec5283eb7b8de6549045e30 100644 (file)
@@ -1,7 +1,7 @@
 /*
   This file is part of LilyPond, the GNU music typesetter.
 
-  Copyright (C) 2010--2011 Carl D. Sorensen
+  Copyright (C) 2010--2015 Carl D. Sorensen
 
   LilyPond is free software: you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
@@ -44,14 +44,15 @@ public:
   TRANSLATOR_DECLARATIONS (Tab_tie_follow_engraver);
 
 protected:
-  DECLARE_ACKNOWLEDGER (glissando);
-  DECLARE_ACKNOWLEDGER (slur);
-  DECLARE_ACKNOWLEDGER (tab_note_head);
+  void acknowledge_glissando (Grob_info);
+  void acknowledge_slur (Grob_info);
+  void acknowledge_tab_note_head (Grob_info);
 
   void stop_translation_timestep ();
 };
 
-Tab_tie_follow_engraver::Tab_tie_follow_engraver ()
+Tab_tie_follow_engraver::Tab_tie_follow_engraver (Context *c)
+  : Engraver (c)
 {
 }
 
@@ -81,12 +82,12 @@ Tab_tie_follow_engraver::stop_translation_timestep ()
       bool spanner_start = false;
       for (vsize j = 0; j < slurs_.size (); j++)
         {
-          Itemleft_item = slurs_[j]->get_bound (LEFT);
+          Item *left_item = slurs_[j]->get_bound (LEFT);
           if (left_item)
             {
               SCM left_cause = left_item->get_property ("cause");
-              Item *slur_cause = unsmob_item (left_cause);
-              if (slur_cause ==  note_heads_[k])
+              Item *slur_cause = unsmob<Item> (left_cause);
+              if (slur_cause == note_heads_[k])
                 {
                   note_heads_[k]->set_property ("span-start", SCM_BOOL_T);
                   spanner_start = true;
@@ -107,25 +108,29 @@ Tab_tie_follow_engraver::stop_translation_timestep ()
     }
   slurs_.clear ();
   glissandi_.clear ();
-  note_heads_.clear();
+  note_heads_.clear ();
 }
 
-ADD_ACKNOWLEDGER (Tab_tie_follow_engraver, slur);
-ADD_ACKNOWLEDGER (Tab_tie_follow_engraver, glissando);
-ADD_ACKNOWLEDGER (Tab_tie_follow_engraver, tab_note_head);
 
+void
+Tab_tie_follow_engraver::boot ()
+{
+  ADD_ACKNOWLEDGER (Tab_tie_follow_engraver, slur);
+  ADD_ACKNOWLEDGER (Tab_tie_follow_engraver, glissando);
+  ADD_ACKNOWLEDGER (Tab_tie_follow_engraver, tab_note_head);
+}
 
 ADD_TRANSLATOR (Tab_tie_follow_engraver,
-               /* doc */
-               "Adjust TabNoteHead properties when a tie is followed"
-               " by a slur or glissando.",
+                /* doc */
+                "Adjust TabNoteHead properties when a tie is followed"
+                " by a slur or glissando.",
 
-               /* create */
-               " ",
+                /* create */
+                " ",
 
-               /* read */
+                /* read */
                 " ",
 
-               /* write */
+                /* write */
                 " "
-                );
+               );