[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Fixing bugs #379 and #427
From: |
Han-Wen Nienhuys |
Subject: |
Re: Fixing bugs #379 and #427 |
Date: |
Fri, 14 Aug 2009 10:49:39 -0300 |
On Thu, Aug 13, 2009 at 8:03 PM, Patrick McCarty <address@hidden> wrote:
>
> Hello,
>
> I've decided to dive into deep waters (the slur code) and try to fix
> the popular "ugly slur" bugs, #379 and #427.
>
> See the attached patch for the progress I've made. Also attached is
> an image of Mark Polesky's example from the bug tracker:
>
> http://code.google.com/p/lilypond/issues/detail?id=379#c4
>
> Note that I have not run the regression test suite, so I do not yet
> know the impact this patch has overall.
This is a nice try, but it is the wrong approach. The problem is that
the currentCommandColumn will include all ittems from all staves. If
there is a clef-change on a different staff, this will shorten all
broken slurs.
For the correct approach, the slur needs to figure what objects there
at the end and start of the current line break. I guess the easiest
approach is to acknowledge breakable SeparationItems in the engraver,
and modify the slur formatting code (where it currently calls
breakable_bound_item), to check for a separation item that lies on the
same column as slur->get_bound(). If you find an object like that,
you can extract the leftmost or rightmost item, and use that for
adjusting the bounds.
--
Han-Wen Nienhuys - address@hidden - http://www.xs4all.nl/~hanwen