]> git.donarmstrong.com Git - lilypond.git/commitdiff
* lily/engraver.cc (internal_make_item): centralize item/spanner
authorhanwen <hanwen>
Sun, 25 Jan 2004 16:26:20 +0000 (16:26 +0000)
committerhanwen <hanwen>
Sun, 25 Jan 2004 16:26:20 +0000 (16:26 +0000)
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)

76 files changed:
ChangeLog
VERSION
lily/a2-engraver.cc
lily/accidental-engraver.cc
lily/ambitus-engraver.cc
lily/arpeggio-engraver.cc
lily/auto-beam-engraver.cc
lily/axis-group-engraver.cc
lily/bar-engraver.cc
lily/bar-number-engraver.cc
lily/beam-engraver.cc
lily/break-align-engraver.cc
lily/breathing-sign-engraver.cc
lily/chord-name-engraver.cc
lily/chord-tremolo-engraver.cc
lily/clef-engraver.cc
lily/cluster-engraver.cc
lily/collision-engraver.cc
lily/completion-note-heads-engraver.cc
lily/custos-engraver.cc
lily/dot-column-engraver.cc
lily/dynamic-engraver.cc
lily/engraver.cc
lily/extender-engraver.cc
lily/figured-bass-engraver.cc
lily/fingering-engraver.cc
lily/glissando-engraver.cc
lily/horizontal-bracket-engraver.cc
lily/hyphen-engraver.cc
lily/include/engraver.hh
lily/instrument-name-engraver.cc
lily/key-engraver.cc
lily/ligature-bracket-engraver.cc
lily/lyric-engraver.cc
lily/mark-engraver.cc
lily/measure-grouping-engraver.cc
lily/mensural-ligature-engraver.cc
lily/metronome-engraver.cc
lily/multi-measure-rest-engraver.cc
lily/new-accidental-engraver.cc
lily/new-fingering-engraver.cc
lily/note-head-line-engraver.cc
lily/note-heads-engraver.cc
lily/note-name-engraver.cc
lily/ottava-engraver.cc
lily/percent-repeat-engraver.cc
lily/phrasing-slur-engraver.cc
lily/piano-pedal-engraver.cc
lily/rest-collision-engraver.cc
lily/rest-engraver.cc
lily/rhythmic-column-engraver.cc
lily/script-column-engraver.cc
lily/script-engraver.cc
lily/separating-line-group-engraver.cc
lily/slash-repeat-engraver.cc
lily/slur-engraver.cc
lily/spacing-engraver.cc
lily/span-arpeggio-engraver.cc
lily/span-bar-engraver.cc
lily/staff-symbol-engraver.cc
lily/stanza-number-engraver.cc
lily/stem-engraver.cc
lily/system-start-delimiter-engraver.cc
lily/tab-note-heads-engraver.cc
lily/text-spanner-engraver.cc
lily/tie-engraver.cc
lily/time-signature-engraver.cc
lily/tuplet-engraver.cc
lily/vaticana-ligature-engraver.cc
lily/vertical-align-engraver.cc
lily/volta-engraver.cc
mf/feta-din4.mf [deleted file]
mf/feta-din5.mf [deleted file]
mf/feta-din7.mf [deleted file]
mf/feta-din9.mf [deleted file]
scm/font.scm

index 637fffa90a4119ff2e306775d55d61dd30f309c7..5815c254e26b319b42bcb0cbfb44ee74d8bd95e2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,14 @@
 2004-01-25  Han-Wen Nienhuys   <hanwen@xs4all.nl>
 
+       * 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  <janneke@gnu.org>
 
diff --git a/VERSION b/VERSION
index d9541e12a813a67cc94211c11f9901c548d8d3d9..e2f0006468d04dceef6d8516782a493dbbb81d21 100644 (file)
--- 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
 
index 9360df3f679e566b251e2e4da43706452d78f9b5..703c222837dc03e2a33084df6fa863f8c1de7e5d 100644 (file)
@@ -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);
       
index c03d7fb35bd1b6dea2a31360473019449ecb701b..3548a84ee6a58eadcd2959485e22bc89dbec563b 100644 (file)
@@ -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());
                }
              
index 563d06e8dcbeb60770d0bc4d4b00dabc06e29eb0..1982beeff142b8de84cae73a19c3fef098b2c350 100644 (file)
@@ -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);
 }
 
