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)
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.
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>
MAJOR_VERSION=2
MINOR_VERSION=1
PATCH_LEVEL=14
-MY_PATCH_LEVEL=
+MY_PATCH_LEVEL=hwn1
|| (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);
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());
}
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);
}
{
if (arpeggio_req_)
{
- arpeggio_ = new Item (get_property ("Arpeggio"));
+ arpeggio_ = make_item ("Arpeggio");
announce_grob(arpeggio_, arpeggio_req_->self_scm());
}
}
return 0;
}
- Spanner* beam = new Spanner (beam_settings_);
+ Spanner* beam = internal_make_spanner (beam_settings_);
for (int i = 0; i < stems_->size (); i++)
{
/*
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);
}
Spanner*
-Axis_group_engraver::get_spanner () const
+Axis_group_engraver::get_spanner ()
{
- return new Spanner (get_property ("VerticalAxisGroup"));
+ return make_spanner ("VerticalAxisGroup");
}
/*
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:
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;
}
{
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);
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);
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);
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);
}
}
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);
{
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;
*/
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");
{
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");
{
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_));
{
if (!clef_)
{
- Item *c= new Item (get_property ("Clef"));
+ Item *c= make_item ("Clef");
announce_grob(c, SCM_EOL);
clef_ = c;
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);
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)));
if (beacon_ && !spanner_)
{
- spanner_ = new Spanner (get_property ("ClusterSpanner"));
+ spanner_ = make_spanner ("ClusterSpanner");
announce_grob (spanner_, cluster_notes_[0]->self_scm ());
}
return ;
if (!col_)
{
- col_ = new Item (get_property ("NoteCollision"));
+ col_ = make_item ("NoteCollision");
announce_grob (col_, SCM_EOL);
}
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())
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);
/*
{
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]);
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);
{
if (!dotcol_)
{
- dotcol_ = new Item (get_property ("DotColumn"));
+ dotcol_ = make_item ("DotColumn");
announce_grob(dotcol_, SCM_EOL);
}
{
if (!line_spanner_)
{
- line_spanner_ = new Spanner (get_property ("DynamicLineSpanner"));
+ line_spanner_ = make_spanner ("DynamicLineSpanner");
Music * rq = accepted_spanreqs_drul_[START];
if (script_ev_)
*/
if (script_ev_)
{
- script_ = new Item (get_property ("DynamicText"));
+ script_ = make_item ("DynamicText");
script_->set_grob_property ("text",
script_ev_->get_mus_property ("text"));
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));
*/
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);
#include "grob.hh"
#include "score-engraver.hh"
#include "warn.hh"
+#include "spanner.hh"
+#include "item.hh"
void
Engraver::announce_grob (Grob_info inf)
}
+Item*
+Engraver::internal_make_item (SCM x)
+{
+ return new Item (x);
+}
+
+Spanner*
+Engraver::internal_make_spanner (SCM x)
+{
+ return new Spanner (x);
+}
+
Engraver::Engraver()
{
}
{
if (ev_)
{
- extender_ = new Spanner (get_property ("LyricExtender"));
+ extender_ = make_spanner ("LyricExtender");
announce_grob (extender_, ev_->self_scm());
}
}
{
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 ("-"));
}
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
}
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);
{
if (event_)
{
- line_ = new Spanner (get_property ("Glissando"));
+ line_ = make_spanner ("Glissando");
announce_grob (line_, event_->self_scm ());
}
}
{
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++)
return;
}
- hyphen_ = new Spanner (get_property ("LyricHyphen"));
+ hyphen_ = make_spanner ("LyricHyphen");
hyphen_->set_bound (LEFT, last_lyric_);
announce_grob(hyphen_, req_->self_scm());
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;
/**
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
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);
{
if (!item_)
{
- item_ = new Item (get_property ("KeySignature"));
+ item_ = make_item ("KeySignature");
item_->set_grob_property ("c0-position",
get_property ("centralCPosition"));
Spanner *
Ligature_bracket_engraver::create_ligature_spanner ()
{
- return new Spanner (get_property ("LigatureBracket"));
+ return make_spanner ("LigatureBracket");
}
void
{
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());
if (text_)
return;
- text_ = new Item (get_property ("RehearsalMark"));
+ text_ = make_item ("RehearsalMark");
announce_grob(text_, ev->self_scm());
}
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);
Spanner *
Mensural_ligature_engraver::create_ligature_spanner ()
{
- return new Spanner (get_property ("MensuralLigature"));
+ return make_spanner ("MensuralLigature");
}
/*
if (text_)
return;
- SCM s = get_property ("MetronomeMark");
- text_ = new Item (s);
+ text_ = make_item ("MetronomeMark");
announce_grob(text_, rq->self_scm());
}
{
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");
else
{
Spanner *sp
- = new Spanner (get_property ("MultiMeasureRestNumber"));
+ = make_spanner ("MultiMeasureRestNumber");
numbers_.push (sp);
announce_grob (sp, rest_ev_->self_scm());
}
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());
}
}
}
-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,
{
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 ;
{
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);
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_);
{
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];
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 ()
}
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);
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);
{
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());
/*
{
// 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.
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 ());
{
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_);
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
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++)
{
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 ();
if (dots)
{
- dot_ = new Item (get_property ("Dots"));
+ dot_ = make_item ("Dots");
Rhythmic_head::set_dots (rest_, dot_);
dot_->set_parent (rest_, Y_AXIS);
{
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));
{
if (!scol_ && scripts_.size () > 1)
{
- scol_ = new Item (get_property ("ScriptColumn"));
+ scol_ = make_item ("ScriptColumn");
announce_grob(scol_, SCM_EOL);
}
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");
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");
Side_position_interface::set_axis (p, Y_AXIS);
p->set_grob_property ("script-priority", gh_int2scm (prio));
- return p;
}
void
{
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)
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")));
if (!p_ref_)
{
- p_ref_ = new Item (get_property ("SeparationItem"));
+ p_ref_ = make_item ("SeparationItem");
if (ib)
{
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));
{
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_;
{
// 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!
{
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);
}
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);
}
}
if (bars_.size () >= 2 && !spanbar_)
{
- spanbar_ = new Item (get_property ("SpanBar"));
+ spanbar_ = make_item ("SpanBar");
spanbar_->set_parent (bars_[0], X_AXIS);
{
if (!span_)
{
- span_ = new Spanner (get_property ("StaffSymbol"));
+ span_ = make_spanner ("StaffSymbol");
span_->set_bound (LEFT, unsmob_grob (get_property ("currentCommandColumn")));
{
last_stanza_ = stanza;
- text_ = new Item (get_property ("StanzaNumber"));
+ text_ = make_item ("StanzaNumber");
text_->set_grob_property ("text", stanza);
announce_grob (text_, SCM_EOL);
}
if (!stem_)
{
- stem_ = new Item (get_property ("Stem"));
+ stem_ = make_item ("Stem");
stem_->set_grob_property ("duration-log", gh_int2scm (duration_log));
if (tremolo_flags)
{
- tremolo_ = new Item (get_property ("StemTremolo"));
+ tremolo_ = make_item ("StemTremolo");
announce_grob(tremolo_, tremolo_ev_->self_scm());
/*
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);
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];
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 ()
else
{
current_req_ = req_drul_[START];
- span_ = new Spanner (get_property ("TextSpanner"));
+ span_ = make_spanner ("TextSpanner");
Side_position_interface::set_axis (span_, Y_AXIS);
&& 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);
if (ties_.size () && ! tie_column_)
{
- tie_column_ = new Spanner (get_property ("TieColumn"));
+ tie_column_ = make_spanner ("TieColumn");
announce_grob(tie_column_, SCM_EOL);
}
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_)
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);
Spanner *
Vaticana_ligature_engraver::create_ligature_spanner ()
{
- return new Spanner (get_property ("VaticanaLigature"));
+ return make_spanner ("VaticanaLigature");
}
bool
{
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);
}
{
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_);
+++ /dev/null
-% 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.
-
+++ /dev/null
-% 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.
-
+++ /dev/null
-% feta-din7.mf
-% part of LilyPond's pretty-but-neat music font
-
-design_size:=6.5; % feta13 = 13pt
-
-input feta-din.mf;
-
-end.
-
+++ /dev/null
-% feta-din9.mf
-% part of LilyPond's pretty-but-neat music font
-
-design_size:=9; % feta13 = 13pt
-
-input feta-din.mf;
-
(#(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")
)))