Hi James,

On Fri, Apr 20, 2012 at 3:32 AM, James Harkins <[email protected]> wrote:

> Maybe a simple question: Is there a way to flatten the curve of a tie that
> is as easy as overriding "ratio" for slurs?


You can override 'ratio for ties too:

 \override Tie #'details #'ratio = #0.2

Another possibility is to override 'height-limit:

\override Tie #'details #'height-limit = #0.75



I found "control-points" and this does change the tie's shape. But, I don't
> need to modify the x-extent, only the y-extent. It looks to me as if
> overriding the control points means that I would have to re-edit the
> control points by hand if horizontal spacing changes (which could happen,
> say, if I take the piece to the US and have to change the paper to letter
> size instead of A4).
>
> I found TieColumn's Y-extent property, but overriding it like this takes
> no effect:
>
>            \once \override TieColumn #'Y-extent = #'(1 . 1.5)
>
> Also doesn't change the result in any way if the pair of numbers is
> reversed: (1.5 . 1).
>
> Searched LSR for "tie," didn't find anything quite like this. I'm fairly
> sure a scheme function could handle it, but I'm probably a good year or two
> away from being able to attempt something like that on my own.
>
>
As far as easier control of 'control-points goes, you can modify
http://lsr.dsi.unimi.it/LSR/Snippet?id=639 like so:

shapeTie =
  #(define-music-function (parser location offsets) (list?)
    #{
       \once \override Tie #'control-points = #(alter-curve offsets)
    #})

#(define ((alter-curve offsets) grob)
   (let ((coords (ly:tie::calc-control-points grob)))

     (define (add-offsets coords offsets)
       (if (null? coords)
       '()
       (cons
 (cons (+ (caar coords) (car offsets))
       (+ (cdar coords) (cadr offsets)))
 (add-offsets (cdr coords) (cddr offsets)))))

     (add-offsets coords offsets)))

\relative c'' {
 c~ c
 \shapeTie #'(0 0 0 -0.15 0 -0.15 0 0)
 c~ c
}

This way the shape of the tie is modified by offsetting lilypond's default
rather than you having to create the control points from scratch.

HTH,
David
_______________________________________________
lilypond-user mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to