tisimst <tisimst.lilypond <at> gmail.com> writes:
> 
> Kieren MacMillan wrote
> > Any hints, for example, on what ‘ratio' actually does, or
[..]
> effect of "ratio". Seems like a "bug" to me that increasing "ratio" > 
doesn't
> change the shape of the tie curve very much if the tie is at its
> "height-limit", but maybe it's my ignorance at play here.

I traced through the function calls to 'ly/bezier-bow.cc' where the
curve of the tie is formed.  This is old code and not the best among
LilyPonds code, with spaghetti-like paths of function calls.  I
decided not to trust the comments. From reading the code it looks like:

'ratio' is the aspect ratio, height to width, for short ties and slurs
but as ties get longer the aspect ratio is reduced so the height (of
the control points, a bit less than that of the curve) remains below 
'height-limit'.

These are bezier curves with four control points.  Short ties and slurs
have the four control points equally-spaced along their length.  As 
ties get longer the middle control points stay relatively closer to
the endpoints, never getting further than twice the 'height-limit'
from the end points.  The transitions from short-tie to long-tie
shape are smooth.

I'll try to test a bit to see if LilPond behaves as reading the code
makes me expect.

The other details seem to deal with placing ties relative to the
other music.

1) To make a tie more parabolic, I would want to move the control points
toward the center.  I don't see a parameter for that, but maybe
someone can see how to make a scheme hook for calc-control-points
that adjusts the horizontal spacing of these points.  I think that could
integrate well with the other placement code.  Slurs have a parameter
'eccentricity' that moves control points horizontally and might be a
good model.

2) The text in the docstrings could maybe be interpreted in a way 
consistent with behavior, but it seems they could be written much
more directly (if I got it right above).


_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to