[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Fixing bugs #379 and #427
From: |
Patrick McCarty |
Subject: |
Re: Fixing bugs #379 and #427 |
Date: |
Sat, 15 Aug 2009 12:33:44 -0700 |
User-agent: |
Mutt/1.5.20 (2009-06-14) |
On 2009-08-14, Han-Wen Nienhuys wrote:
> On Thu, Aug 13, 2009 at 8:03 PM, Patrick McCarty <address@hidden> wrote:
> >
> > 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.
Thanks for the suggestions, Han-Wen.
However, SeparationItem grobs are not created anymore, and the only
other grobs belonging to the separation-item-interface are
NonMusicalPaperColumn, NoteColumn, and PaperColumn.
Is there another strategy I can use to find items bound to columns at
slur->get_bound() that are *only* found in the same staff as Slur or
PhrasingSlur?
Should I check for common Y refpoints between a Slur and Clef in a
different staff to filter these out? Or different Y parents? I made
a cursory attempt at doing this, but I wasn't sure how to accomplish
it.
Thanks again,
-Patrick