lilypond-user
[Top][All Lists]
Advanced

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

extended glissandi


From: Mason Hock
Subject: extended glissandi
Date: Thu, 5 Oct 2017 18:25:17 -0700

The method for long glissandi described in the <a 
href="http://lilypond.org/doc/v2.18/Documentation/notation/expressive-marks-as-lines#glissando";>documentation</a>
 (adjusting the pitch of the hidden noteheads to align them with the gliss 
line) has a few disadvantages.

(1) Since each stem can only have one of several discrete vertical positions, 
they can't perfectly align with the gliss. There often has to be either a gap 
or intersection.

(2) The fact that the vertical stem positions do not perfectly follow the slope 
of the gliss becomes very apperent when multiple consecutive stems have 
articulation marks. For instance, if the pitches of the hidden notes are "b-. 
b-. c-. c-. d-." the ascent of the staccato marks is terraced rather than even.

(3) After aligning the stems as well as possible with the above limitations, 
any minor change to the format of the score disturbs the results and requires 
another round of manual tweaking. It's especially frustating when tweaking the 
stems of one glissando slightly affects horizontal spacing and disturbs a 
glissando earlier in the system that has already been aligned.

Lilypond engraves music the way it would be by hand with no need for manual 
tweaking in every situation I've encountered except for this one, so it seems 
inconsistent for the documentation to suggest this method.

I don't expect a feature for automatically aligning stems with the glissando 
any time soon, since this is probably not a common situation for most people. 
However, since I use long glissandi very frequently, it's worth my time to come 
up with a better approach.

I would think that the solution is a function that determines in advance the 
endpoints of the gliss and uses the slope to determine the amount of vertical 
extra-offset needed for each note. However, while I have a little programming 
experience and am willing to learn, I am unfamiliar with Scheme and struggling 
to figure out how to do this. In particular I'm stuck on how to either (a) 
calculate the right endpoint of the gliss before engraving the intermediate 
stems or (b) retroactively adjust the stems after engraving the gliss. Does 
someone with experience extending Lilypond via Scheme have some advice on where 
to start?

Thanks,

Mason

-- 




reply via email to

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