lilypond-user
[Top][All Lists]
Advanced

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

Re: Tweaking glissando timing stems


From: Jean Abou Samra
Subject: Re: Tweaking glissando timing stems
Date: Sun, 14 Nov 2021 16:40:41 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.2.1



Le 14/11/2021 à 13:49, Thomas Morley a écrit :
Am Fr., 12. Nov. 2021 um 13:44 Uhr schrieb Leo Correia de Verdier
<leo.correia.de.verdier@gmail.com>:
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 https://gitlab.com/lilypond/lilypond/-/merge_requests/998 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
   \voiceOne
   b'4->-"t"
}

Switch between #t and #f


You can work around it with

\version "2.23.5"

{
  \override Stem.cross-staff = ##t
  \voiceOne
  b'4->\tweak cross-staff ##t -"t"
}

It seems related to this old discussion:

https://codereview.appspot.com/106640043

Best,
Jean



reply via email to

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