X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fmensural-ligature.cc;h=e8df8353a7dec2944b43b2b273d90f9290b2bf65;hb=50a19de991aac1e93d1ff2cda6b30929661e036d;hp=9b58b03b8ca68ead74e0e3215d5ea6b808b8468e;hpb=06dcf4108d1eca4f9cfddde0f31dd94f177776ae;p=lilypond.git diff --git a/lily/mensural-ligature.cc b/lily/mensural-ligature.cc index 9b58b03b8c..e8df8353a7 100644 --- a/lily/mensural-ligature.cc +++ b/lily/mensural-ligature.cc @@ -28,38 +28,38 @@ brew_flexa (Grob *me, bool solid, Real width, Real thickness, - bool add_stem, - Direction stem_direction) + bool add_cauda, + Direction cauda_direction) { Real staff_space = Staff_symbol_referencer::staff_space (me); Real height = 0.6 * staff_space; Molecule molecule = Molecule (); - if (add_stem) + if (add_cauda) { bool consider_interval = - stem_direction * interval > 0.0; + cauda_direction * interval > 0.0; - Interval stem_box_x (0, thickness); - Interval stem_box_y; + Interval cauda_box_x (0, thickness); + Interval cauda_box_y; if (consider_interval) { Real y_length = max (interval/2.0*staff_space, 1.2*staff_space); - stem_box_y = Interval (0, y_length); + cauda_box_y = Interval (0, y_length); } else - stem_box_y = Interval (0, staff_space); + cauda_box_y = Interval (0, staff_space); Real y_correction = - (stem_direction == UP) ? + (cauda_direction == UP) ? +0.5*height : - -0.5*height - stem_box_y.length(); + -0.5*height - cauda_box_y.length(); - Box stem_box (stem_box_x, stem_box_y); - Molecule stem = Lookup::filledbox (stem_box); - stem.translate_axis (y_correction, Y_AXIS); - molecule.add_molecule(stem); + Box cauda_box (cauda_box_x, cauda_box_y); + Molecule cauda = Lookup::filled_box (cauda_box); + cauda.translate_axis (y_correction, Y_AXIS); + molecule.add_molecule (cauda); } Real slope = (interval / 2.0 * staff_space) / width; @@ -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); } @@ -153,7 +153,7 @@ internal_brew_primitive (Grob *me, bool ledger_take_space) programming_error (_f ("Mensural_ligature:" "thickness undefined on flexa %d; assuming 1.4", primitive)); - thickness = 1.4 * me->get_paper ()->get_var ("linethickness"); + thickness = 1.4 * me->get_paper ()->get_realvar (ly_symbol2scm ("linethickness")); } } @@ -172,18 +172,7 @@ internal_brew_primitive (Grob *me, bool ledger_take_space) 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) @@ -223,15 +212,15 @@ internal_brew_primitive (Grob *me, bool ledger_take_space) int join_left = gh_scm2int (join_left_scm); if (!join_left) programming_error (_f ("Mensural_ligature: (join_left == 0)")); - Real blotdiameter = (me->get_paper ()->get_var ("blotdiameter")); + Real blotdiameter = (me->get_paper ()->get_realvar (ly_symbol2scm ("blotdiameter"))); Interval x_extent = Interval (0, thickness); Interval y_extent = (join_left > 0) ? Interval (-join_left * 0.5 * staff_space, 0) : Interval (0, -join_left * 0.5 * staff_space); - Box stem_box (x_extent, y_extent); + Box join_box (x_extent, y_extent); - Molecule stem = Lookup::roundfilledbox (stem_box, blotdiameter); - out.add_molecule (stem); + Molecule join = Lookup::round_filled_box (join_box, blotdiameter); + out.add_molecule (join); } int pos = (int)rint (Staff_symbol_referencer::get_position (me));