[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: automatic beaming of tuplets only - is this possible ?
From: |
Eby Mani |
Subject: |
Re: automatic beaming of tuplets only - is this possible ? |
Date: |
Tue, 21 Nov 2017 14:33:52 +0000 (UTC) |
Hi Ben, is there a similar snippet available for ly 2.16. ?. Thanks.
--------------------------------------------
On Tue, 21/11/17, Ben <address@hidden> wrote:
Subject: Re: automatic beaming of tuplets only - is this possible ?
To: address@hidden
Date: Tuesday, 21 November, 2017, 11:36 AM
On 11/21/2017 1:14 AM, Eby Mani wrote:
Hi All, I couldn't find how achieve the
following, i tried fiddling with \set Timing and
\overrideTimeSignatureSettings related commands for
beaming.
1, Automatically replace tuplet bracket with a slur.
Eby,
Does this help you? This code makes the bracket in
tuplets into a
curved slur.
http://lilypond.1069038.n5.nabble.com/Tuplets-curved-brackets-td207326.html
(image)
http://lilypond.1069038.n5.nabble.com/attachment/207328/0/curved.png
%%%%%%%%
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 address@hidden,
(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 }
_______________________________________________
lilypond-user mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/lilypond-user
-----Inline Attachment Follows-----