lilypond-devel
[Top][All Lists]
Advanced

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

Re: cross-staff, broken Glissando


From: Jean Abou Samra
Subject: Re: cross-staff, broken Glissando
Date: Sun, 7 Nov 2021 13:26:43 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.2.1

(Adding Aaron in CC.)

Le 07/11/2021 à 12:39, Thomas Morley a écrit :
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.


I get seemingly correct output in the issue's
example when adding

  \override Glissando.simple-Y = ##f

So I'd start by investigating why simple-Y was
added in the first place.


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.

Really System? Isn't this going to create a
cyclic dependency between the stencil and
vertical alignment for non-cross-staff glissandi
via VerticalAxisGroup skylines? Off the top I would
think it should be a matter of correcting
reference points (see above).


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.

You should learn C++ someday :-)

Best,
Jean



reply via email to

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