On 14/01/17 21:29, Richard Shann wrote: <snip> > > Here's a complete working example: > 8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8>< > > %% LilyPond file generated by Denemo version 2.0.17 > > %%http://www.gnu.org/software/denemo/ > > \version "2.18.0" > > > > 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, maybe 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 > } > > > \score { %Start of Movement > << > > %Start of Staff > \new Staff << > > \tuplet 3/2 { c''4 d'' e'' } > > > >> %End of Staff > > >> > > \layout { > \tupletBracketToSlur > } > > } %End of Movement > > 8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8>< > > HTH Richard > > Thanks Richard. I cut everything from the version string to the '%End Movement' and pasted it between the <score> ... </score> pair. The error message was: ------------%<----------------------- Processing `.../file.ly' Parsing... .../file.ly:14:1: error: unrecognized string, not in text script or \lyricmode
tupletBracketToSlur = { .../file.ly:14:21: error: syntax error, unexpected '=' tupletBracketToSlur = { .../file.ly:80:9: error: unknown escaped string: `\tupletBracketToSlur' \tupletBracketToSlur .../file.ly:81:9: error: syntax error, unexpected '}' } .../file.ly:93:25: error: syntax error, unexpected '}' } fatal error: failed files: ".../file.ly" exited with status: 1 -------------%<------------------ I suspect the outer processing or else the low version are going to waste a lot of time, so I've gone back to using square type brackets, the slur type were not clear. Thanks for the help everybody, Martin
signature.asc
Description: OpenPGP digital signature
_______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user