]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/dynamic-align-engraver.cc
Changes.tely updated - 2.19.x up to June 2014
[lilypond.git] / lily / dynamic-align-engraver.cc
index 92736e0316a02350fdaa2db4ce091fb335502acc..35083db04344930d31cf19abb37582b712fe4a30 100644 (file)
@@ -1,7 +1,7 @@
 /*
   This file is part of LilyPond, the GNU music typesetter.
 
-  Copyright (C) 2008--2011 Han-Wen Nienhuys <hanwen@lilypond.org>
+  Copyright (C) 2008--2014 Han-Wen Nienhuys <hanwen@lilypond.org>
 
 
   LilyPond is free software: you can redistribute it and/or modify
@@ -34,7 +34,8 @@
 class Dynamic_align_engraver : public Engraver
 {
   TRANSLATOR_DECLARATIONS (Dynamic_align_engraver);
-  DECLARE_ACKNOWLEDGER (note_column);
+  DECLARE_ACKNOWLEDGER (rhythmic_head);
+  DECLARE_ACKNOWLEDGER (stem);
   DECLARE_ACKNOWLEDGER (dynamic);
   DECLARE_ACKNOWLEDGER (footnote_spanner);
   DECLARE_END_ACKNOWLEDGER (dynamic);
@@ -64,7 +65,8 @@ Dynamic_align_engraver::Dynamic_align_engraver ()
 }
 
 ADD_ACKNOWLEDGER (Dynamic_align_engraver, dynamic);
-ADD_ACKNOWLEDGER (Dynamic_align_engraver, note_column);
+ADD_ACKNOWLEDGER (Dynamic_align_engraver, rhythmic_head);
+ADD_ACKNOWLEDGER (Dynamic_align_engraver, stem);
 ADD_ACKNOWLEDGER (Dynamic_align_engraver, footnote_spanner);
 ADD_END_ACKNOWLEDGER (Dynamic_align_engraver, dynamic);
 
@@ -107,7 +109,13 @@ Dynamic_align_engraver::acknowledge_footnote_spanner (Grob_info info)
 }
 
 void
-Dynamic_align_engraver::acknowledge_note_column (Grob_info info)
+Dynamic_align_engraver::acknowledge_rhythmic_head (Grob_info info)
+{
+  support_.push_back (info.grob ());
+}
+
+void
+Dynamic_align_engraver::acknowledge_stem (Grob_info info)
 {
   support_.push_back (info.grob ());
 }
@@ -158,8 +166,8 @@ Dynamic_align_engraver::set_spanner_bounds (Spanner *line, bool end)
 {
   if (!line)
     return;
-  Direction d = LEFT;
-  do
+
+  for (LEFT_and_RIGHT (d))
     {
       if ((d == LEFT && !line->get_bound (LEFT))
           || (end && d == RIGHT && !line->get_bound (RIGHT)))
@@ -181,7 +189,6 @@ Dynamic_align_engraver::set_spanner_bounds (Spanner *line, bool end)
           line->set_bound (d, bound);
         }
     }
-  while (flip (&d) != LEFT);
 }
 
 void