X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fsustain-pedal.cc;h=91d4d6366d0197f345100916d027ff2effb4fc8c;hb=aab300b4e582627497ab12f8ea8609f03a3c8d84;hp=29df9ec87bc780224354ac6dfa2014bf1925b093;hpb=a0f4b682135cf77e168a7201adbb4d083a1972d4;p=lilypond.git diff --git a/lily/sustain-pedal.cc b/lily/sustain-pedal.cc index 29df9ec87b..91d4d6366d 100644 --- a/lily/sustain-pedal.cc +++ b/lily/sustain-pedal.cc @@ -3,10 +3,10 @@ source file of the GNU LilyPond music typesetter - (c) 2000 Han-Wen Nienhuys + (c) 2000--2003 Han-Wen Nienhuys */ -#include "score-element.hh" +#include "grob.hh" #include "molecule.hh" #include "font-interface.hh" #include "string.hh" @@ -30,37 +30,37 @@ struct Sustain_pedal { public: - DECLARE_SCHEME_CALLBACK(brew_molecule, (SCM)); + DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM)); }; -MAKE_SCHEME_CALLBACK(Sustain_pedal,brew_molecule,1); +MAKE_SCHEME_CALLBACK (Sustain_pedal,brew_molecule,1); SCM Sustain_pedal::brew_molecule (SCM smob) { - Score_element * e = unsmob_element (smob); + Grob * e = unsmob_grob (smob); Molecule mol; - SCM glyph = e->get_elt_property ("text"); + SCM glyph = e->get_grob_property ("text"); if (!gh_string_p (glyph)) - return mol.create_scheme(); + return mol.smobbed_copy (); String text = ly_scm2string (glyph); - for (int i = 0; i < text.length_i (); i++) + for (int i = 0; i < text.length (); i++) { String idx ("pedal-"); - if (text.cut_str (i, 3) == "Ped") + if (text.cut_string (i, 3) == "Ped") { idx += "Ped"; i += 2; } else - idx += String (&text.byte_C ()[i], 1); + idx += String (&text.to_bytes ()[i], 1); Molecule m = Font_interface::get_default_font (e)->find_by_name (idx); if (!m.empty_b ()) - mol.add_at_edge (X_AXIS, RIGHT, m, 0); + mol.add_at_edge (X_AXIS, RIGHT, m, 0, 0); } - return mol.create_scheme (); + return mol.smobbed_copy (); }