Am 18.09.2016 um 19:28 schrieb David Kastrup:
> Simon Albrecht <> writes:
>> May I incorporate that into the LSR version?
>> On 18.09.2016 16:04, Urs Liska wrote:
>>> Am 18.09.2016 um 16:01 schrieb Urs Liska:
>>>>                            (cps (ly:slur::calc-control-points grob))
>>>>                            (cps1 (first contr-pts))
>>>>                            (cps2 (second contr-pts))
>>>>                            (cp2-2 (mirror-point (fourth cps1) (third 
>>>> cps1)))
>>>>                            (cps2 `(,(fourth cps1) ,cp2-2 ,@cps2))
>>> This should actually read
>>>                            (cps (ly:slur::calc-control-points grob))
>>>                            (cps1 (first contr-pts))
>>>                            (cp2-2 (mirror-point (fourth cps1) (third cps1)))
>>>                            (cps2 `(,(fourth cps1) ,cp2-2 ,@(second
>>> contr-pts)))
> I think this may actually be overdoing the symmetry since it forces the
> control points around the inflection point to not just have the same
> tangent but also the same distance (resulting, if I judge correctly, in
> the same curvature).  That is actually providing more continuity than
> warranted: the whole point of having multiple slur pieces is that a
> single consistent bezier is not enough to reflect the problem space.
> So maybe it would be warranted to express the usefully available degrees
> of freedom differently than by control points?

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.



Urs Liska

lilypond-user mailing list

Reply via email to