lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Getting the height of a system.


From: Joe Neeman
Subject: Re: Getting the height of a system.
Date: Wed, 07 Jun 2006 11:38:48 +1000

Did my previous mail make it to the list? I never saw it... but anyway,
here's an update

On Mon, 2006-05-22 at 20:58 +1000, Joe Neeman wrote:
> On Mon, 2006-05-22 at 10:57 +0200, Han-Wen Nienhuys wrote:
> > 
> > Does this patch already work for determining system heights, or is just 
> > the beginning of the work? How much more must done?

The attached patch seems to be pretty accurate and reasonably fast. It
supports dynamics, rehearsal marks, bar lines and a bunch of other
things that tend to appear above and below the staff. It also annotates
the estimated extent.

The only things I know of that it doesn't support are accidentals and
slurs. I have a couple examples where a flat sticks off the top of the
staff, but I don't think it's really a big deal.

make web still works and there are no detected formatting changes.

2006-06-07  Joe Neeman  <address@hidden>

        * scm/paper-system.scm (paper-system-annotate): also annotate the
        estimated pure-Y-extent

        * scm/define-grobs.scm: add pure-Y-extent and pure-Y-offset functions

        * lily/system.cc (break_into_pieces): set the estimated height
        of each child system

        * lily/stem.cc (pure_height): new pure-Y-extent callback

        * lily/staff-symbol-referencer.cc (callback): don't destroy
        the staff-position property

        * lily/hara-kiri-group-spanner.cc (request_suicide): split
        consider_suicide into two functions

        * lily/constrained-breaking.cc (resize): use the new pure
        callbacks to estimate the height of a system

        * lily/axis-group-interface.cc (pure_group_height): new
        side-effect-free VerticalAxisGroup height-callback

        * lily/align-interface.cc (get_extents_aligned_translates):
        split align_elements_to_extents into two functions
        (get_pure_child_y_translation): new function

        * lily/grob.cc: new functions for pure-Y-extent and pure-Y-offset

        * lily/item.cc: new functions pure_is_visible and spanned_rank_iv

        * lily/paper-score.cc: cache break_indices and columns

        * lily/side-position-interface.cc: new pure-Y-extent callbacks

Attachment: height_estimation_20060607.patch
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]