X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fmensural-ligature-engraver.cc;h=249506ed34fb26ba16ce8b8c964e530a56a54100;hb=a9d9433bc7b95cb2d4b3d96eefce7a8437c0d44e;hp=a6a48a8f188f4bf92537576453a9b90f6c9e8160;hpb=6ce47bfad4e8a94c773cb3c7f61b5e3043d28601;p=lilypond.git diff --git a/lily/mensural-ligature-engraver.cc b/lily/mensural-ligature-engraver.cc index a6a48a8f18..249506ed34 100644 --- a/lily/mensural-ligature-engraver.cc +++ b/lily/mensural-ligature-engraver.cc @@ -3,7 +3,7 @@ source file of the GNU LilyPond music typesetter - (c) 2002--2006 Juergen Reuter , + (c) 2002--2009 Juergen Reuter , Pal Benko */ @@ -35,7 +35,7 @@ * for example: * Ockeghem: Missa Ecce ancilla domini, bassus part, end of Christe. * - * TODO: enhance robustness: in case of an illegal ligature (e.g. the + * TODO: enhance robustness: in case of an invalid ligature (e.g. the * input specifies a ligature that contains a minima), automatically * break the ligature into smaller, valid pieces. Such a piece may be * a single note. @@ -82,7 +82,7 @@ Mensural_ligature_engraver::transform_heads (vector primitives) { if (primitives.size () < 2) { - warning (_f ("ligature with less than 2 heads -> skipping")); + warning (_ ("ligature with less than 2 heads -> skipping")); return; } int prev_pitch = 0; @@ -109,7 +109,7 @@ Mensural_ligature_engraver::transform_heads (vector primitives) if (!nr->in_event_class ("note-event")) { nr->origin ()->warning - (_f ("cannot determine pitch of ligature primitive -> skipping")); + (_ ("cannot determine pitch of ligature primitive -> skipping")); at_beginning = true; continue; } @@ -123,7 +123,7 @@ Mensural_ligature_engraver::transform_heads (vector primitives) { // we can get here after invalid input nr->origin ()->warning - (_f ("single note ligature - skipping")); + (_ ("single note ligature - skipping")); break; } prev_semibrevis = prev_brevis_shape = false; @@ -135,7 +135,7 @@ Mensural_ligature_engraver::transform_heads (vector primitives) if (delta_pitch == 0) { nr->origin ()->warning - (_f ("prime interval within ligature -> skipping")); + (_ ("prime interval within ligature -> skipping")); at_beginning = true; primitive->set_property ("primitive", scm_from_int (MLP_NONE)); @@ -147,7 +147,7 @@ Mensural_ligature_engraver::transform_heads (vector primitives) || duration_log > 0) { nr->origin ()->warning - (_f ("mensural ligature: duration none of Mx, L, B, S -> skipping")); + (_ ("mensural ligature: duration none of Mx, L, B, S -> skipping")); primitive->set_property ("primitive", scm_from_int (MLP_NONE)); at_beginning = true; @@ -195,7 +195,7 @@ Mensural_ligature_engraver::transform_heads (vector primitives) else { nr->origin ()->warning - (_f ("semibrevis must be followed by another one -> skipping")); + (_ ("semibrevis must be followed by another one -> skipping")); primitive->set_property ("primitive", scm_from_int (MLP_NONE)); at_beginning = true; @@ -206,8 +206,8 @@ Mensural_ligature_engraver::transform_heads (vector primitives) else if (duration_log == 0) { nr->origin ()->warning - (_f ("semibreves can only appear at the beginning of a ligature,\n" - "and there may be only zero or two of them")); + (_ ("semibreves can only appear at the beginning of a ligature,\n" + "and there may be only zero or two of them")); primitive->set_property ("primitive", scm_from_int (MLP_NONE)); at_beginning = true; @@ -233,10 +233,10 @@ Mensural_ligature_engraver::transform_heads (vector primitives) else { nr->origin ()->warning - (_f ("invalid ligatura ending:\n" - "when the last note is a descending brevis,\n" - "the penultimate note must be another one,\n" - "or the ligatura must be LB or SSB")); + (_ ("invalid ligatura ending:\n" + "when the last note is a descending brevis,\n" + "the penultimate note must be another one,\n" + "or the ligatura must be LB or SSB")); primitive->set_property ("primitive", scm_from_int (MLP_NONE)); break; } @@ -275,7 +275,7 @@ Mensural_ligature_engraver::transform_heads (vector primitives) // instead of number 6 // the legth of the longa stem should be queried something like // Font_interface::get_default_font (ligature)->find_by_name - // ("noteheads.s-2mensural").extent (Y_AXIS).length () + // ("noteheads.sM2mensural").extent (Y_AXIS).length () } prev_primitive->set_property ("join-right-amount", scm_from_int (delta_pitch)); @@ -313,12 +313,12 @@ Mensural_ligature_engraver::propagate_properties (Spanner *ligature, Real head_width = Font_interface::get_default_font (ligature)-> - find_by_name ("noteheads.s-1mensural").extent (X_AXIS).length (); + find_by_name ("noteheads.sM1mensural").extent (X_AXIS).length (); Real flexa_width = robust_scm2double (ligature->get_property ("flexa-width"), 2); Real maxima_head_width = Font_interface::get_default_font (ligature)-> - find_by_name ("noteheads.s-1neomensural").extent (X_AXIS).length (); + find_by_name ("noteheads.sM1neomensural").extent (X_AXIS).length (); flexa_width *= Staff_symbol_referencer::staff_space (ligature); @@ -353,7 +353,7 @@ Mensural_ligature_engraver::propagate_properties (Spanner *ligature, scm_from_double (flexa_width)); break; default: - programming_error (_f ("unexpected case fall-through")); + programming_error (_ ("unexpected case fall-through")); break; } } @@ -384,7 +384,7 @@ Mensural_ligature_engraver::fold_up_primitives (vector primitives) if (Rhythmic_head::dot_count (current) > 0) // Move dots above/behind the ligature. { - if (i < primitives.size () - 1) + if (i + 1 < primitives.size ()) // dot in the midst => move above head { // FIXME: Amount of vertical dot-shift should depend on @@ -416,8 +416,18 @@ Mensural_ligature_engraver::build_ligature (Spanner *ligature, ADD_ACKNOWLEDGER (Mensural_ligature_engraver, rest); ADD_ACKNOWLEDGER (Mensural_ligature_engraver, note_head); + ADD_TRANSLATOR (Mensural_ligature_engraver, - /* doc */ "Handles Mensural_ligature_events by glueing special ligature heads together.", - /* create */ "MensuralLigature", - /* read */ "", - /* write */ ""); + /* doc */ + "Handle @code{Mensural_ligature_events} by glueing special" + " ligature heads together.", + + /* create */ + "MensuralLigature ", + + /* read */ + "", + + /* write */ + "" + );