lilypond-devel
[Top][All Lists]
Advanced

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

cross-staff, broken Glissando


From: Thomas Morley
Subject: cross-staff, broken Glissando
Date: Sun, 7 Nov 2021 12:39:14 +0100

Hi,

commit 94860164493ab3a209986b0e3662ff7bd8958cb5
Author: Mike Solomon <mike@apollinemike.com>
Date:   Mon Mar 28 10:58:29 2011 -0400

    Assures smooth transitions at glissando line breaks.

    When a glissando breaks over lines, the left point of the beginning-of-line
    glissando picks up on the y-axis where the right point of the end-of-line
    glissando ends.

is not true for cross-staff, broken Glissando.
For a down-pointing Glissando, ending in a lower Staff this "pick-up"
point is not matched.
For an up-pointing Glissando starting in a lower Staff the first part
is completely off. This is
https://gitlab.com/lilypond/lilypond/-/issues/4806
See attachment.

While attempting to code stemmed Glissandi in scheme, there was a very
helpful discussion starting here:
https://lists.gnu.org/archive/html/lilypond-user/2021-10/msg00326.html
lastly arriving at
https://lists.gnu.org/archive/html/lilypond-user/2021-11/msg00003.html
Basically I try to get start- and end-points of all kinds of
Glissandi, printing crosses there.
Many thanks to Aaron!

That said,...
If I always compensate the right ending-point with (pseudo-code)
(ly:grob-relative-coordinate <Glissando-grob> <System-grob> Y)
Then the crosses are at those positions Mike's patch promises.

I attach the new scheme-code and an image (with correct placed
crosses, but untouched default-stencil)

Ofcourse it's trivial to extend this scheme-code to create
Glissando-stencil instead of those crosses.
Better ofcourse is fixing the problem in our source.

Alas, because my lack of C++-knowledge, I can't do it myself.

Anyone up for it?

Thanks,
  Harm

Attachment: start-end-gradient-06.pdf
Description: Adobe PDF document

Attachment: start-end-gradient-06.ly
Description: Text Data


reply via email to

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