lilypond-devel
[Top][All Lists]
Advanced

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

Re: cross-staff, broken Glissando


From: Thomas Morley
Subject: Re: cross-staff, broken Glissando
Date: Sun, 7 Nov 2021 13:47:50 +0100

Am So., 7. Nov. 2021 um 13:26 Uhr schrieb Jean Abou Samra <jean@abou-samra.fr>:
>
> (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.

Doing so fails for:
{
  \override Glissando.simple-Y = ##f
  e'''1.\glissando s2
  \break
  s2 \once \override NoteColumn.glissando-skip = ##t
  c''
  \break
  s2 bes
}
->
programming error: no note heads for the line spanner on neighbor
line? Confused.
continuing, cross fingers

>
>
> > 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 compile with recent master, so your added warnings for  cyclic
dependencies may pop up.
They don't.

>
>
> > 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 :-)

Well, I often read people complaining about ununderstandable scheme...
For me it's more that cyptic C++.
Tbh, my lack of time and energy are the most importing reasons why I
did not really start that challenge.

>
> Best,
> Jean

Thanks,
  Harm



reply via email to

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