Comment #3 on issue 1612 by [email protected]: Change staff produces long stems
http://code.google.com/p/lilypond/issues/detail?id=1612

the autobeam engraver will emit the beam at after the staff switch has occurred, so the top beam will appear to be in the bottom staff (although from a typesetting perspective, it is not). As such, the notes of both beams are to each other as potential collisions.

Since the top beam cannot inspect the stems of the bottom beam (cyclic dependency), we put infinity for the stem length, forcing the top beam to go below the bottom beam. See beam.cc 1224,

           /*
                We must assume that stems are infinitely long in this
                case, as asking for the length of the stem typically
                leads to circular dependencies.

                This strategy assumes that we don't want to handle the
                collision of beams in opposite non-forced directions
                with this code, where shortening the stems of both
                would resolve the problem, eg.

                 x    x
                |    |
                =====

                =====
                |   |
                x   x

                Such beams would need a coordinating grob to resolve
                the collision, since both will likely want to occupy
                the centerline.
              */



_______________________________________________
bug-lilypond mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-lilypond

Reply via email to