2004-07-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ * lily/ambitus-engraver.cc (create_ambitus): change name to
+ AmbitusLine. Create AmbitusAccidental and AmbitusNoteHead for
+ other ambitus parts.
+
* lily/include/pitch-interval.hh (Pitch>): new file.
* lily/pitch-interval.cc (add_point): new file.
void
Ambitus_engraver::create_ambitus ()
{
- ambitus_ = make_item ("Ambitus",SCM_EOL);
+ ambitus_ = make_item ("AmbitusLine",SCM_EOL);
+ Direction d = DOWN;
+ do
+ {
+ heads_[d] = make_item ("AmbitusNoteHead", SCM_EOL);
+ accidentals_[d] = make_item ("AmbitusAccidental", SCM_EOL);
+ heads_[d]->set_property ("accidental-grob", accidentals_[d]->self_scm ());
+ Side_position_interface::add_support (accidentals_[d], heads_[d]);
+ }
+ while (flip (&d) != DOWN);
+ ambitus_->set_parent (heads_[DOWN], X_AXIS);
is_typeset_ = false;
}
start_c0_ = robust_scm2int (get_property ("middleCPosition"), 0);
start_key_sig_ = get_property ("keySignature");
- Direction d = DOWN;
- do
- {
- heads_[d] = make_item ("AmbitusNoteHead", SCM_EOL);
- accidentals_[d] = make_item ("AmbitusAccidental", SCM_EOL);
- heads_[d]->set_property ("accidental-grob", accidentals_[d]->self_scm ());
- Side_position_interface::add_support (accidentals_[d], heads_[d]);
- }
- while (flip (&d) != DOWN);
- ambitus_->set_parent (heads_[DOWN], X_AXIS);
+
is_typeset_ = true;
}
}
if (minh->relative_coordinate (common, Y_AXIS) >
maxh->relative_coordinate (common, Y_AXIS))
{
- maxh = heads[0];
- minh = heads[0];
+ Grob *t = maxh;
+ maxh = minh;
+ minh = t;
}
- Real pad = 1.35;
+ Real pad = 0.35;
Real pmax = maxh->relative_coordinate (common, Y_AXIS) - pad;
Real pmin = minh->relative_coordinate (common, Y_AXIS) + pad;
{
Interval head_extent = h->extent (common[X_AXIS], X_AXIS);
Interval ledger_extent = head_extent;
- head_extent.widen (length_fraction * head_extent.length ());
+ ledger_extent.widen (length_fraction * head_extent.length ());
Direction vdir = Direction (sign (pos));
int rank = Paper_column::get_rank (h->get_column ());
(meta . ((interfaces . (item-interface accidental-placement-interface))))
))
- (Ambitus
+ (AmbitusLine
. (
(breakable . #t)
(break-align-symbol . ambitus)
(print-function . ,Ambitus::print)
(join-heads . #t)
+ (X-offset-callbacks (,Self_alignment_interface::centered_on_parent))
(break-visibility . ,begin-of-line-visible)
(space-alist . (
(clef . (extra-space . 0.0))