lilypond-devel
[Top][All Lists]
Advanced

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

Re: Tied accidentals in chords still taking up space (was: Issue 415 in


From: Han-Wen Nienhuys
Subject: Re: Tied accidentals in chords still taking up space (was: Issue 415 in lilypond: Hidden accidental of tied note still takes space)
Date: Sun, 29 Mar 2009 02:34:11 -0300

On Sat, Mar 28, 2009 at 11:31 PM, Joe Neeman <address@hidden> wrote:


> The problem is that the current support for conditional accidentals is
> insufficient if there are multiple accidentals, not all of which are
> tied (see bug 612). The reason is that the positions of all the
> accidentals can change completely when an accidental is added or
> removed. So I think we need to run the whole layout algorithm twice,
> once with the conditional accidentals and once without, and I suggested
> that copying all of the accidentals is the simplest way to do it. I
> realize that this goes against the convention of only cloning items in
> the breakable columns, but I don't see another way to do it; the

I am worried that this will lead to all kinds of other problems, when
other callbacks try to follow head -> accidental links, and screw up
because they end up at the wrong accidental object. Is it not possible
to have accidental place calculate two sets of offsets, and add some
logic to make sure that the actual stencil and placement calculation
does not get triggered during line breaking?  Then after the
linebreaking, one set of placements is used for positioning the
accidentals.  Of course there will be some ugly hacks needed (similar
to the conditional skyline support) to extract the correct outline of
the accidentals during spacing/linebreaking.

> formatting of such accidentals seems to be completely tied to their
> break status which justifies copying them for the same reason that we
> copy items in the breakable columns.

Not quite.  I think the main reason for copying is that a breakable
object may actually be present in two places (pre and post linebreak)
at the same time.  Consider eg. a key or clef change on a line break.
In the case of accidentals, there is just at most one object, but
possibly in a different X-position.

-- 
Han-Wen Nienhuys - address@hidden - http://www.xs4all.nl/~hanwen




reply via email to

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