Hello Ben, Yes, that’s the solution I was looking for, thanks so much!
JM > Le 14 nov. 2017 à 12:25, Ben <soundsfromso...@gmail.com> a écrit : > > On 11/14/2017 5:02 AM, Menu Jacques wrote: >> Hello folks, >> >> MusicXML has the notion of curved tuplets brackets: >> >> <tuplet bracket="yes" line-shape="curved" number="1" type=« >> start"/> >> >> Didn’t find anything in the doc nor snippets. How can that be achieved with >> LilyPond? >> >> Thanks for your help! >> >> JM >> >> >> > > Hi, > > Is this what you mean? > (see attached) > > Also, what version are you using? > > Here is a 2.19 option: > > \version "2.19.80" > > > tupletBracketToSlur = { > % Use slur-stencil > \override TupletBracket.stencil = #ly:slur::print > %% Use 'thickness from Slur > \override TupletBracket.thickness = #1.2 > %% 'control-points need to be set > \override TupletBracket.control-points = > #(lambda (grob) > (let* ((x-pos (ly:grob-property grob 'X-positions)) > (pos (ly:grob-property grob 'positions)) > (x-ln (interval-length x-pos)) > (dir (ly:grob-property grob 'direction)) > ;; read out the height of the TupletBracket, may be > ;; negative! > (height (- (cdr pos) (car pos))) > ;; height-corr is introduced because sometimes the shape > ;; of the slur needs to be adjusted. > ;; It is used in the 2nd/3rd control-point. > ;; The value of 0.3 is found by trial and error > (height-corr (* 0.3 dir height)) > (edge-height (ly:grob-property grob 'edge-height > '(0.7 . 0.7))) > (pad 1.0)) > (list > ;; first cp > (cons > (+ (car x-pos) 0.5) > (- (+ (* dir pad) (+ (car pos) (* -1 dir > (car edge-height)))) > (if (= dir -1) > (if (> height 3) > (/ dir 2.0) > 0.0) > (if (< height -3) > (/ dir 2.0) > 0.0)))) > ;; second cp > (cons > (+ (car x-pos) (* x-ln 1/4)) > (+ (* dir pad) (+ (car pos) (* dir (+ 0.5 height-corr))))) > ;; third cp > (cons > (+ (car x-pos) (* x-ln 3/4)) > (+ (* dir pad) (+ (cdr pos) (* dir (- 0.5 height-corr))))) > ;; fourth cp > (cons > (- (cdr x-pos) 0.5) > (+ (* dir pad) (+ (cdr pos) (* -1 dir (cdr edge-height))))) > ))) > \override TupletBracket.staff-padding = #'() > #(define (invert-direction x) (if (eq? UP > (ly:tuplet-bracket::calc-direction x)) DOWN UP)) > \override TupletBracket.direction = #invert-direction > } > > > \layout { \tupletBracketToSlur } > > { a a \tuplet 3/2 { a8 a a } a4 } > <curved.png>_______________________________________________ > lilypond-user mailing list > lilypond-user@gnu.org > https://lists.gnu.org/mailman/listinfo/lilypond-user _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user