]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/vaticana-ligature-engraver.cc
Merge with master
[lilypond.git] / lily / vaticana-ligature-engraver.cc
index 8660ed6e016307049d886f2955f3a5f5d16957ed..5618465120c02a313bbff876e9ff15e9f5c23269 100644 (file)
@@ -3,7 +3,7 @@
 
   source file of the GNU LilyPond music typesetter
 
-  (c) 2003--2006 Juergen Reuter <reuter@ipd.uka.de>
+  (c) 2003--2007 Juergen Reuter <reuter@ipd.uka.de>
 */
 
 #include "gregorian-ligature-engraver.hh"
  * negative impact, since dotted notes appear within a ligature
  * usually always at the end of the ligature, such that the bug never
  * should apply for valid ligatures.
+ *
+ * TODO: Graduale Triplex, tempus per annum, hebdomada septima,
+ * alleluia (page 280) shows a counter-example for collecting dots
+ * always in a single column behind the ligature.  Maybe only the last
+ * two dots in a ligature should be collected and all other dots put
+ * behind or on top of the head?
  */
 class Vaticana_ligature_engraver : public Gregorian_ligature_engraver
 {
@@ -344,8 +350,7 @@ Vaticana_ligature_engraver::align_heads (vector<Grob_info> primitives,
       /*
        * Horizontally line-up this head to form a ligature.
        */
-      get_set_column (primitive, column);
-      primitive->translate_axis (ligature_width, X_AXIS);
+      move_related_items_to_column (primitive, column, ligature_width);
       ligature_width += head_width;
 
       prev_primitive = primitive;
@@ -676,7 +681,7 @@ Vaticana_ligature_engraver::transform_heads (Spanner *ligature,
 
       if (prev_primitive)
        prev_primitive->set_property ("glyph-name",
-                                     scm_makfrom0str (prev_glyph_name.c_str ()));
+                                     ly_string2scm (prev_glyph_name));
 
       /*
        * In the backend, flexa shapes and joins need to know about line
@@ -694,7 +699,7 @@ Vaticana_ligature_engraver::transform_heads (Spanner *ligature,
     }
 
   prev_primitive->set_property ("glyph-name",
-                               scm_makfrom0str (prev_glyph_name.c_str ()));
+                               ly_string2scm (prev_glyph_name));
 
   align_heads (primitives, flexa_width, thickness);
 
@@ -719,6 +724,5 @@ ADD_ACKNOWLEDGER (Vaticana_ligature_engraver, note_head);
 ADD_TRANSLATOR (Vaticana_ligature_engraver,
                /* doc */ "Handles ligatures by glueing special ligature heads together.",
                /* create */ "VaticanaLigature DotColumn",
-               /* accept */ "ligature-event",
                /* read */ "",
                /* write */ "");