index de5eb15e1c3bb559dab68e1c4ac88b40950b6560..405b45f060f1244e071e982c88011fc2f1bc1d98 100644 (file)
@@ -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());
     }
 }
index 42e3935d8de364475545a473d8ad6fff3931cadb..16bfd35141f5fa83e2c265b51f0739827c78c03d 100644 (file)
@@ -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++)
     {
       /*
index 8f03b706a78b35e620be2ae500f5d6a055b01b21..0997081c8e23e6b5a41222c687bf4c01a6cda12a 100644 (file)
@@ -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;
 }
index a23eb3402c2d7b77818ef0aa6e99f75488844c43..34a9d773d5ae13c44a4b9bec3d1c3919fb292526 100644 (file)
@@ -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);
index 5b6a134947db86a422ef1eb4956248714044c3e1..a2cdfbcb49032a339536ffabd9c2ee6ea1082181 100644 (file)
@@ -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);
index 7b3c77e3759001a3d303f37ad6de5b3896aec57c..599bced280e3f7c84ac28c886aef4a58228933c5 100644 (file)
@@ -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);
 
index a797a291550c3997709c19fc46184dec2d7d9e5e..5c13111e32a1cc1e4308ef78805eee63544bd891 100644 (file)
@@ -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);
index 7d49c31d731667c475f90e0ac2eaadfc7d1b8f34..52cda539fdf94e658d45cac9cb5f14c3f3083f75 100644 (file)
@@ -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;
index 633e1b3e118906f6f84e07eeb608f5eab1827d6e..bdca1d10b13f732ab0951f2b5cc5e8c5851f027f 100644 (file)
@@ -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");
index a67946fe7b236e813ea9e29f7d5349300ad6b7f9..d8dad59dcd97ce7a7f12b6aad3f128693fcefee2 100644 (file)
@@ -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_));
index 6ffa8a9fe7f937667ef4fc5e31032fed1ab32ad7..61845036438eac948807439e01ddac8357f387af 100644 (file)
@@ -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);
index e0cdf1b36adda32ed0616c12a3752574f8894b9a..a58a5f57b1a258a5bb09b94723283c9392fcf3a4 100644 (file)
@@ -104,7 +104,7 @@ Cluster_spanner_engraver::process_music ()
          pmin = pmin <? p;
        }
       
-      beacon_ = new Item (get_property ("ClusterSpannerBeacon"));
+      beacon_ = make_item ("ClusterSpannerBeacon");
       beacon_->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 ());
     }
   
index ede88e3af2e14fefef7283a57bc35573edefbd22..d20cf54e8a154be58e7e7d7a45f165e47f210cf8 100644 (file)
@@ -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);
     }
   
index 641bb2358448f3f6459062b4282fd44bd7f262ae..758e1e96b0f32cc0aa5ad3434e7deb624d4752fa 100644 (file)
@@ -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]);
index e344af671cde7baee2d9b2ee793728d5cb64154a..edc9b330b3ae37050d3d46881875502107d64e99 100644 (file)
@@ -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);
index 55956b3eb44659aa0b8c470709df65f3aca4fefa..2cdc4a0f7f68b84b5d3331691fcebced1ff5b243 100644 (file)
@@ -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);
        }
 
index 478339ea7c118fd61a9bbc81f4fb06db4332805b..79377e0176ae57ad60d9b3c5f869cfef4efcc0d1 100644 (file)
@@ -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);
index 65f161a9ce74ed7f3fbaa27c5be4ef0ad9195cda..57c4298c394f81ff89ec28294badc32c2c9defe2 100644 (file)
@@ -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()
 {
 }
index 407442c96822a1f4cd96482177de36db6886e86d..eaaa7d208b3dc9a97a1426cd38c05695fcc53e5e 100644 (file)
@@ -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());
     }
 }
index c792ac795c7abd8a695ed02e44706028c18f3991..cd4fe0c22f39175bf7ffa45fa133c0515c7f59a9 100644 (file)
@@ -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
        }
index 07df23d08b41b3efb76c422a6b638dd60c52f022..5430c213a17a01366be473149b3e06a2ed8e68f7 100644 (file)
@@ -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);
 
index 7976601b7268a81bce566a8b4d06a75cbc66cd45..34a0f07ae8466a111e29248262eaef3f86b34ea1 100644 (file)
@@ -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 ());
     }
 }
index e86c7553bb94656b255eeccb2b74c25524c96230..a671789143248de42b786b0bc3ce44e84547baed 100644 (file)
@@ -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++)
index 8282baa5daf280ae3ced551ccacaeaec0d710dd0..8e14ca48e366ee4bf659c604e80744dece21c122 100644 (file)
@@ -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());
index 7c59e743f8c1b78883b7e982765d67f567f1bfbe..9ca18d94a598ad5d0429c1b9b2f44b9e3b7215cb 100644 (file)
@@ -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
 
index 254b4e71191470e98d527e4810948fcec2c5eda0..faa4b39dbcdd5de04c3d4e2ebbb8d168e8fb729c 100644 (file)
@@ -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);
index ec5b4054b2214e7ac6833820dd52438ed9bca16c..33f119f47c8d97105744310a3ce2dd07dcb0cfdb 100644 (file)
@@ -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"));
index 72310f39f06a668cd31f35903dc662b9df1a1246..5b8d9d558355d6597caf7abe4ccdd31a90657cd6 100644 (file)
@@ -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
index 850326cb57d7cfd8b5a10522bb926db916eeb12f..6b63b428b6fb510e0150c1f9be4efe0ee073c8d2 100644 (file)
@@ -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());
index c13d3e60af5fc617a998505e7ba545bc0a632cf9..471bd046fb806e6dc827d28bcc8ea85643814727 100644 (file)
@@ -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());
 }
 
index 834a7af2d9a7cbd130b85dfc152093f9e5a9d9ff..ea40a4e582971603d271264448b13fc7c1ad40b2 100644 (file)
@@ -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);
 
index cd08766d5687d2491e6cb8d1a872b0d74f9c0c60..4f915714dab734b3f090233c1cfd201cfb723fe6 100644 (file)
@@ -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");
 }
 
 /*
index 39675ba541974ce76e0ce368b2dd3cec75aa71fd..3fbaf3b48c84e2d23824304756148affc00bff8e 100644 (file)
@@ -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());
 }
index 644c93d3ef804b3aefdeb78972d7e0324ddbb017..097f6da63a5f27318091a3b205886b92a2f1849d 100644 (file)
@@ -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());
        }
index 7395aeda343a07c965d90575e380cf7240c5a78e..2f48597c4e8ecd8a0edf3760d6330681f63bcb83 100644 (file)
@@ -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());
            }
          
index 509be0064779b58b4c14103c0d093c285a71adf0..47c878daf388179447833cbfef06a8e8c7cc114f 100644 (file)
@@ -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);
index 12578a2b5cadde600a41bd4f9b18bf4fafb50d23..7c301a76505c9a25f0fbabeb46929b0d33d6e48a 100644 (file)
@@ -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_);
index 79005857639cb9203a72311380c415cbb96bc4eb..2927d4dc54c5de6341d1c4b9c08c81c05c5a935d 100644 (file)
@@ -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 ()
index 25031239a8b3859cc1be4e0e8f55cbcdd4cdec30..cd81cde651d4968affefda27ba02228342e9fd99 100644 (file)
@@ -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);
index b18cf8e54e36f9b6b9782d71a033714a5a473fe3..df22bbc4b07ae00b827ad748c224ac2c660fc18b 100644 (file)
@@ -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);
 
index 517ba465611af3ba8536b89e8a1c3284d5c4d710..837c82ce189129a8f31a04a8a433666e5eb197b5 100644 (file)
@@ -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());
 
       /*
index 5103df8203e80913e8205b525f1b12be53013b44..03f13e6dbbed23627143160ebef5d5be7b7e811c 100644 (file)
@@ -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.
 
 
index 0a9ddd16028bdae38cb88829364f8505ae92253f..8ab24223261fc643c7f60031170ee62ac3b681b1 100644 (file)
@@ -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
index 5ae86b5413c81149610b9d57ba1a83e4772577b0..9f0428f3b8ecea16edb7d82ebe332409840c4c15 100644 (file)
@@ -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++)
index 169664db574d730eb92b09eea58c2005940f62de..b3d3d9dbece5860456e6e29d5a650997339268e8 100644 (file)
@@ -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);
index 324d37ebc1728b876d4a1ad7ad90aa1dfc44e7f5..99382d8b57ea8fb90401fdc43ebdae5b2757d9d9 100644 (file)
@@ -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));
 
 
index a35b401815167ddc22ebc7bb42b62e316ff11535..d83e9b2d10ea9ee2d63be408a340033c159bf6a7 100644 (file)
@@ -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);
     }
 
index bfce6c5a1faeaecf8ef48318fc4f1c62802f6505..ab53d64710d1be371841a38e3e85d34b7653060f 100644 (file)
@@ -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)
index cd6b5ca86843477d996f3f0baa4cc3979caebe92..f5b909cefee1ac81a9056eb77b59159264843453 100644 (file)
@@ -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));
          
index b7595056e109a7c68febb78a311d6207c57acfb6..242659b2344b7eca3eb9e42d79962d31fecd064d 100644 (file)
@@ -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_;
 
index e21c39841602dbe5a10763a22a7ae14a452feb98..33b5a43417bc61b73481dbc2d238b9e5a7da9472 100644 (file)
@@ -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!
 
 
index 1589ab9d3bed6966628709c64b676fe462451327..377d88bbdf115d3bb5f5c1eda27a3e6a6e69b120 100644 (file)
@@ -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);
     }
index 58b7243ffc404e5bbfae989787f0f159b80e0182..121b50d97c4a6a02699818a2d0a05313d266dc6d 100644 (file)
@@ -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);      
     }
 }
index 342e8801cbfa640c929d60dddf176a0ac59ca760..846bbcb610ea49e7278c44c81c1a61866db6ab3c 100644 (file)
@@ -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);
 
index 71c9c8ca7de7ba5d2679eb4b47b1db1ba2f5989a..bdefdd9cdb72059fb7dcbcc36ab65b9a1110f4b3 100644 (file)
@@ -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")));
 
index 1977462635525155233e57fb00d357c3101f45e2..07fa421aae7e968c6a99521c88a88c8b0d6d0619 100644 (file)
@@ -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);
     }
index 4c7946af055b46e5e9bfdc18cbd0ec0957db00cb..f6330fe102ae37e61b66fec4f9305433cdf57c53 100644 (file)
@@ -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());
 
                  /*
index df94b83400433a380a08f41b2177ca8749fc008a..049bcb1d855a7e4db1992c249571baada4f9d56a 100644 (file)
@@ -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);
index ffed86e25d1a695736e10398d7298653030fe470..cfab374043b78b05173c781e6e082cf65ad28e33 100644 (file)
@@ -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 ()
index 52893847f8a2d0027112ae1941094138b3b58a34..a683befb81ac793d5878198f2d47728424d9d4be 100644 (file)
@@ -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);
index b3da14d39a5314013d540e3de02d0e9715b14231..a73e90bf50d99d5a27fa61b1585377a0c8e2cf31 100644 (file)
@@ -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);
        }
 
index ff335a0f974827ffc329fcba4eede009a45a81d3..f3ac6ae6830809e5907aa43c6509e7d1779a7c38 100644 (file)
@@ -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_)
index 11fc33d06d4724a5863e6dd8f8ead0ceb2e8b43b..ab26db822e570aae7ede27ccdfd32150a00649d2 100644 (file)
@@ -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);
index 896cd423629bcf4d167dec9383d1acb274ca1616..8839658e8d73873e7740dbdc51eb5fd1744fcd0e 100644 (file)
@@ -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
index 9248973f0bf8c7d4aa356bbe088005be25ec3571..e8929f23fde821dceadab2327940f2e4ab981599 100644 (file)
@@ -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);
     }
index 195a258c580dd8591654d1bfd464db890f293e42..d374278b57e3e073ff26de9efae6d5cd4505a848 100644 (file)
@@ -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 (file)
index 46eeacf..0000000
+++ /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 (file)
index 1584dc1..0000000
+++ /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 (file)
index 81aeffe..0000000
+++ /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 (file)
index 69bc575..0000000
+++ /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;
-
index e83b8894a18e5ceffce752c5894c82e8c5f3403f..32db4fe578b807de1bd5cc93f000dd03a6cb2a55 100644 (file)
@@ -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")
                )))