From a29dcccd387ad006451c1ed95aa9dfafd51e8cad Mon Sep 17 00:00:00 2001 From: hanwen Date: Sun, 25 Jan 2004 16:26:20 +0000 Subject: [PATCH] * lily/engraver.cc (internal_make_item): centralize item/spanner factory. * scripts/convert-ly.py (FatalConversionError.sub_durs): bugfix: do correct chord conversion for ^"sim." (backportme) (FatalConversionError.sub_articulations): substitute ^"foo" in chords too. (backportme) --- ChangeLog | 15 ++++++++++----- VERSION | 2 +- lily/a2-engraver.cc | 2 +- lily/accidental-engraver.cc | 4 ++-- lily/ambitus-engraver.cc | 4 ++-- lily/arpeggio-engraver.cc | 2 +- lily/auto-beam-engraver.cc | 2 +- lily/axis-group-engraver.cc | 12 ++++++------ lily/bar-engraver.cc | 2 +- lily/bar-number-engraver.cc | 3 +-- lily/beam-engraver.cc | 2 +- lily/break-align-engraver.cc | 6 +++--- lily/breathing-sign-engraver.cc | 3 +-- lily/chord-name-engraver.cc | 2 +- lily/chord-tremolo-engraver.cc | 4 ++-- lily/clef-engraver.cc | 4 ++-- lily/cluster-engraver.cc | 4 ++-- lily/collision-engraver.cc | 2 +- lily/completion-note-heads-engraver.cc | 6 +++--- lily/custos-engraver.cc | 3 +-- lily/dot-column-engraver.cc | 2 +- lily/dynamic-engraver.cc | 8 ++++---- lily/engraver.cc | 14 ++++++++++++++ lily/extender-engraver.cc | 2 +- lily/figured-bass-engraver.cc | 4 ++-- lily/fingering-engraver.cc | 2 +- lily/glissando-engraver.cc | 2 +- lily/horizontal-bracket-engraver.cc | 2 +- lily/hyphen-engraver.cc | 2 +- lily/include/engraver.hh | 8 ++++++++ lily/instrument-name-engraver.cc | 2 +- lily/key-engraver.cc | 2 +- lily/ligature-bracket-engraver.cc | 2 +- lily/lyric-engraver.cc | 2 +- lily/mark-engraver.cc | 2 +- lily/measure-grouping-engraver.cc | 2 +- lily/mensural-ligature-engraver.cc | 2 +- lily/metronome-engraver.cc | 3 +-- lily/multi-measure-rest-engraver.cc | 6 +++--- lily/new-accidental-engraver.cc | 4 ++-- lily/new-fingering-engraver.cc | 7 ++++--- lily/note-head-line-engraver.cc | 2 +- lily/note-heads-engraver.cc | 4 ++-- lily/note-name-engraver.cc | 2 +- lily/ottava-engraver.cc | 2 +- lily/percent-repeat-engraver.cc | 4 ++-- lily/phrasing-slur-engraver.cc | 2 +- lily/piano-pedal-engraver.cc | 7 +++---- lily/rest-collision-engraver.cc | 2 +- lily/rest-engraver.cc | 4 ++-- lily/rhythmic-column-engraver.cc | 4 ++-- lily/script-column-engraver.cc | 2 +- lily/script-engraver.cc | 14 ++++++++------ lily/separating-line-group-engraver.cc | 6 +++--- lily/slash-repeat-engraver.cc | 2 +- lily/slur-engraver.cc | 2 +- lily/spacing-engraver.cc | 2 +- lily/span-arpeggio-engraver.cc | 2 +- lily/span-bar-engraver.cc | 2 +- lily/staff-symbol-engraver.cc | 2 +- lily/stanza-number-engraver.cc | 2 +- lily/stem-engraver.cc | 4 ++-- lily/system-start-delimiter-engraver.cc | 2 +- lily/tab-note-heads-engraver.cc | 4 ++-- lily/text-spanner-engraver.cc | 2 +- lily/tie-engraver.cc | 4 ++-- lily/time-signature-engraver.cc | 2 +- lily/tuplet-engraver.cc | 2 +- lily/vaticana-ligature-engraver.cc | 2 +- lily/vertical-align-engraver.cc | 2 +- lily/volta-engraver.cc | 2 +- mf/feta-din4.mf | 9 --------- mf/feta-din5.mf | 9 --------- mf/feta-din7.mf | 9 --------- mf/feta-din9.mf | 7 ------- scm/font.scm | 5 +++-- 76 files changed, 145 insertions(+), 153 deletions(-) delete mode 100644 mf/feta-din4.mf delete mode 100644 mf/feta-din5.mf delete mode 100644 mf/feta-din7.mf delete mode 100644 mf/feta-din9.mf diff --git a/ChangeLog b/ChangeLog index 637fffa90a..5815c254e2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,9 +1,14 @@ 2004-01-25 Han-Wen Nienhuys + * mf/feta-din{4,5,7,9}.mf: remove. + + * lily/engraver.cc (internal_make_item): centralize item/spanner + factory. + * scripts/convert-ly.py (FatalConversionError.sub_durs): bugfix: - do correct chord conversion for ^"sim." + do correct chord conversion for ^"sim." (backportme) (FatalConversionError.sub_articulations): substitute ^"foo" in - chords too. + chords too. (backportme) * scm/define-grobs.scm (all-grob-descriptions): use staff-padding for Fingering. @@ -33,9 +38,9 @@ All markup commands are defined thanks to it. Users may also use it to define their own markup commands. (Nicolas Sceaux) - * scm/new-markup.scm:Little scheme style clean-up: there should be - no parenthese alone on a line; LET* should not be used where LET - is enough. (Nicolas Sceaux) + * scm/new-markup.scm: Scheme style clean-up: there should be no + parenthesis alone on a line; LET* should not be used where LET is + enough. (Nicolas Sceaux) 2004-01-25 Jan Nieuwenhuizen diff --git a/VERSION b/VERSION index d9541e12a8..e2f0006468 100644 --- a/VERSION +++ b/VERSION @@ -2,5 +2,5 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=2 MINOR_VERSION=1 PATCH_LEVEL=14 -MY_PATCH_LEVEL= +MY_PATCH_LEVEL=hwn1 diff --git a/lily/a2-engraver.cc b/lily/a2-engraver.cc index 9360df3f67..703c222837 100644 --- a/lily/a2-engraver.cc +++ b/lily/a2-engraver.cc @@ -54,7 +54,7 @@ A2_engraver::process_acknowledged_grobs () || (unison == SCM_BOOL_T && state_ != UNISON && daddy_trans_->id_string_.left_string (3) == "one"))) { - text_ = new Item (get_property ("TextScript")); + text_ = make_item ("TextScript"); Side_position_interface::set_axis (text_, Y_AXIS); announce_grob(text_, SCM_EOL); diff --git a/lily/accidental-engraver.cc b/lily/accidental-engraver.cc index c03d7fb35b..3548a84ee6 100644 --- a/lily/accidental-engraver.cc +++ b/lily/accidental-engraver.cc @@ -281,12 +281,12 @@ Accidental_engraver::process_acknowledged_grobs () if (num) { - Grob * a = new Item (get_property ("Accidental")); + Grob * a = make_item ("Accidental"); a->set_parent (support, Y_AXIS); if (!accidental_placement_) { - accidental_placement_ = new Item (get_property ("AccidentalPlacement")); + accidental_placement_ = make_item ("AccidentalPlacement"); announce_grob (accidental_placement_, a->self_scm()); } diff --git a/lily/ambitus-engraver.cc b/lily/ambitus-engraver.cc index 563d06e8dc..1982beeff1 100644 --- a/lily/ambitus-engraver.cc +++ b/lily/ambitus-engraver.cc @@ -162,8 +162,8 @@ Ambitus_engraver::acknowledge_grob (Grob_info info) void Ambitus_engraver::create_ambitus () { - SCM basicProperties = get_property ("Ambitus"); - ambitus_ = new Item (basicProperties); is_typeset = 0; + ambitus_ = make_item ("Ambitus"); + is_typeset = 0; // UGH. announce_grob (ambitus_, SCM_EOL); } diff --git a/lily/arpeggio-engraver.cc b/lily/arpeggio-engraver.cc index de5eb15e1c..405b45f060 100644 --- a/lily/arpeggio-engraver.cc +++ b/lily/arpeggio-engraver.cc @@ -81,7 +81,7 @@ Arpeggio_engraver::process_music () { if (arpeggio_req_) { - arpeggio_ = new Item (get_property ("Arpeggio")); + arpeggio_ = make_item ("Arpeggio"); announce_grob(arpeggio_, arpeggio_req_->self_scm()); } } diff --git a/lily/auto-beam-engraver.cc b/lily/auto-beam-engraver.cc index 42e3935d8d..16bfd35141 100644 --- a/lily/auto-beam-engraver.cc +++ b/lily/auto-beam-engraver.cc @@ -244,7 +244,7 @@ Auto_beam_engraver::create_beam () return 0; } - Spanner* beam = new Spanner (beam_settings_); + Spanner* beam = internal_make_spanner (beam_settings_); for (int i = 0; i < stems_->size (); i++) { /* diff --git a/lily/axis-group-engraver.cc b/lily/axis-group-engraver.cc index 8f03b706a7..0997081c8e 100644 --- a/lily/axis-group-engraver.cc +++ b/lily/axis-group-engraver.cc @@ -26,7 +26,7 @@ protected: virtual void finalize (); virtual void acknowledge_grob (Grob_info); virtual void process_acknowledged_grobs (); - virtual Spanner* get_spanner () const; + virtual Spanner* get_spanner () ; virtual void add_element (Grob*) ; public: TRANSLATOR_DECLARATIONS(Axis_group_engraver); @@ -53,9 +53,9 @@ Axis_group_engraver::process_music () } Spanner* -Axis_group_engraver::get_spanner () const +Axis_group_engraver::get_spanner () { - return new Spanner (get_property ("VerticalAxisGroup")); + return make_spanner ("VerticalAxisGroup"); } /* @@ -155,7 +155,7 @@ Axis_group_engraver::add_element (Grob*e) class Hara_kiri_engraver : public Axis_group_engraver { protected: - virtual Spanner*get_spanner ()const; + virtual Spanner*get_spanner (); virtual void acknowledge_grob (Grob_info); virtual void add_element (Grob *e); public: @@ -170,9 +170,9 @@ Hara_kiri_engraver::add_element (Grob*e) Spanner* -Hara_kiri_engraver::get_spanner () const +Hara_kiri_engraver::get_spanner () { - Spanner * sp = new Spanner (get_property ("RemoveEmptyVerticalGroup")); + Spanner * sp = make_spanner ("RemoveEmptyVerticalGroup"); return sp; } diff --git a/lily/bar-engraver.cc b/lily/bar-engraver.cc index a23eb3402c..34a9d773d5 100644 --- a/lily/bar-engraver.cc +++ b/lily/bar-engraver.cc @@ -47,7 +47,7 @@ Bar_engraver::create_bar () { if (!bar_) { - bar_ = new Item (get_property ("BarLine")); + bar_ = make_item ("BarLine"); SCM gl = get_property ("whichBar"); if (scm_equal_p (gl, bar_->get_grob_property ("glyph")) != SCM_BOOL_T) bar_->set_grob_property ("glyph", gl); diff --git a/lily/bar-number-engraver.cc b/lily/bar-number-engraver.cc index 5b6a134947..a2cdfbcb49 100644 --- a/lily/bar-number-engraver.cc +++ b/lily/bar-number-engraver.cc @@ -108,8 +108,7 @@ Bar_number_engraver::create_items () if (text_) return; - SCM b = get_property ("BarNumber"); - text_ = new Item (b); + text_ = make_item ("BarNumber"); Side_position_interface::set_axis (text_,Y_AXIS); announce_grob(text_, SCM_EOL); diff --git a/lily/beam-engraver.cc b/lily/beam-engraver.cc index 7b3c77e375..599bced280 100644 --- a/lily/beam-engraver.cc +++ b/lily/beam-engraver.cc @@ -159,7 +159,7 @@ Beam_engraver::process_music () set_melisma (true); prev_start_ev_ = evs_drul_[START]; - beam_ = new Spanner (get_property ("Beam")); + beam_ = make_spanner ("Beam"); SCM smp = get_property ("measurePosition"); Moment mp = (unsmob_moment (smp)) ? *unsmob_moment (smp) : Moment (0); diff --git a/lily/break-align-engraver.cc b/lily/break-align-engraver.cc index a797a29155..5c13111e32 100644 --- a/lily/break-align-engraver.cc +++ b/lily/break-align-engraver.cc @@ -110,11 +110,11 @@ Break_align_engraver::acknowledge_grob (Grob_info inf) if (!align_) { - align_ = new Item (get_property ("BreakAlignment")); + align_ = make_item ("BreakAlignment"); announce_grob (align_, SCM_EOL); - edge_ = new Item (get_property ("LeftEdge")); + edge_ = make_item ("LeftEdge"); add_to_group (edge_->get_grob_property ("break-align-symbol"), edge_); announce_grob(edge_, SCM_EOL); } @@ -136,7 +136,7 @@ Break_align_engraver::add_to_group(SCM align_name, Item*item) } else { - group = new Item (get_property ("BreakAlignGroup")); + group = make_item ("BreakAlignGroup"); group->set_grob_property ("break-align-symbol", align_name); group->set_parent (align_, Y_AXIS); diff --git a/lily/breathing-sign-engraver.cc b/lily/breathing-sign-engraver.cc index 7d49c31d73..52cda539fd 100644 --- a/lily/breathing-sign-engraver.cc +++ b/lily/breathing-sign-engraver.cc @@ -54,8 +54,7 @@ Breathing_sign_engraver::process_acknowledged_grobs () { if (breathing_sign_req_ && ! breathing_sign_) { - SCM b = get_property ("BreathingSign"); - breathing_sign_ = new Item (b); + breathing_sign_ = make_item ("BreathingSign"); announce_grob(breathing_sign_, breathing_sign_req_->self_scm()); breathing_sign_req_ = 0; diff --git a/lily/chord-name-engraver.cc b/lily/chord-name-engraver.cc index 633e1b3e11..bdca1d10b1 100644 --- a/lily/chord-name-engraver.cc +++ b/lily/chord-name-engraver.cc @@ -103,7 +103,7 @@ Chord_name_engraver::process_music () */ SCM chord_as_scm = gh_cons (pitches, gh_cons (bass, inversion)); - chord_name_ = new Item (get_property ("ChordName")); + chord_name_ = make_item ("ChordName"); chord_name_->set_grob_property("text", markup); announce_grob(chord_name_, notes_[0]->self_scm ()); SCM s = get_property ("chordChanges"); diff --git a/lily/chord-tremolo-engraver.cc b/lily/chord-tremolo-engraver.cc index a67946fe7b..d8dad59dcd 100644 --- a/lily/chord-tremolo-engraver.cc +++ b/lily/chord-tremolo-engraver.cc @@ -123,7 +123,7 @@ Chord_tremolo_engraver::process_music () { if (sequential_body_b_ && !beam_) { - beam_ = new Spanner (get_property ("Beam")); + beam_ = make_spanner ("Beam"); beam_->set_grob_property ("chord-tremolo", SCM_BOOL_T); SCM smp = get_property ("measurePosition"); @@ -136,7 +136,7 @@ Chord_tremolo_engraver::process_music () { if (flags_) { - stem_tremolo_ = new Item (get_property ("StemTremolo")); + stem_tremolo_ = make_item ("StemTremolo"); announce_grob(stem_tremolo_, repeat_->self_scm()); stem_tremolo_->set_grob_property ("flag-count", scm_int2num (flags_)); diff --git a/lily/clef-engraver.cc b/lily/clef-engraver.cc index 6ffa8a9fe7..6184503643 100644 --- a/lily/clef-engraver.cc +++ b/lily/clef-engraver.cc @@ -86,7 +86,7 @@ Clef_engraver::create_clef () { if (!clef_) { - Item *c= new Item (get_property ("Clef")); + Item *c= make_item ("Clef"); announce_grob(c, SCM_EOL); clef_ = c; @@ -98,7 +98,7 @@ Clef_engraver::create_clef () SCM oct = get_property ("clefOctavation"); if (gh_number_p (oct) && gh_scm2int (oct)) { - Item * g = new Item (get_property ("OctavateEight")); + Item * g = make_item ("OctavateEight"); int abs_oct = gh_scm2int (oct) ; int dir = sign (abs_oct); diff --git a/lily/cluster-engraver.cc b/lily/cluster-engraver.cc index e0cdf1b36a..a58a5f57b1 100644 --- a/lily/cluster-engraver.cc +++ b/lily/cluster-engraver.cc @@ -104,7 +104,7 @@ Cluster_spanner_engraver::process_music () pmin = pmin set_grob_property ("positions", scm_cons (gh_int2scm (pmin), gh_int2scm (pmax))); @@ -113,7 +113,7 @@ Cluster_spanner_engraver::process_music () if (beacon_ && !spanner_) { - spanner_ = new Spanner (get_property ("ClusterSpanner")); + spanner_ = make_spanner ("ClusterSpanner"); announce_grob (spanner_, cluster_notes_[0]->self_scm ()); } diff --git a/lily/collision-engraver.cc b/lily/collision-engraver.cc index ede88e3af2..d20cf54e8a 100644 --- a/lily/collision-engraver.cc +++ b/lily/collision-engraver.cc @@ -36,7 +36,7 @@ Collision_engraver::process_acknowledged_grobs () return ; if (!col_) { - col_ = new Item (get_property ("NoteCollision")); + col_ = make_item ("NoteCollision"); announce_grob (col_, SCM_EOL); } diff --git a/lily/completion-note-heads-engraver.cc b/lily/completion-note-heads-engraver.cc index 641bb23584..758e1e96b0 100644 --- a/lily/completion-note-heads-engraver.cc +++ b/lily/completion-note-heads-engraver.cc @@ -204,7 +204,7 @@ Completion_heads_engraver::process_music () for (int i = 0; left_to_do_ && i < note_reqs_.size (); i++) { - Item *note = new Item (get_property ("NoteHead")); + Item *note = make_item ("NoteHead"); Music * req = note_reqs_[i]; if (scratch_note_reqs_.size()) @@ -221,7 +221,7 @@ Completion_heads_engraver::process_music () int dots= note_dur.dot_count (); if (dots) { - Item * d = new Item (get_property ("Dots")); + Item * d = make_item ("Dots"); Rhythmic_head::set_dots (note, d); /* @@ -251,7 +251,7 @@ Completion_heads_engraver::process_music () { for (int i= 0; i < notes_.size(); i++) { - Grob * p = new Spanner (get_property ("Tie")); + Grob * p = make_spanner ("Tie"); Tie::set_interface (p); // cannot remove yet! Tie::set_head (p, LEFT, prev_notes_[i]); diff --git a/lily/custos-engraver.cc b/lily/custos-engraver.cc index e344af671c..edc9b330b3 100644 --- a/lily/custos-engraver.cc +++ b/lily/custos-engraver.cc @@ -124,8 +124,7 @@ Custos_engraver::process_acknowledged_grobs () Item* Custos_engraver::create_custos () { - SCM basicProperties = get_property ("Custos"); - Item* custos = new Item (basicProperties); + Item* custos = make_item ("Custos"); announce_grob(custos, SCM_EOL); custodes_.push (custos); diff --git a/lily/dot-column-engraver.cc b/lily/dot-column-engraver.cc index 55956b3eb4..2cdc4a0f7f 100644 --- a/lily/dot-column-engraver.cc +++ b/lily/dot-column-engraver.cc @@ -64,7 +64,7 @@ Dot_column_engraver::acknowledge_grob (Grob_info info) { if (!dotcol_) { - dotcol_ = new Item (get_property ("DotColumn")); + dotcol_ = make_item ("DotColumn"); announce_grob(dotcol_, SCM_EOL); } diff --git a/lily/dynamic-engraver.cc b/lily/dynamic-engraver.cc index 478339ea7c..79377e0176 100644 --- a/lily/dynamic-engraver.cc +++ b/lily/dynamic-engraver.cc @@ -129,7 +129,7 @@ Dynamic_engraver::process_music () { if (!line_spanner_) { - line_spanner_ = new Spanner (get_property ("DynamicLineSpanner")); + line_spanner_ = make_spanner ("DynamicLineSpanner"); Music * rq = accepted_spanreqs_drul_[START]; if (script_ev_) @@ -155,7 +155,7 @@ Dynamic_engraver::process_music () */ if (script_ev_) { - script_ = new Item (get_property ("DynamicText")); + script_ = make_item ("DynamicText"); script_->set_grob_property ("text", script_ev_->get_mus_property ("text")); @@ -238,7 +238,7 @@ Dynamic_engraver::process_music () SCM s = get_property ((start_type + "Spanner").to_str0 ()); if (!gh_symbol_p (s) || s == ly_symbol2scm ("hairpin")) { - cresc_ = new Spanner (get_property ("Hairpin")); + cresc_ = make_spanner ("Hairpin"); cresc_->set_grob_property ("grow-direction", gh_int2scm ((start_type == "crescendo") ? BIGGER : SMALLER)); @@ -253,7 +253,7 @@ Dynamic_engraver::process_music () */ else { - cresc_ = new Spanner (get_property ("TextSpanner")); + cresc_ = make_spanner ("TextSpanner"); cresc_->set_grob_property ("style", s); daddy_trans_->set_property ((start_type + "Spanner").to_str0 (), SCM_EOL); diff --git a/lily/engraver.cc b/lily/engraver.cc index 65f161a9ce..57c4298c39 100644 --- a/lily/engraver.cc +++ b/lily/engraver.cc @@ -12,6 +12,8 @@ #include "grob.hh" #include "score-engraver.hh" #include "warn.hh" +#include "spanner.hh" +#include "item.hh" void Engraver::announce_grob (Grob_info inf) @@ -66,6 +68,18 @@ Engraver::process_music () } +Item* +Engraver::internal_make_item (SCM x) +{ + return new Item (x); +} + +Spanner* +Engraver::internal_make_spanner (SCM x) +{ + return new Spanner (x); +} + Engraver::Engraver() { } diff --git a/lily/extender-engraver.cc b/lily/extender-engraver.cc index 407442c968..eaaa7d208b 100644 --- a/lily/extender-engraver.cc +++ b/lily/extender-engraver.cc @@ -113,7 +113,7 @@ Extender_engraver::process_music () { if (ev_) { - extender_ = new Spanner (get_property ("LyricExtender")); + extender_ = make_spanner ("LyricExtender"); announce_grob (extender_, ev_->self_scm()); } } diff --git a/lily/figured-bass-engraver.cc b/lily/figured-bass-engraver.cc index c792ac795c..cd4fe0c22f 100644 --- a/lily/figured-bass-engraver.cc +++ b/lily/figured-bass-engraver.cc @@ -68,7 +68,7 @@ Figured_bass_engraver::process_music () { if (rest_req_) { - figure_ = new Item (get_property ("BassFigure")); + figure_ = make_item ("BassFigure"); announce_grob(figure_, rest_req_->self_scm()); // todo figure_->set_grob_property ("text" , scm_makfrom0str ("-")); } @@ -84,7 +84,7 @@ Figured_bass_engraver::process_music () SCM markup = scm_call_2 (proc, l, daddy_trans_->self_scm ()); - figure_ = new Item (get_property ("BassFigure")); + figure_ = make_item ("BassFigure"); figure_->set_grob_property ("text", markup); announce_grob(figure_, figures_[0]->self_scm()); // todo } diff --git a/lily/fingering-engraver.cc b/lily/fingering-engraver.cc index 07df23d08b..5430c213a1 100644 --- a/lily/fingering-engraver.cc +++ b/lily/fingering-engraver.cc @@ -79,7 +79,7 @@ Fingering_engraver::process_music () void Fingering_engraver::make_script (Direction d, Music *r,Axis a, int i) { - Item *fingering = new Item (get_property ("Fingering")); + Item *fingering = make_item ("Fingering"); Axis other = other_axis (a); diff --git a/lily/glissando-engraver.cc b/lily/glissando-engraver.cc index 7976601b72..34a0f07ae8 100644 --- a/lily/glissando-engraver.cc +++ b/lily/glissando-engraver.cc @@ -55,7 +55,7 @@ Glissando_engraver::process_music () { if (event_) { - line_ = new Spanner (get_property ("Glissando")); + line_ = make_spanner ("Glissando"); announce_grob (line_, event_->self_scm ()); } } diff --git a/lily/horizontal-bracket-engraver.cc b/lily/horizontal-bracket-engraver.cc index e86c7553bb..a671789143 100644 --- a/lily/horizontal-bracket-engraver.cc +++ b/lily/horizontal-bracket-engraver.cc @@ -91,7 +91,7 @@ Horizontal_bracket_engraver::process_music () { for (int k = 0; k < push_count_; k++) { - Spanner * sp = new Spanner (get_property ("HorizontalBracket")); + Spanner * sp = make_spanner ("HorizontalBracket"); announce_grob (sp, events_[k]->self_scm()); for (int i = 0; i < bracket_stack_.size(); i++) diff --git a/lily/hyphen-engraver.cc b/lily/hyphen-engraver.cc index 8282baa5da..8e14ca48e3 100644 --- a/lily/hyphen-engraver.cc +++ b/lily/hyphen-engraver.cc @@ -98,7 +98,7 @@ Hyphen_engraver::process_acknowledged_grobs () return; } - hyphen_ = new Spanner (get_property ("LyricHyphen")); + hyphen_ = make_spanner ("LyricHyphen"); hyphen_->set_bound (LEFT, last_lyric_); announce_grob(hyphen_, req_->self_scm()); diff --git a/lily/include/engraver.hh b/lily/include/engraver.hh index 7c59e743f8..9ca18d94a5 100644 --- a/lily/include/engraver.hh +++ b/lily/include/engraver.hh @@ -50,6 +50,10 @@ protected: virtual void process_music (); Score_engraver * top_engraver () const; + + Item * internal_make_item (SCM); + Spanner * internal_make_spanner (SCM); + public: Engraver_group_engraver * get_daddy_grav () const; /** @@ -58,6 +62,10 @@ public: TRANSLATOR_DECLARATIONS(Engraver); }; +#define make_item(x) internal_make_item (ly_symbol2scm (x)) +#define make_spanner(x) internal_make_spanner (ly_symbol2scm (x)) + + #endif // ENGRAVER_HH diff --git a/lily/instrument-name-engraver.cc b/lily/instrument-name-engraver.cc index 254b4e7119..faa4b39dbc 100644 --- a/lily/instrument-name-engraver.cc +++ b/lily/instrument-name-engraver.cc @@ -72,7 +72,7 @@ Instrument_name_engraver::create_text () if (txt == SCM_EOL) return ; - text_ = new Item (get_property ("InstrumentName")); + text_ = make_item ("InstrumentName"); if (text_->get_grob_property ("text") != txt) text_->set_grob_property ("text", txt); diff --git a/lily/key-engraver.cc b/lily/key-engraver.cc index ec5b4054b2..33f119f47c 100644 --- a/lily/key-engraver.cc +++ b/lily/key-engraver.cc @@ -64,7 +64,7 @@ Key_engraver::create_key (bool def) { if (!item_) { - item_ = new Item (get_property ("KeySignature")); + item_ = make_item ("KeySignature"); item_->set_grob_property ("c0-position", get_property ("centralCPosition")); diff --git a/lily/ligature-bracket-engraver.cc b/lily/ligature-bracket-engraver.cc index 72310f39f0..5b8d9d5583 100644 --- a/lily/ligature-bracket-engraver.cc +++ b/lily/ligature-bracket-engraver.cc @@ -39,7 +39,7 @@ Ligature_bracket_engraver::Ligature_bracket_engraver () Spanner * Ligature_bracket_engraver::create_ligature_spanner () { - return new Spanner (get_property ("LigatureBracket")); + return make_spanner ("LigatureBracket"); } void diff --git a/lily/lyric-engraver.cc b/lily/lyric-engraver.cc index 850326cb57..6b63b428b6 100644 --- a/lily/lyric-engraver.cc +++ b/lily/lyric-engraver.cc @@ -59,7 +59,7 @@ Lyric_engraver::process_music () { if (req_) { - text_= new Item (get_property ("LyricText")); + text_= make_item ("LyricText"); text_->set_grob_property ("text", req_->get_mus_property ("text")); announce_grob (text_, req_->self_scm()); diff --git a/lily/mark-engraver.cc b/lily/mark-engraver.cc index c13d3e60af..471bd046fb 100644 --- a/lily/mark-engraver.cc +++ b/lily/mark-engraver.cc @@ -82,7 +82,7 @@ Mark_engraver::create_items (Music *ev) if (text_) return; - text_ = new Item (get_property ("RehearsalMark")); + text_ = make_item ("RehearsalMark"); announce_grob(text_, ev->self_scm()); } diff --git a/lily/measure-grouping-engraver.cc b/lily/measure-grouping-engraver.cc index 834a7af2d9..ea40a4e582 100644 --- a/lily/measure-grouping-engraver.cc +++ b/lily/measure-grouping-engraver.cc @@ -86,7 +86,7 @@ Measure_grouping_engraver::process_music () continue; } - grouping_ = new Spanner (get_property ("MeasureGrouping")); + grouping_ = make_spanner ("MeasureGrouping"); grouping_->set_bound (LEFT, unsmob_grob (get_property ("currentMusicalColumn"))); announce_grob (grouping_, SCM_EOL); diff --git a/lily/mensural-ligature-engraver.cc b/lily/mensural-ligature-engraver.cc index cd08766d56..4f915714da 100644 --- a/lily/mensural-ligature-engraver.cc +++ b/lily/mensural-ligature-engraver.cc @@ -73,7 +73,7 @@ Mensural_ligature_engraver::Mensural_ligature_engraver () Spanner * Mensural_ligature_engraver::create_ligature_spanner () { - return new Spanner (get_property ("MensuralLigature")); + return make_spanner ("MensuralLigature"); } /* diff --git a/lily/metronome-engraver.cc b/lily/metronome-engraver.cc index 39675ba541..3fbaf3b48c 100644 --- a/lily/metronome-engraver.cc +++ b/lily/metronome-engraver.cc @@ -78,8 +78,7 @@ Metronome_mark_engraver::create_items (Music *rq) if (text_) return; - SCM s = get_property ("MetronomeMark"); - text_ = new Item (s); + text_ = make_item ("MetronomeMark"); announce_grob(text_, rq->self_scm()); } diff --git a/lily/multi-measure-rest-engraver.cc b/lily/multi-measure-rest-engraver.cc index 644c93d3ef..097f6da63a 100644 --- a/lily/multi-measure-rest-engraver.cc +++ b/lily/multi-measure-rest-engraver.cc @@ -79,14 +79,14 @@ Multi_measure_rest_engraver::process_music () { if (rest_ev_ && !mmrest_) { - mmrest_ = new Spanner (get_property ("MultiMeasureRest")); + mmrest_ = make_spanner ("MultiMeasureRest"); if (text_events_.size()) { for (int i = 0; i < text_events_.size(); i++) { Spanner *sp - = new Spanner (get_property ("MultiMeasureRestText")); + = make_spanner ("MultiMeasureRestText"); Music* e = text_events_[i]; SCM t = e->get_mus_property ("text"); @@ -119,7 +119,7 @@ Multi_measure_rest_engraver::process_music () else { Spanner *sp - = new Spanner (get_property ("MultiMeasureRestNumber")); + = make_spanner ("MultiMeasureRestNumber"); numbers_.push (sp); announce_grob (sp, rest_ev_->self_scm()); } diff --git a/lily/new-accidental-engraver.cc b/lily/new-accidental-engraver.cc index 7395aeda34..2f48597c4e 100644 --- a/lily/new-accidental-engraver.cc +++ b/lily/new-accidental-engraver.cc @@ -413,12 +413,12 @@ New_accidental_engraver::process_grobs_second_pass () if (num) { - Grob * a = new Item (get_property ("Accidental")); + Grob * a = make_item ("Accidental"); a->set_parent (support, Y_AXIS); if (!accidental_placement_) { - accidental_placement_ = new Item (get_property ("AccidentalPlacement")); + accidental_placement_ = make_item ("AccidentalPlacement"); announce_grob (accidental_placement_, a->self_scm()); } diff --git a/lily/new-fingering-engraver.cc b/lily/new-fingering-engraver.cc index 509be00647..47c878daf3 100644 --- a/lily/new-fingering-engraver.cc +++ b/lily/new-fingering-engraver.cc @@ -97,7 +97,7 @@ New_fingering_engraver::acknowledge_grob (Grob_info inf) } } -extern Grob *make_script_from_event (SCM * descr, Translator_group*tg, Music * event, +extern void make_script_from_event (Grob *, SCM * descr, Translator_group*tg, Music * event, int index); void New_fingering_engraver::add_script (Grob * head, @@ -106,7 +106,8 @@ New_fingering_engraver::add_script (Grob * head, { Finger_tuple ft ; - Grob * g= make_script_from_event (&ft.description_, daddy_trans_, event, 0); + Grob * g= make_item ("Script"); + make_script_from_event (g, &ft.description_, daddy_trans_, event, 0); if (g) { ft.script_ =g ; @@ -126,7 +127,7 @@ New_fingering_engraver::add_fingering (Grob * head, { Finger_tuple ft; - ft.script_ = new Item (get_property ("Fingering")); + ft.script_ = make_item ("Fingering"); announce_grob (ft.script_, event->self_scm()); Side_position_interface::add_support (ft.script_, head); diff --git a/lily/note-head-line-engraver.cc b/lily/note-head-line-engraver.cc index 12578a2b5c..7c301a7650 100644 --- a/lily/note-head-line-engraver.cc +++ b/lily/note-head-line-engraver.cc @@ -85,7 +85,7 @@ Note_head_line_engraver::process_acknowledged_grobs () Should probably store follow_ in line_, and suicide at some later point */ if (follow_) - line_ = new Spanner (get_property ("VoiceFollower")); + line_ = make_spanner ("VoiceFollower"); line_->set_bound (LEFT, last_head_); line_->set_bound (RIGHT, head_); diff --git a/lily/note-heads-engraver.cc b/lily/note-heads-engraver.cc index 7900585763..2927d4dc54 100644 --- a/lily/note-heads-engraver.cc +++ b/lily/note-heads-engraver.cc @@ -62,7 +62,7 @@ Note_heads_engraver::process_music () { for (int i=0; i < note_reqs_.size (); i++) { - Item *note = new Item (get_property ("NoteHead")); + Item *note = make_item ("NoteHead"); Music * req = note_reqs_[i]; @@ -72,7 +72,7 @@ Note_heads_engraver::process_music () if (dur.dot_count ()) { - Item * d = new Item (get_property ("Dots")); + Item * d = make_item ("Dots"); Rhythmic_head::set_dots (note, d); if (dur.dot_count () diff --git a/lily/note-name-engraver.cc b/lily/note-name-engraver.cc index 25031239a8..cd81cde651 100644 --- a/lily/note-name-engraver.cc +++ b/lily/note-name-engraver.cc @@ -48,7 +48,7 @@ Note_name_engraver::process_acknowledged_grobs () } if (s.length ()) { - Item * t = new Item (get_property ("NoteName")); + Item * t = make_item ("NoteName"); t->set_grob_property ("text", scm_makfrom0str (s.to_str0 ())); announce_grob(t, reqs_[0]->self_scm()); texts_.push (t); diff --git a/lily/ottava-engraver.cc b/lily/ottava-engraver.cc index b18cf8e54e..df22bbc4b0 100644 --- a/lily/ottava-engraver.cc +++ b/lily/ottava-engraver.cc @@ -48,7 +48,7 @@ Ottava_spanner_engraver::process_music () span_ = 0; if (gh_string_p (ott)) { - span_ = new Spanner (get_property ("OttavaBracket")); + span_ = make_spanner ("OttavaBracket"); span_->set_grob_property ("text", ott); announce_grob (span_, SCM_EOL); diff --git a/lily/percent-repeat-engraver.cc b/lily/percent-repeat-engraver.cc index 517ba46561..837c82ce18 100644 --- a/lily/percent-repeat-engraver.cc +++ b/lily/percent-repeat-engraver.cc @@ -132,14 +132,14 @@ Percent_repeat_engraver::process_music () { finished_perc_ = perc_; typeset_perc (); - perc_ = new Spanner (get_property ("PercentRepeat")); + perc_ = make_spanner ("PercentRepeat"); SCM col =get_property ("currentCommandColumn"); perc_->set_bound (LEFT, unsmob_grob (col)); announce_grob(perc_, repeat_->self_scm()); } else if (repeat_sign_type_ == DOUBLE_MEASURE) { - double_percent_ = new Item (get_property ("DoublePercentRepeat")); + double_percent_ = make_item ("DoublePercentRepeat"); announce_grob(double_percent_, repeat_->self_scm()); /* diff --git a/lily/phrasing-slur-engraver.cc b/lily/phrasing-slur-engraver.cc index 5103df8203..03f13e6dbb 100644 --- a/lily/phrasing-slur-engraver.cc +++ b/lily/phrasing-slur-engraver.cc @@ -146,7 +146,7 @@ Phrasing_slur_engraver::process_acknowledged_grobs () { // push a new phrasing_slur onto stack. // (use temp. array to wait for all phrasing_slur STOPs) - Grob* phrasing_slur = new Spanner (get_property ("PhrasingSlur")); + Grob* phrasing_slur = make_spanner ("PhrasingSlur"); Slur::set_interface (phrasing_slur); // can't remove. diff --git a/lily/piano-pedal-engraver.cc b/lily/piano-pedal-engraver.cc index 0a9ddd1602..8ab2422326 100644 --- a/lily/piano-pedal-engraver.cc +++ b/lily/piano-pedal-engraver.cc @@ -198,7 +198,7 @@ Piano_pedal_engraver::process_music () if (!p->line_spanner_) { String name = String (p->name_) + "PedalLineSpanner"; - p->line_spanner_ = new Spanner (get_property (name.to_str0 ())); + p->line_spanner_ = make_spanner (name.to_str0 ()); Music * rq = (p->event_drul_[START] ? p->event_drul_[START] : p->event_drul_[STOP]); announce_grob (p->line_spanner_, rq->self_scm ()); @@ -309,8 +309,7 @@ Piano_pedal_engraver::create_text_grobs (Pedal_info *p, bool mixed) { String propname = String (p->name_) + "Pedal"; - SCM b = get_property (propname.to_str0 ()); - p->item_ = new Item (b); + p->item_ = make_item (propname.to_str0 ()); p->item_->set_grob_property ("text", s); Axis_group_interface::add_element (p->line_spanner_, p->item_); @@ -374,7 +373,7 @@ Piano_pedal_engraver::create_bracket_grobs (Pedal_info *p, bool mixed) p->start_ev_ = p->event_drul_[START]; p->current_bracket_ev_ = p->event_drul_[START]; - p->bracket_ = new Spanner (get_property ("PianoPedalBracket")); + p->bracket_ = make_spanner ("PianoPedalBracket"); /* Set properties so that the molecule-creating function will diff --git a/lily/rest-collision-engraver.cc b/lily/rest-collision-engraver.cc index 5ae86b5413..9f0428f3b8 100644 --- a/lily/rest-collision-engraver.cc +++ b/lily/rest-collision-engraver.cc @@ -38,7 +38,7 @@ Rest_collision_engraver::process_acknowledged_grobs () if (rest_collision_ || note_columns_.size () < 2) return; - rest_collision_ = new Item (get_property ("RestCollision")); + rest_collision_ = make_item ("RestCollision"); announce_grob(rest_collision_, SCM_EOL); for (int i=0; i< note_columns_.size (); i++) diff --git a/lily/rest-engraver.cc b/lily/rest-engraver.cc index 169664db57..b3d3d9dbec 100644 --- a/lily/rest-engraver.cc +++ b/lily/rest-engraver.cc @@ -65,7 +65,7 @@ Rest_engraver::process_music () { if (rest_req_ && !rest_) { - rest_ = new Item (get_property ("Rest")); + rest_ = make_item ("Rest"); int durlog = unsmob_duration (rest_req_->get_mus_property ("duration"))-> duration_log (); @@ -76,7 +76,7 @@ Rest_engraver::process_music () if (dots) { - dot_ = new Item (get_property ("Dots")); + dot_ = make_item ("Dots"); Rhythmic_head::set_dots (rest_, dot_); dot_->set_parent (rest_, Y_AXIS); diff --git a/lily/rhythmic-column-engraver.cc b/lily/rhythmic-column-engraver.cc index 324d37ebc1..99382d8b57 100644 --- a/lily/rhythmic-column-engraver.cc +++ b/lily/rhythmic-column-engraver.cc @@ -83,10 +83,10 @@ Rhythmic_column_engraver::process_acknowledged_grobs () { if (!note_column_) { - note_column_ = new Item (get_property ("NoteColumn")); + note_column_ = make_item ("NoteColumn"); announce_grob(note_column_, rheads_[0]->self_scm ()); - spacing_ = new Item (get_property ("NoteSpacing")); + spacing_ = make_item ("NoteSpacing"); spacing_->set_grob_property ("left-items", gh_cons (note_column_->self_scm (), SCM_EOL)); diff --git a/lily/script-column-engraver.cc b/lily/script-column-engraver.cc index a35b401815..d83e9b2d10 100644 --- a/lily/script-column-engraver.cc +++ b/lily/script-column-engraver.cc @@ -64,7 +64,7 @@ Script_column_engraver::process_acknowledged_grobs () { if (!scol_ && scripts_.size () > 1) { - scol_ = new Item (get_property ("ScriptColumn")); + scol_ = make_item ("ScriptColumn"); announce_grob(scol_, SCM_EOL); } diff --git a/lily/script-engraver.cc b/lily/script-engraver.cc index bfce6c5a1f..ab53d64710 100644 --- a/lily/script-engraver.cc +++ b/lily/script-engraver.cc @@ -70,8 +70,9 @@ copy_property (Grob * g , SCM sym, SCM alist) little space by tacking the props onto the Script grob (i.e. make ScriptStaccato , ScriptMarcato, etc. ) */ -Grob *make_script_from_event (SCM * descr, Translator_group*tg, Music * event, - int index) +void make_script_from_event (Grob *p, + SCM * descr, Translator_group*tg, Music * event, + int index) { SCM alist = tg->get_property ("scriptDefinitions"); SCM art_type= event->get_mus_property ("articulation-type"); @@ -82,12 +83,12 @@ Grob *make_script_from_event (SCM * descr, Translator_group*tg, Music * event, event->origin ()->warning (_("Don't know how to interpret articulation:")); event->origin ()->warning (_("Scheme encoding: ")); scm_write (art_type, scm_current_error_port ()); - return 0 ; + return ; } art = gh_cdr (art); - Grob *p =new Item (tg->get_property ("Script")); + *descr = art; SCM force_dir = event->get_mus_property ("direction"); @@ -113,7 +114,6 @@ Grob *make_script_from_event (SCM * descr, Translator_group*tg, Music * event, Side_position_interface::set_axis (p, Y_AXIS); p->set_grob_property ("script-priority", gh_int2scm (prio)); - return p; } void @@ -123,7 +123,9 @@ Script_engraver::process_music () { Music* l=scripts_[i].event_; - Grob * p = make_script_from_event (&scripts_[i].description_, daddy_trans_, l, i); + Grob * p = make_item ("Script"); + + make_script_from_event (p, &scripts_[i].description_, daddy_trans_, l, i); scripts_[i].script_ = p; if (p) diff --git a/lily/separating-line-group-engraver.cc b/lily/separating-line-group-engraver.cc index cd6b5ca868..f5b909cefe 100644 --- a/lily/separating-line-group-engraver.cc +++ b/lily/separating-line-group-engraver.cc @@ -74,7 +74,7 @@ Separating_line_group_engraver::process_music () if (!sep_span_) { - sep_span_ = new Spanner (get_property ("SeparatingGroupSpanner")); + sep_span_ = make_spanner ("SeparatingGroupSpanner"); announce_grob(sep_span_, SCM_EOL); sep_span_->set_bound (LEFT, unsmob_grob (get_property ("currentCommandColumn"))); @@ -131,7 +131,7 @@ Separating_line_group_engraver::acknowledge_grob (Grob_info i) if (!p_ref_) { - p_ref_ = new Item (get_property ("SeparationItem")); + p_ref_ = make_item ("SeparationItem"); if (ib) { @@ -142,7 +142,7 @@ Separating_line_group_engraver::acknowledge_grob (Grob_info i) if (p_ref_ == break_item_) { - Item *it = new Item (get_property ("StaffSpacing")); + Item *it = make_item ("StaffSpacing"); current_spacings_.staff_spacing_ = it; it->set_grob_property ("left-items", gh_cons (break_item_->self_scm (), SCM_EOL)); diff --git a/lily/slash-repeat-engraver.cc b/lily/slash-repeat-engraver.cc index b7595056e1..242659b234 100644 --- a/lily/slash-repeat-engraver.cc +++ b/lily/slash-repeat-engraver.cc @@ -109,7 +109,7 @@ Slash_repeat_engraver::process_music () { if (repeat_ && now_mom () == next_moment_) { - beat_slash_ = new Item (get_property ("RepeatSlash")); + beat_slash_ = make_item ("RepeatSlash"); announce_grob(beat_slash_, repeat_->self_scm()); next_moment_ = next_moment_ + body_length_; diff --git a/lily/slur-engraver.cc b/lily/slur-engraver.cc index e21c398416..33b5a43417 100644 --- a/lily/slur-engraver.cc +++ b/lily/slur-engraver.cc @@ -163,7 +163,7 @@ Slur_engraver::process_music () { // push a new slur onto stack. // (use temp. array to wait for all slur STOPs) - Grob* slur = new Spanner (get_property ("Slur")); + Grob* slur = make_spanner ("Slur"); Slur::set_interface (slur); // cannot remove yet! diff --git a/lily/spacing-engraver.cc b/lily/spacing-engraver.cc index 1589ab9d3b..377d88bbdf 100644 --- a/lily/spacing-engraver.cc +++ b/lily/spacing-engraver.cc @@ -78,7 +78,7 @@ Spacing_engraver::process_music () { if (!spacing_) { - spacing_ =new Spanner (get_property ("SpacingSpanner")); + spacing_ =make_spanner ("SpacingSpanner"); spacing_->set_bound (LEFT, unsmob_grob (get_property ("currentCommandColumn"))); announce_grob(spacing_, SCM_EOL); } diff --git a/lily/span-arpeggio-engraver.cc b/lily/span-arpeggio-engraver.cc index 58b7243ffc..121b50d97c 100644 --- a/lily/span-arpeggio-engraver.cc +++ b/lily/span-arpeggio-engraver.cc @@ -65,7 +65,7 @@ Span_arpeggio_engraver::process_acknowledged_grobs () if (!span_arpeggio_ && arpeggios_.size () > 1 && to_boolean (get_property ("connectArpeggios"))) { - span_arpeggio_ = new Item (get_property ("Arpeggio")); + span_arpeggio_ = make_item ("Arpeggio"); announce_grob(span_arpeggio_, SCM_EOL); } } diff --git a/lily/span-bar-engraver.cc b/lily/span-bar-engraver.cc index 342e8801cb..846bbcb610 100644 --- a/lily/span-bar-engraver.cc +++ b/lily/span-bar-engraver.cc @@ -56,7 +56,7 @@ Span_bar_engraver::acknowledge_grob (Grob_info i) if (bars_.size () >= 2 && !spanbar_) { - spanbar_ = new Item (get_property ("SpanBar")); + spanbar_ = make_item ("SpanBar"); spanbar_->set_parent (bars_[0], X_AXIS); diff --git a/lily/staff-symbol-engraver.cc b/lily/staff-symbol-engraver.cc index 71c9c8ca7d..bdefdd9cdb 100644 --- a/lily/staff-symbol-engraver.cc +++ b/lily/staff-symbol-engraver.cc @@ -45,7 +45,7 @@ Staff_symbol_engraver::process_music () { if (!span_) { - span_ = new Spanner (get_property ("StaffSymbol")); + span_ = make_spanner ("StaffSymbol"); span_->set_bound (LEFT, unsmob_grob (get_property ("currentCommandColumn"))); diff --git a/lily/stanza-number-engraver.cc b/lily/stanza-number-engraver.cc index 1977462635..07fa421aae 100644 --- a/lily/stanza-number-engraver.cc +++ b/lily/stanza-number-engraver.cc @@ -49,7 +49,7 @@ Stanza_number_engraver::process_music () { last_stanza_ = stanza; - text_ = new Item (get_property ("StanzaNumber")); + text_ = make_item ("StanzaNumber"); text_->set_grob_property ("text", stanza); announce_grob (text_, SCM_EOL); } diff --git a/lily/stem-engraver.cc b/lily/stem-engraver.cc index 4c7946af05..f6330fe102 100644 --- a/lily/stem-engraver.cc +++ b/lily/stem-engraver.cc @@ -64,7 +64,7 @@ Stem_engraver::acknowledge_grob (Grob_info i) if (!stem_) { - stem_ = new Item (get_property ("Stem")); + stem_ = make_item ("Stem"); stem_->set_grob_property ("duration-log", gh_int2scm (duration_log)); @@ -99,7 +99,7 @@ Stem_engraver::acknowledge_grob (Grob_info i) if (tremolo_flags) { - tremolo_ = new Item (get_property ("StemTremolo")); + tremolo_ = make_item ("StemTremolo"); announce_grob(tremolo_, tremolo_ev_->self_scm()); /* diff --git a/lily/system-start-delimiter-engraver.cc b/lily/system-start-delimiter-engraver.cc index df94b83400..049bcb1d85 100644 --- a/lily/system-start-delimiter-engraver.cc +++ b/lily/system-start-delimiter-engraver.cc @@ -73,7 +73,7 @@ System_start_delimiter_engraver::process_music () if (!delim_) { SCM delim_name =get_property ("systemStartDelimiter"); - delim_ = new Spanner (internal_get_property (delim_name)); + delim_ = internal_make_spanner (internal_get_property (delim_name)); delim_->set_bound (LEFT, unsmob_grob (get_property ("currentCommandColumn"))); announce_grob (delim_, SCM_EOL); diff --git a/lily/tab-note-heads-engraver.cc b/lily/tab-note-heads-engraver.cc index ffed86e25d..cfab374043 100644 --- a/lily/tab-note-heads-engraver.cc +++ b/lily/tab-note-heads-engraver.cc @@ -73,7 +73,7 @@ Tab_note_heads_engraver::process_music () int number_of_strings = ((int) gh_length(stringTunings)); bool high_string_one = to_boolean(get_property ("highStringOne")); - Item * note = new Item (get_property ("TabNoteHead")); + Item * note = make_item ("TabNoteHead"); Music * event = note_events_[i]; @@ -115,7 +115,7 @@ Tab_note_heads_engraver::process_music () if (dur.dot_count ()) { - Item * d = new Item (get_property ("Dots")); + Item * d = make_item ("Dots"); Rhythmic_head::set_dots (note, d); if (dur.dot_count () diff --git a/lily/text-spanner-engraver.cc b/lily/text-spanner-engraver.cc index 52893847f8..a683befb81 100644 --- a/lily/text-spanner-engraver.cc +++ b/lily/text-spanner-engraver.cc @@ -89,7 +89,7 @@ Text_spanner_engraver::process_music () else { current_req_ = req_drul_[START]; - span_ = new Spanner (get_property ("TextSpanner")); + span_ = make_spanner ("TextSpanner"); Side_position_interface::set_axis (span_, Y_AXIS); diff --git a/lily/tie-engraver.cc b/lily/tie-engraver.cc index b3da14d39a..a73e90bf50 100644 --- a/lily/tie-engraver.cc +++ b/lily/tie-engraver.cc @@ -106,7 +106,7 @@ Tie_engraver::acknowledge_grob (Grob_info i) && gh_equal_p (right_mus->get_mus_property ("pitch"), left_mus->get_mus_property ("pitch"))) { - Grob * p = new Spanner (get_property ("Tie")); + Grob * p = make_spanner ("Tie"); Tie::set_interface (p); // cannot remove yet! Tie::set_head (p, LEFT, th); @@ -119,7 +119,7 @@ Tie_engraver::acknowledge_grob (Grob_info i) if (ties_.size () && ! tie_column_) { - tie_column_ = new Spanner (get_property ("TieColumn")); + tie_column_ = make_spanner ("TieColumn"); announce_grob(tie_column_, SCM_EOL); } diff --git a/lily/time-signature-engraver.cc b/lily/time-signature-engraver.cc index ff335a0f97..f3ac6ae683 100644 --- a/lily/time-signature-engraver.cc +++ b/lily/time-signature-engraver.cc @@ -62,7 +62,7 @@ Time_signature_engraver::process_music () last_time_fraction_ = fr; - time_signature_ = new Item (get_property ("TimeSignature")); + time_signature_ = make_item ("TimeSignature"); time_signature_->set_grob_property ("fraction",fr); if (time_signature_) diff --git a/lily/tuplet-engraver.cc b/lily/tuplet-engraver.cc index 11fc33d06d..ab26db822e 100644 --- a/lily/tuplet-engraver.cc +++ b/lily/tuplet-engraver.cc @@ -74,7 +74,7 @@ Tuplet_engraver::process_acknowledged_grobs () if (i < started_spanners_.size () && started_spanners_[i]) continue; - Spanner* glep = new Spanner (get_property ("TupletBracket")); + Spanner* glep = make_spanner ("TupletBracket"); if (i >= started_spanners_.size ()) started_spanners_.push (glep); diff --git a/lily/vaticana-ligature-engraver.cc b/lily/vaticana-ligature-engraver.cc index 896cd42362..8839658e8d 100644 --- a/lily/vaticana-ligature-engraver.cc +++ b/lily/vaticana-ligature-engraver.cc @@ -48,7 +48,7 @@ Vaticana_ligature_engraver::Vaticana_ligature_engraver () Spanner * Vaticana_ligature_engraver::create_ligature_spanner () { - return new Spanner (get_property ("VaticanaLigature")); + return make_spanner ("VaticanaLigature"); } bool diff --git a/lily/vertical-align-engraver.cc b/lily/vertical-align-engraver.cc index 9248973f0b..e8929f23fd 100644 --- a/lily/vertical-align-engraver.cc +++ b/lily/vertical-align-engraver.cc @@ -35,7 +35,7 @@ Vertical_align_engraver::process_music () { if (!valign_) { - valign_ =new Spanner (get_property ("VerticalAlignment")); + valign_ =make_spanner ("VerticalAlignment"); valign_->set_bound (LEFT,unsmob_grob (get_property ("currentCommandColumn"))); announce_grob(valign_ , SCM_EOL); } diff --git a/lily/volta-engraver.cc b/lily/volta-engraver.cc index 195a258c58..d374278b57 100644 --- a/lily/volta-engraver.cc +++ b/lily/volta-engraver.cc @@ -165,7 +165,7 @@ Volta_engraver::process_music () { started_mom_ = now_mom () ; - volta_span_ = new Spanner (get_property ("VoltaBracket")); + volta_span_ = make_spanner ("VoltaBracket"); announce_grob (volta_span_, SCM_EOL); volta_span_->set_grob_property ("text", start_string_); diff --git a/mf/feta-din4.mf b/mf/feta-din4.mf deleted file mode 100644 index 46eeacfeff..0000000000 --- a/mf/feta-din4.mf +++ /dev/null @@ -1,9 +0,0 @@ -% feta-din4.mf -% part of LilyPond's pretty-but-neat music font - -design_size:=3.82; % 5.5/1.2/1.2 din6 = 5.5pt - -input feta-din.mf; - -end. - diff --git a/mf/feta-din5.mf b/mf/feta-din5.mf deleted file mode 100644 index 1584dc1ebe..0000000000 --- a/mf/feta-din5.mf +++ /dev/null @@ -1,9 +0,0 @@ -% feta-din5.mf -% part of LilyPond's pretty-but-neat music font - -design_size:=4.58; % 5.5/1.2 : din6 = 5.5pt - -input feta-din.mf; - -end. - diff --git a/mf/feta-din7.mf b/mf/feta-din7.mf deleted file mode 100644 index 81aeffe2f2..0000000000 --- a/mf/feta-din7.mf +++ /dev/null @@ -1,9 +0,0 @@ -% feta-din7.mf -% part of LilyPond's pretty-but-neat music font - -design_size:=6.5; % feta13 = 13pt - -input feta-din.mf; - -end. - diff --git a/mf/feta-din9.mf b/mf/feta-din9.mf deleted file mode 100644 index 69bc57513f..0000000000 --- a/mf/feta-din9.mf +++ /dev/null @@ -1,7 +0,0 @@ -% feta-din9.mf -% part of LilyPond's pretty-but-neat music font - -design_size:=9; % feta13 = 13pt - -input feta-din.mf; - diff --git a/scm/font.scm b/scm/font.scm index e83b8894a1..32db4fe578 100644 --- a/scm/font.scm +++ b/scm/font.scm @@ -85,10 +85,11 @@ or (#(medium caps roman) . (10.0 . #((10.0 . "cmcsc10")))) - ;; this is a little pointless, since feta-din scales linearly (#(* * dynamic) . - (14.0 . #((8.0 . "feta-din10") + (14.0 . #((6.0 . "feta-din6" + 8.0 . "feta-din8") (10.0 . "feta-din10") + (12.0 . "feta-din10") (14.0 . "feta-din14") (17.0 . "feta-din17") ))) -- 2.39.5