[Top][All Lists]

[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


commit 94860164493ab3a209986b0e3662ff7bd8958cb5
Author: Mike Solomon <>
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
See attachment.

While attempting to code stemmed Glissandi in scheme, there was a very
helpful discussion starting here:
lastly arriving at
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?


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

Description: Text Data

reply via email to

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