]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/note-head-line-engraver.cc
(Composite_music): new transpose syntax,
[lilypond.git] / lily / note-head-line-engraver.cc
index c8533b8e48835c0ecb4f168a87f18bdd7ebd9024..ea38bb28243b70156cb78ee3873a968a0376a0a2 100644 (file)
@@ -9,7 +9,7 @@
 #include "engraver.hh"
 #include "group-interface.hh"
 #include "item.hh"
-#include "musical-request.hh"
+#include "event.hh"
 #include "spanner.hh"
 #include "stem.hh"
 #include "rhythmic-head.hh"
@@ -33,14 +33,14 @@ public:
 
 protected:
   virtual void acknowledge_grob (Grob_info);
-  virtual void create_grobs ();
+  virtual void process_acknowledged_grobs ();
   virtual void stop_translation_timestep ();
   virtual bool try_music (Music *);
 
 private:
   Spanner* line_; 
-  Request* req_;
-  Request* last_req_;
+  Music* req_;
+  Music* last_req_;
   Translator* last_staff_;
   bool follow_;
   Grob* head_;
@@ -63,11 +63,8 @@ Note_head_line_engraver::try_music (Music* m)
 {
   if (!req_)
     {
-      if (Glissando_req *r = dynamic_cast<Glissando_req*> (m))
-       {
-         req_ = r;
-         return true;
-       }
+      req_ = m;
+      return true;
     }
   return false;
 }
@@ -75,16 +72,16 @@ Note_head_line_engraver::try_music (Music* m)
 void
 Note_head_line_engraver::acknowledge_grob (Grob_info info)
 {
-  if (Rhythmic_head::has_interface (info.grob_l_))
+  if (Rhythmic_head::has_interface (info.grob_))
     {
-      head_ = info.grob_l_;
+      head_ = info.grob_;
       if (to_boolean (get_property ("followVoice")))
        {
-         Translator_group  * tr = daddy_trans_l_;
-         while (tr && tr->type_str_ != "Staff")
-           tr = tr->daddy_trans_l_ ;
+         Translator_group  * tr = daddy_trans_;
+         while (tr && tr->type_string_ != "Staff")
+           tr = tr->daddy_trans_ ;
 
-         if (tr && tr->type_str_ == "Staff" && tr != last_staff_)
+         if (tr && tr->type_string_ == "Staff" && tr != last_staff_)
            {
              if (last_head_)
                follow_ = true;
@@ -96,7 +93,7 @@ Note_head_line_engraver::acknowledge_grob (Grob_info info)
 
 
 void
-Note_head_line_engraver::create_grobs ()
+Note_head_line_engraver::process_acknowledged_grobs ()
 {
   if (!line_ && (follow_ || last_req_) && last_head_ && head_
       && (last_head_ != head_))
@@ -117,7 +114,7 @@ Note_head_line_engraver::create_grobs ()
          /* Note, mustn't set y-parent of breakable symbol to simple item:
             one of the two broken parts won't have an y-parent! */
          /* X parent is set by set_bound */
-      line_->set_parent (Staff_symbol_referencer::staff_symbol_l (last_head_),
+      line_->set_parent (Staff_symbol_referencer::get_staff_symbol (last_head_),
                         Y_AXIS);
          
       SCM c = last_req_? last_req_->self_scm () : SCM_EOL;
@@ -151,9 +148,10 @@ Note_head_line_engraver::stop_translation_timestep ()
 
 
 ENTER_DESCRIPTION(Note_head_line_engraver,
-/* descr */       "Engrave a line between two note heads, for example a glissando.
-If followVoice is set, staff switches also generate a line.",
+/* descr */       "Engrave a line between two note heads, for example a glissando.  If "
+" followVoice is set, staff switches also generate a line.",
 /* creats*/       "Glissando VoiceFollower",
+/* accepts */     "glissando-event",
 /* acks  */       "rhythmic-head-interface",
 /* reads */       "followVoice",
 /* write */       "");