[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
<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
In any case, coding stemmed glissando turns out to be a very hard ...
Cheers,
Harm