Comment #5 on issue 1031 by pnorcks: constantly-changing input/regression/rest-collision-beam-note.ly
http://code.google.com/p/lilypond/issues/detail?id=1031

I've managed to reproduce the incorrect behavior (with luck) while processing multiple regtests (including rest-collision-beam-note.ly) through GDB, and I found
the location where data differs for correct and incorrect results.

The initialization of `discrete_y' in rest-collision.cc on line 275 looks like this:

    int discrete_y = dir * int (ceil (y / (0.5 * dir * staff_space)));

When correct results are produced, the value -4 is assigned to `discrete_y'.
For incorrect results, the value -8 is assigned instead.

These differing values stem from the assignment on line 233 of the same file:

    Interval restdim = rcol->extent (common, Y_AXIS);

The interval *length* is always the same, namely "1.870006", but the intervals
themselves differ:

Correct interval:   (-3.050006 . -1.18)
Incorrect interval: (-1.050006 . 0.82)

Since these intervals are the Y-extents for the NoteColumns (with rests attached),
somehow the extents are incorrectly computed.

Unfortunately, it's not easy to reproduce this bug, though I've never encountered it
while compiling *only* this regtest.

Still investigating...


_______________________________________________
bug-lilypond mailing list
bug-lilypond@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-lilypond

Reply via email to