[Top][All Lists]

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

Re: Tweaking glissando timing stems

From: Thomas Morley
Subject: Re: Tweaking glissando timing stems
Date: Sun, 14 Nov 2021 13:49:36 +0100

Am Fr., 12. Nov. 2021 um 13:44 Uhr schrieb Leo Correia de Verdier
> Dear Harm and list!
> The chords were not that hard to implement. What I did was:
> 1) Removing the overrides for NoteHead.transparency and NoteHead.Y-offset 
> from glissandoStemsOn and glissandoStemsOff. Transparency is set for 
> individual noteheads and used to determine wether a notehead should be 
> printed as usual or ”glissed through”.
> 2) Adding transparency to the conditions for moving a notehead to the 
> glissando line.
>         (ly:grob-property (car nhd-staff-pos) 'transparent #f)
> 3) resetting the noteheads Y-position only after testing that the notehead in 
> question should be moved at all, as in the earlier code you’d written (it vas 
> still in the document, just commented out and replaced by just the variable 
> val)
>         (+ (/ (cdr nhd-staff-pos) -2) val)
> This has not been seriously stresstested, though. It’s still on a "seems to 
> work” level. A more beautiful solution would probably be to use a dedicated 
> property instead of piggybacking it on transparency and assuming them 
> identical.
> Another thing I found is that TextScript placements are reset as in the 
> example provided. Can you see any solution for this?
> Thanks a lot!
> /Leo

Hi Leo,

thanks for testing.
I'm still on it trying to improve things...
There's on
the way (thanks Jean). As a result (among others) cross-staff broken
glissandi now work as expected.
Ofcourse I will need to adjust the stemmed glissandi for it, once it
is released.

For now:
Moving NoteHeads depending on their 'transparent property is not that
bad. You coud invent a new property or use a subproperty of 'details
(less invasive). Though, this is a first thought, the final
implementation will differ anyway ...
Regarding the TextScript, this is caused by setting cross-staff.
A minimal (without any glissando-code)

#(ly:set-option 'debug-skylines #t)
  \override Stem.cross-staff = ##t

Switch between #t and #f

In any case, coding stemmed glissando turns out to be a very hard ...


reply via email to

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