Urs Liska <u...@openlilylib.org> writes:

> I'm currently experimenting with this, giving it a somewhat more
> straightforward interface similar to \shape, i.e. using offsets from the
> automatic non-compound slur.
> My idea is to provide options that specify the angle and the length of
> the "handle" (however one calls that virtual line connecting the control
> points next to the inflection.
> I'll take your suggestion and provide options to have that line
> symmetric or to specify the two parts individually. However, I think a
> straight line should be enforced.

Sure, a continuous _first_ derivative is most certainly wanted.  Maybe
we can take the default slur as a starting point?

Then one would specify a split location (between 0 and 1) and then some
number or numbers modifying the separate parts?  So that when those
modifications are zero, the split pieces will just match the original
slur?  Maybe just an offset to move the split point and an angle to
twist its tangent?  So if the original points are

A C1 C2 B

we convert into the equivalent

A C1 C12 S C21 C2 B

and then manipulate C12/C21/S with a given shift/rotate transform (which
will keep S on the straight line between C12 and C21) ?

I have no idea whether this would work well/robustly.  This is just a
brain storm.

Do you know how to split a bezier at a given ratio into equivalent
beziers?  It's a comparatively simple operation and I think it's already
somewhere in the C++ code though without access from Scheme.

David Kastrup

lilypond-user mailing list

Reply via email to