Change all callers to use staff-padding.
* lily/auto-beam-engraver.cc (create_beam): opps. Don't use
make_spanner().
* lily/a2-engraver.cc (process_acknowledged_grobs):
* lily/text-engraver.cc: remove scriptHorizontal property.
* lily/side-position-interface.cc (out_of_staff): move contents of
out_of_staff into aligned_side.
remove out_of_staff().
* lily/side-position-interface.cc: add staff-padding support to
Side_position_interface::aligned_side.
2004-01-27 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ * lily/side-position-interface.cc: remove add_staff_support ()
+ Change all callers to use staff-padding.
+
+ * lily/auto-beam-engraver.cc (create_beam): opps. Don't use
+ make_spanner().
+
+ * lily/a2-engraver.cc (process_acknowledged_grobs):
+
+ * lily/text-engraver.cc: remove scriptHorizontal property.
+
* lily/beam.cc (least_squares): also set least-squares-dy for
special case of slanted 2-stem beam to center.
text = get_property ("aDueText");
}
- Side_position_interface::set_direction (text_, dir);
+ set_grob_direction (text_, dir);
text_->set_grob_property ("text", text);
}
}
{
if (text_)
{
- Side_position_interface::add_staff_support (text_);
typeset_grob (text_);
text_ = 0;
}
return 0;
}
- Spanner* beam = internal_make_spanner (beam_settings_);
+ Spanner* beam = new Spanner (beam_settings_);
for (int i = 0; i < stems_->size (); i++)
{
/*
beam_info_ = new Beaming_info_list;
/* urg, must copy to Auto_beam_engraver too */
-
- announce_grob(beam_, evs_drul_[START]->self_scm());
+ announce_grob (beam_, evs_drul_[START]->self_scm());
}
}
if (octavate_)
{
- Side_position_interface::add_staff_support (octavate_);
typeset_grob (octavate_);
}
}
if (finished_line_spanner_)
{
- /* To make sure that this works */
- Side_position_interface::add_staff_support (finished_line_spanner_);
-
/*
We used to have
for (int i=0; i < fingerings_.size (); i++)
{
Item *ti = fingerings_[i];
- Side_position_interface::add_staff_support (ti);
typeset_grob (ti);
}
fingerings_.clear ();
DECLARE_SCHEME_CALLBACK (aligned_side, (SCM element, SCM axis));
- DECLARE_SCHEME_CALLBACK (out_of_staff, (SCM element, SCM axis));
-
DECLARE_SCHEME_CALLBACK (quantised_position, (SCM element, SCM axis));
static SCM general_side_position (Grob*, Axis, bool);
- static void set_axis (Grob*,Axis);
- static void set_minimum_space (Grob*,Real);
- static void set_padding (Grob*,Real);
static Axis get_axis (Grob*) ;
- static bool supported_b (Grob*) ;
+ static void set_axis (Grob*, Axis) ;
static bool has_interface (Grob*) ;
static void add_support (Grob*,Grob*);
static void add_staff_support (Grob*);
static Direction get_direction (Grob*);
- static void set_direction (Grob*,Direction);
};
for (int i = 0 ; i < numbers_.size(); i++)
{
typeset_grob (numbers_[i]);
- Side_position_interface::add_staff_support (numbers_[i]);
}
/*
for (int i = 0; i < last_numbers_.size ();i++)
{
typeset_grob (last_numbers_[i]);
- Side_position_interface::add_staff_support (last_numbers_[i]);
}
}
last_rest_ = 0;
SCM follow = scm_assoc (ly_symbol2scm ("follow-into-staff"), articulations_[i].description_);
if (gh_pair_p (follow) && to_boolean (gh_cdr (follow)))
- sc->add_offset_callback (Side_position_interface::quantised_position_proc, Y_AXIS);
- else
- Side_position_interface::add_staff_support (sc);
+ {
+ sc->add_offset_callback (Side_position_interface::quantised_position_proc, Y_AXIS);
+ sc->set_grob_property ("staff-padding" , SCM_EOL);
+ }
typeset_grob (sc);
}
if (p->finished_line_spanner_)
{
- Side_position_interface::add_staff_support (p->finished_line_spanner_);
Grob * l = p->finished_line_spanner_->get_bound (LEFT);
Grob * r = p->finished_line_spanner_->get_bound (RIGHT);
if (!r && l)
SCM follow = scm_assoc (ly_symbol2scm ("follow-into-staff"), scripts_[i].description_);
if (gh_pair_p (follow) && to_boolean (gh_cdr (follow)))
- sc->add_offset_callback (Side_position_interface::quantised_position_proc, Y_AXIS);
- else
- Side_position_interface::add_staff_support (sc);
+ {
+ sc->add_offset_callback (Side_position_interface::quantised_position_proc, Y_AXIS);
+ sc->set_grob_property ("staff-padding", SCM_EOL);
+ }
typeset_grob (sc);
}
scripts_.clear ();
d = DOWN;
}
- Side_position_interface::set_direction (me,d);
+ set_grob_direction (me, d);
if (Grob * par = me->get_parent (X_AXIS))
{
return gh_double2scm (o);
}
-void
-Side_position_interface::add_staff_support (Grob*me)
-{
- Grob* st = Staff_symbol_referencer::get_staff_symbol (me);
- if (st && get_axis (me) == Y_AXIS)
- {
- add_support (me,st);
- }
-}
void
Side_position_interface::set_axis (Grob*me, Axis a)
return Y_AXIS;
}
-void
-Side_position_interface::set_direction (Grob*me, Direction d)
-{
- me->set_grob_property ("direction", gh_int2scm (d));
-}
-
-void
-Side_position_interface::set_minimum_space (Grob*me, Real m)
-{
- me->set_grob_property ("minimum-space", gh_double2scm (m));
-}
-
-void
-Side_position_interface::set_padding (Grob*me, Real p)
-{
- me->set_grob_property ("padding", gh_double2scm (p));
-}
-
-
-bool
-Side_position_interface::supported_b (Grob*me)
-{
- SCM s = me->get_grob_property ("side-support-elements");
- return gh_pair_p (s);
-}
-
Item *text = new Item (get_property (basic.to_str0 ()));
- /*
- FIXME -> need to use basic props.
- */
- SCM axisprop = get_property ("scriptHorizontal");
- Axis ax = to_boolean (axisprop) ? X_AXIS : Y_AXIS;
+ Axis ax = Y_AXIS;
Side_position_interface::set_axis (text, ax);
// Hmm
Direction dir = to_dir (r->get_mus_property ("direction"));
if (dir)
- Side_position_interface::set_direction (text, dir);
+ set_grob_direction (text, dir);
SCM mark = r->get_mus_property ("text");
for (int i=0; i < texts_.size (); i++)
{
Item *ti = texts_[i];
- if (!to_boolean (get_property ("scriptHorizontal")))
- Side_position_interface::add_staff_support (ti);
typeset_grob (ti);
}
texts_.clear ();
/* creats*/ "TextScript",
/* accepts */ "text-script-event",
/* acks */ "rhythmic-head-interface stem-interface",
-/* reads */ "scriptHorizontal",
+/* reads */ "",
/* write */ "");
{
if (finished_)
{
- Side_position_interface::add_staff_support (finished_);
if (!finished_->get_bound (RIGHT))
{
Grob* e = unsmob_grob (get_property ("currentMusicalColumn"));
(axes . (1))
(Y-extent-callback . ,Axis_group_interface::group_extent_callback)
(Y-offset-callbacks . (,Side_position_interface::aligned_side))
+ (staff-padding . 0.1)
(padding . 0.6)
(minimum-space . 1.2)
(direction . -1)
. (
(molecule-callback . ,Text_item::brew_molecule)
(padding . 0.6)
- (staff-padding . 0.5)
+ (staff-padding . 0.6)
(self-alignment-X . 0)
(self-alignment-Y . 0)
(script-priority . 100)
(self-alignment-X . 0)
(direction . 1)
(padding . 1.3)
+ (staff-padding . 1.3)
(font-family . number)
(meta . ((interfaces . (side-position-interface self-alignment-interface font-interface spanner-interface text-interface))))
))
(self-alignment-X . 0)
(direction . 1)
(padding . 1.5)
+ (staff-padding . 1.5)
(font-family . roman)
(meta . ((interfaces . (side-position-interface self-alignment-interface font-interface spanner-interface text-interface))))
))
(molecule-callback . ,Text_item::brew_molecule)
(font-shape . italic)
(padding . 0.4)
+ (staff-padding . 0.2)
(font-size . -4)
(font-family . roman)
(meta . ((interfaces . (text-interface self-alignment-interface side-position-interface font-interface item-interface ))))
;; This value is sensitive: if too large, staccato dots will move a
;; space a away.
(padding . 0.25)
+ (staff-padding . 0.25)
;; (script-priority . 0) priorities for scripts, see script.scm
(X-offset-callbacks . (,Self_alignment_interface::centered_on_parent))
(before-line-breaking-callback . ,Script_interface::before_line_breaking)
(Y-offset-callbacks . (,Side_position_interface::aligned_side))
(padding . 1.2)
+ (staff-padding . 1.2)
(minimum-space . 1.0)
(direction . -1)
(meta . ((interfaces . (piano-pedal-interface axis-group-interface side-position-interface spanner-interface))))
(X-offset-callbacks . (,Self_alignment_interface::aligned_on_self))
(direction . -1)
(padding . 0.5)
+ (staff-padding . 0.5)
(script-priority . 200)
;; todo: add X self alignment?
(baseline-skip . 2)
(molecule-callback . ,Text_spanner::brew_molecule)
(font-family . roman)
(style . dashed-line)
-
+ (staff-padding . 0.1)
+
;; urg, only for (de)cresc. text spanners
(if-text-padding . 1.0)
(dash-fraction . 0.2)
(axes . (1))
(Y-extent-callback . ,Axis_group_interface::group_extent_callback)
(Y-offset-callbacks . (,Side_position_interface::aligned_side))
-
(padding . 1.2)
+ (staff-padding . 1.2)
(minimum-space . 1.0)
(direction . -1)
(meta . ((interfaces . (piano-pedal-interface axis-group-interface side-position-interface spanner-interface))))
"If a multimeasure rest takes less
than this number of measures, no number is printed. ")
-(translator-property-description 'scriptHorizontal boolean? " Put
-scripts left or right of note heads. Support for this is limited.
-Accidentals will collide with scripts.
-")
(translator-property-description 'skipBars boolean? "If set to true, then
skip the empty bars that are produced by multimeasure notes and rests.
These bars will not appear on the printed output. If not set (the