AmbitusLine. Create AmbitusAccidental and AmbitusNoteHead for
other ambitus parts.
* lily/ledger-line-spanner.cc (print): new file. Set limits to
ledger line length to avoid clashes.
2004-07-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
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.
* lily/include/pitch-interval.hh (Pitch>): new file.
* lily/pitch-interval.cc (add_point): new file.
void
Ambitus_engraver::create_ambitus ()
{
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);
start_c0_ = robust_scm2int (get_property ("middleCPosition"), 0);
start_key_sig_ = get_property ("keySignature");
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);
if (minh->relative_coordinate (common, Y_AXIS) >
maxh->relative_coordinate (common, Y_AXIS))
{
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 pmax = maxh->relative_coordinate (common, Y_AXIS) - pad;
Real pmin = minh->relative_coordinate (common, Y_AXIS) + pad;
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;
{
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 ());
Direction vdir = Direction (sign (pos));
int rank = Paper_column::get_rank (h->get_column ());
(meta . ((interfaces . (item-interface accidental-placement-interface))))
))
(meta . ((interfaces . (item-interface accidental-placement-interface))))
))
. (
(breakable . #t)
(break-align-symbol . ambitus)
(print-function . ,Ambitus::print)
(join-heads . #t)
. (
(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))
(break-visibility . ,begin-of-line-visible)
(space-alist . (
(clef . (extra-space . 0.0))