X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fvaticana-ligature-engraver.cc;h=94cccf6f08bdfa9f983b1a62d0420a2091fda9c4;hb=664070d837cc4855091455892cb942cdcedeef0c;hp=a7d4dfff10014fbcef8d5d99313df2e4ce2542a1;hpb=7e72a1e50e94a7f9738d62599de79fe7745f600c;p=lilypond.git diff --git a/lily/vaticana-ligature-engraver.cc b/lily/vaticana-ligature-engraver.cc index a7d4dfff10..94cccf6f08 100644 --- a/lily/vaticana-ligature-engraver.cc +++ b/lily/vaticana-ligature-engraver.cc @@ -14,7 +14,7 @@ #include "staff-symbol-referencer.hh" #include "font-interface.hh" #include "warn.hh" -#include "paper-def.hh" +#include "output-def.hh" #include "paper-column.hh" /* @@ -33,7 +33,7 @@ private: Real thickness); public: - TRANSLATOR_DECLARATIONS(Vaticana_ligature_engraver); + TRANSLATOR_DECLARATIONS (Vaticana_ligature_engraver); protected: virtual Spanner *create_ligature_spanner (); @@ -48,7 +48,7 @@ Vaticana_ligature_engraver::Vaticana_ligature_engraver () Spanner * Vaticana_ligature_engraver::create_ligature_spanner () { - return make_spanner ("VaticanaLigature"); + return make_spanner ("VaticanaLigature", SCM_EOL); } bool @@ -155,7 +155,7 @@ Vaticana_ligature_engraver::align_heads (Array primitives, dynamic_cast (primitives[0].grob_)->get_column (); Real join_thickness = - thickness * column->get_paper ()->get_realvar (ly_symbol2scm ("linethickness")); + thickness * column->get_paper ()->get_dimension (ly_symbol2scm ("linethickness")); /* * Amount of extra space two put between some particular @@ -176,15 +176,15 @@ Vaticana_ligature_engraver::align_heads (Array primitives, { Item *primitive = dynamic_cast (primitives[i].grob_); int prefix_set = - gh_scm2int (primitive->get_grob_property ("prefix-set")); + ly_scm2int (primitive->get_property ("prefix-set")); int context_info = - gh_scm2int (primitive->get_grob_property ("context-info")); + ly_scm2int (primitive->get_property ("context-info")); /* * Get glyph_name, delta_pitch and context_info for this head. */ - SCM glyph_name_scm = primitive->get_grob_property ("glyph-name"); + SCM glyph_name_scm = primitive->get_property ("glyph-name"); if (glyph_name_scm == SCM_EOL) { primitive->programming_error ("Vaticana_ligature:" @@ -197,10 +197,10 @@ Vaticana_ligature_engraver::align_heads (Array primitives, int delta_pitch = 0; if (prev_primitive) /* urgh, need prev_primitive only here */ { - SCM delta_pitch_scm = prev_primitive->get_grob_property ("delta-pitch"); + SCM delta_pitch_scm = prev_primitive->get_property ("delta-pitch"); if (delta_pitch_scm != SCM_EOL) { - delta_pitch = gh_scm2int (delta_pitch_scm); + delta_pitch = ly_scm2int (delta_pitch_scm); } else { @@ -257,8 +257,8 @@ Vaticana_ligature_engraver::align_heads (Array primitives, /* * Save the head's final x-offset. */ - primitive->set_grob_property ("x-offset", - gh_double2scm (x_offset)); + primitive->set_property ("x-offset", + scm_make_real (x_offset)); /* * If the head is the 2nd head of a pes or flexa (but not a @@ -276,8 +276,8 @@ Vaticana_ligature_engraver::align_heads (Array primitives, } else { - prev_primitive->set_grob_property ("add-join", - gh_bool2scm(true)); + prev_primitive->set_property ("add-join", + ly_bool2scm (true)); /* * Create a small overlap of adjacent heads so that the join @@ -335,11 +335,11 @@ void check_for_prefix_loss (Item *primitive) { int prefix_set = - gh_scm2int (primitive->get_grob_property ("prefix-set")); + ly_scm2int (primitive->get_property ("prefix-set")); if (prefix_set & ~PES_OR_FLEXA) { String prefs = Gregorian_ligature::prefixes_to_str (primitive); - primitive->warning (_f ("ignored prefix(es) `%s' of this head according " + primitive->warning (_f ("ignored prefix (es) `%s' of this head according " "to restrictions of the selected ligature style", prefs.to_str0 ())); } @@ -349,23 +349,23 @@ void Vaticana_ligature_engraver::transform_heads (Spanner *ligature, Array primitives) { - Real flexa_width= robust_scm2double ( ligature->get_grob_property ("flexa-width"), 2); + Real flexa_width= robust_scm2double ( ligature->get_property ("flexa-width"), 2); - Real thickness= robust_scm2double ( ligature->get_grob_property ("thickness"), 1); + Real thickness= robust_scm2double ( ligature->get_property ("thickness"), 1); Item *prev_primitive = 0; int prev_prefix_set = 0; int prev_context_info = 0; int prev_delta_pitch = 0; String prev_glyph_name = ""; - for (int i = 0; i < primitives.size(); i++) { + for (int i = 0; i < primitives.size (); i++) { Item *primitive = dynamic_cast (primitives[i].grob_); int delta_pitch; - SCM delta_pitch_scm = primitive->get_grob_property ("delta-pitch"); + SCM delta_pitch_scm = primitive->get_property ("delta-pitch"); if (delta_pitch_scm != SCM_EOL) { - delta_pitch = gh_scm2int (delta_pitch_scm); + delta_pitch = ly_scm2int (delta_pitch_scm); } else { @@ -377,14 +377,14 @@ Vaticana_ligature_engraver::transform_heads (Spanner *ligature, /* retrieve & complete prefix_set and context_info */ int prefix_set = - gh_scm2int (primitive->get_grob_property ("prefix-set")); + ly_scm2int (primitive->get_property ("prefix-set")); int context_info = - gh_scm2int (primitive->get_grob_property ("context-info")); + ly_scm2int (primitive->get_property ("context-info")); if (is_stacked_head (prefix_set, context_info)) { context_info |= STACKED_HEAD; - primitive->set_grob_property ("context-info", - gh_int2scm (context_info)); + primitive->set_property ("context-info", + scm_int2num (context_info)); } /* @@ -397,7 +397,7 @@ Vaticana_ligature_engraver::transform_heads (Spanner *ligature, if (prefix_set & VIRGA) { glyph_name = "vaticana_punctum"; - primitive->set_grob_property ("add-stem", gh_bool2scm(true)); + primitive->set_property ("add-stem", ly_bool2scm (true)); } else if (prefix_set & QUILISMA) glyph_name = "vaticana_quilisma"; @@ -458,8 +458,8 @@ Vaticana_ligature_engraver::transform_heads (Spanner *ligature, * Therefore, the following line of code should be * placed somewhere else. */ - prev_primitive->set_grob_property ("add-cauda", - gh_bool2scm(false)); + prev_primitive->set_property ("add-cauda", + ly_bool2scm (false)); } glyph_name = "vaticana_reverse_plica"; } @@ -490,7 +490,7 @@ Vaticana_ligature_engraver::transform_heads (Spanner *ligature, */ if ((context_info & FLEXA_LEFT) && !(context_info & PES_UPPER)) if (!String::compare (glyph_name, "vaticana_punctum")) - primitive->set_grob_property ("add-cauda", gh_bool2scm(true)); + primitive->set_property ("add-cauda", ly_bool2scm (true)); /* * Execptional rule for porrectus: @@ -503,17 +503,17 @@ Vaticana_ligature_engraver::transform_heads (Spanner *ligature, { check_for_prefix_loss (prev_primitive); prev_glyph_name = "flexa"; - prev_primitive->set_grob_property ("flexa-height", - gh_int2scm (prev_delta_pitch)); - prev_primitive->set_grob_property ("flexa-width", - gh_double2scm (flexa_width)); + prev_primitive->set_property ("flexa-height", + scm_int2num (prev_delta_pitch)); + prev_primitive->set_property ("flexa-width", + scm_make_real (flexa_width)); bool add_cauda = !(prev_prefix_set && PES_OR_FLEXA); - prev_primitive->set_grob_property ("add-cauda", - gh_bool2scm (add_cauda)); + prev_primitive->set_property ("add-cauda", + ly_bool2scm (add_cauda)); check_for_prefix_loss (primitive); glyph_name = ""; - primitive->set_grob_property ("flexa-width", - gh_double2scm (flexa_width)); + primitive->set_property ("flexa-width", + scm_make_real (flexa_width)); } /* @@ -537,7 +537,7 @@ Vaticana_ligature_engraver::transform_heads (Spanner *ligature, } if (prev_primitive) - prev_primitive->set_grob_property ("glyph-name", + prev_primitive->set_property ("glyph-name", scm_makfrom0str (prev_glyph_name.to_str0 ())); /* @@ -546,7 +546,7 @@ Vaticana_ligature_engraver::transform_heads (Spanner *ligature, * ligature grob's value for thickness to each ligature head (even * if not all of them need to know). */ - primitive->set_grob_property ("thickness", gh_double2scm (thickness)); + primitive->set_property ("thickness", scm_make_real (thickness)); prev_primitive = primitive; prev_prefix_set = prefix_set; @@ -555,7 +555,7 @@ Vaticana_ligature_engraver::transform_heads (Spanner *ligature, prev_glyph_name = glyph_name; } - prev_primitive->set_grob_property ("glyph-name", + prev_primitive->set_property ("glyph-name", scm_makfrom0str (prev_glyph_name.to_str0 ())); #if 0 @@ -565,15 +565,15 @@ Vaticana_ligature_engraver::transform_heads (Spanner *ligature, align_heads (primitives, flexa_width, thickness); #if 0 // experimental code to collapse spacing after ligature - /* TODO: set to max(old/new spacing-increment), since other + /* TODO: set to max (old/new spacing-increment), since other voices/staves also may want to set this property. */ Item *first_primitive = dynamic_cast (primitives[0].grob_); - Paper_column *paper_column = first_primitive->get_column(); + Paper_column *paper_column = first_primitive->get_column (); paper_column->warning (_f ("Vaticana_ligature_engraver: " "setting `spacing-increment = %f': ptr=%ul", ligature_width, paper_column)); paper_column-> - set_grob_property("forced-spacing", gh_double2scm (ligature_width)); + set_property ("forced-spacing", scm_make_real (ligature_width)); #endif }