[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Springs and rods
Re: Springs and rods
Thu, 23 Jul 2020 08:42:53 -0500
On Thu 23 Jul 2020 at 19:15:25 (+1000), Andrew Bernard wrote:
> There are some things in lilypond that I just think are not explained
> anywhere. What is this springs-and-rods business? For Hairpins, I read
> minimum-length (dimension, in staff space):
> Try to make a spanner at least this long, normally in the horizontal
> direction. This requires an appropriate callback for the
> springs-and-rods property. If added to a Tie, this sets the minimum
> distance between noteheads.
> springs-and-rods (boolean):
> Dummy variable for triggering spacing routines.
> With all due respect to our fantastic developers, I find this
> unintelligible and less than helpful. What is springs-and-rods
> supposed to be set to: ly:spanner::set-spacing-rods, or ##t, or ##f
> and when, and why? What exactly is meant by 'dummy' in this context?
> I use that word to mean a temporary placeholder, but there are many
> usages. WHat is 'an appropriate callback'? No example is provided.
> If I had any idea at all about this I would write a small section in
> the NR on it and submit it, but I am stumped. if this _is_ in the NR,
> please let me know.
No references as this is just coming out of my head.
I've always assumed that the concept of springs and rods is analogous
to TeX's glue and little boxes, respectively. Knuth IIRC makes the
analogy of the compositor's stick, with boxes instead of metal type.
When the next word would overfill the line, tne interword spacing is
increased to justify the line. (I don't remember whether the extra
space is filled with stretched glue, or with glued leading.)
With test, you have the complications of kerning, and of changes in
font (like italics/upright). With music, the complications are greater:
if you increase the spacing between notes, you've got to tell the
hairpins to lengthen and decrease their apical angle. Presumably,
that's the callback for springs, resisting and reacting to stretching.
The rods are presumably what prevents notes getting so close that LP
can't draw a tie between them. Unlike, say, lyrics, which are allowed
to squeeze lyric-hyphens out of existence. In TeX, boxes can kern,
but are otherwise incompressible.