]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/mensural-ligature.cc
2003 -> 2004
[lilypond.git] / lily / mensural-ligature.cc
index 77e48816221278c394e6fbaaf1fec526151ebd09..8eac3a53957aa05dcc57d015bc9e9d78e250bf9b 100644 (file)
@@ -3,7 +3,7 @@
   
   source file of the GNU LilyPond music typesetter
   
-  (c) 2002--2003 Juergen Reuter <reuter@ipd.uka.de>
+  (c) 2002--2004 Juergen Reuter <reuter@ipd.uka.de>
 */
 
 #include <math.h>
@@ -57,7 +57,7 @@ brew_flexa (Grob *me,
        -0.5*height - cauda_box_y.length();
 
       Box cauda_box (cauda_box_x, cauda_box_y);
-      Molecule cauda = Lookup::filledbox (cauda_box);
+      Molecule cauda = Lookup::filled_box (cauda_box);
       cauda.translate_axis (y_correction, Y_AXIS);
       molecule.add_molecule (cauda);
     }
@@ -73,28 +73,28 @@ brew_flexa (Grob *me,
   if (solid)
     {
       Molecule solid_head =
-       Lookup::horizontal_slope (width, corrected_slope, height);
+       Lookup::beam (corrected_slope, width, height, 0.0);
       molecule.add_molecule (solid_head);
     }
   else // outline
     {
       Molecule left_edge =
-       Lookup::horizontal_slope (thickness, corrected_slope, height);
+       Lookup::beam (corrected_slope, thickness, height, 0.0);
       molecule.add_molecule(left_edge);
 
       Molecule right_edge =
-       Lookup::horizontal_slope (thickness, corrected_slope, height);
+       Lookup::beam (corrected_slope, thickness, height, 0.0);
       right_edge.translate_axis (width-thickness, X_AXIS);
       right_edge.translate_axis (corrected_slope * (width-thickness), Y_AXIS);
       molecule.add_molecule(right_edge);
 
       Molecule bottom_edge =
-       Lookup::horizontal_slope (width, corrected_slope, thickness);
+       Lookup::beam (corrected_slope, width, thickness, 0.0);
       bottom_edge.translate_axis (-0.5*height, Y_AXIS);
       molecule.add_molecule (bottom_edge);
 
       Molecule top_edge =
-       Lookup::horizontal_slope (width, corrected_slope, thickness);
+       Lookup::beam (corrected_slope, width, thickness, 0.0);
       top_edge.translate_axis (+0.5*height, Y_AXIS);
       molecule.add_molecule (top_edge);
     }
@@ -117,7 +117,7 @@ add_ledger_lines (Grob *me, Molecule *out, int pos, Real offs,
                                     hd[RIGHT] + right_ledger_protusion);
       Molecule ledger_lines =
        Note_head::brew_ledger_lines (me, pos, interspaces,
-                                     l_extents,
+                                     l_extents,0,
                                      ledger_take_space);
       ledger_lines.translate_axis (offs, Y_AXIS);
       out->add_molecule (ledger_lines);
@@ -143,47 +143,15 @@ internal_brew_primitive (Grob *me, bool ledger_take_space)
   Real staff_space = Staff_symbol_referencer::staff_space (me);
   if (primitive & MLP_ANY)
     {
-      SCM thickness_scm = me->get_grob_property ("thickness");
-      if (thickness_scm != SCM_EOL)
-       {
-         thickness = gh_scm2double (thickness_scm);
-       }
-      else
-       {
-         programming_error (_f ("Mensural_ligature:"
-                                "thickness undefined on flexa %d; assuming 1.4",
-                                primitive));
-         thickness = 1.4 * me->get_paper ()->get_realvar (ly_symbol2scm ("linethickness"));
-       }
+      thickness = robust_scm2double ( me->get_grob_property ("thickness"), .14);
     }
 
   if (primitive & MLP_FLEXA)
     {
-      SCM delta_pitch_scm = me->get_grob_property ("delta-pitch");
-      if (delta_pitch_scm != SCM_EOL)
-       {
-         delta_pitch = gh_scm2int (delta_pitch_scm);
-       }
-      else
-       {
-         programming_error (_f ("Mensural_ligature:"
-                                "delta-pitch undefined on flexa %d; assuming 0",
-                                primitive));
-         delta_pitch = 0;
-       }
+      delta_pitch = robust_scm2int (me->get_grob_property ("delta-pitch"),
+                                   0);
 
-      SCM flexa_width_scm = me->get_grob_property ("flexa-width");
-      if (flexa_width_scm != SCM_EOL)
-       {
-         flexa_width = gh_scm2double (flexa_width_scm);
-       }
-      else
-       {
-         programming_error (_f ("Mensural_ligature:"
-                                "flexa-width undefined on flexa %d; assuming 2.0",
-                                primitive));
-         flexa_width = 2.0 * staff_space;
-       }
+      flexa_width = robust_scm2double (me->get_grob_property ("flexa-width"), 2.0 * staff_space);
     }
 
   switch (primitive)