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

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to