lilypond-devel
[Top][All Lists]
Advanced

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

Re: order of layout operations, and \shapeII


From: Janek Warchoł
Subject: Re: order of layout operations, and \shapeII
Date: Sat, 30 Nov 2013 12:37:04 +0100

Hi,

2013/11/27 Keith E OHara <address@hidden>:
> There have been a couple bug-reports (3669 3677) coming from users wanting
> to access LilyPond's layout decisions, in order to adjust those decisions. 
> [...]
>
> The reference point 'ref' is the System, with origin usually the uppermost
> point in the System, so the output would normally be (-2 . -1).
>
> If we remove the \break, however, the Staff seems not yet to have been
> placed in the System when #'positions is evaluated; the Staff reference
> point (the midline) seems to be at the reference point of the System, as the
> note-head is reported to span (0 . 1).
>
> (Things get more complicated if there is a RehearsalMark, which inserts
> itself on the first Staff, probably moving that Staff down relative to
> System, when its property 'after-line-breaking = move-to-extremal-staff is
> evaluated.)
>
> The layout in LilyPond is not driven by a procedure; the functions that make
> layout decisions call each other as needed (functional, rather than
> procedural, programming).  So callbacks generally should handle being called
> whenever the decision they support is requested.

Aaaah, this is very helpful, thanks a lot!

> My only suggestion right now is to try to write callback functions that are
> robust to being activated at different stages of layout.   Can anyone see a
> way to write the \shapeII function at
> <http://lists.gnu.org/archive/html/lilypond-user/2013-11/msg00832.html> so
> that it computes self-consistent positions for a slur using data either
> before, or after, LilyPond has placed each Staff relative to the System ?

Maybe it would be enough to use the staff as the 'ref' (instead of the
system)?  I don't see any predefined function for getting the staff,
though - it needs to be written.  I'll gladly experiment with this,
but i don't know when i'll have time :(

best and thanks for the explanation,
Janek



reply via email to

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