Le 27/10/2020 à 17:21, 98123981293 1293812397123 a écrit :
Hi Aaron,
I tried all three of your solutions and get the same error:
Unsupported SCM value for format: (rmoveto 2.777338 1/2 rcurveto
1.81180552352106 0 5.43541657056318 -1 5.43541657056318 -3/2)
Converting to `document.pdf'...
warning: `(gs -q -dNODISPLAY -dNOSAFER -dNOPAUSE -dBATCH
-dAutoRotatePages=/None -dPrinted=false ./tmp--tmp-1982250)' failed (1)
I appreciate the attempt though. Will keep this in the back of my mind
for future learning; for now will probably just use regular glissando.
-Kyle
Hello,
In recent versions of LilyPond (2.21.5 and higher), you have to remove
inner quoting when constructing stencils:
%%%%
\version "2.20.0"
bend-glissando-print =
#(lambda (grob)
(let* ((lnh (ly:spanner-bound grob LEFT))
(rnh (ly:spanner-bound grob RIGHT))
(lsp (ly:grob-staff-position lnh))
(rsp (ly:grob-staff-position rnh))
(dy (/ (- rsp lsp) 2))
(dot (ly:grob-object lnh 'dot))
(acc (ly:grob-object rnh 'accidental-grob))
(th (* (ly:grob-property grob 'thickness 1)
(ly:output-def-lookup (ly:grob-layout grob)
'line-thickness)))
(pad (ly:grob-property grob 'padding 0.5))
(cmx (ly:grob-common-refpoint
(ly:grob-common-refpoint grob lnh X) rnh X))
(cmy (ly:grob-common-refpoint grob lnh Y))
(lx (+ pad (max (interval-end (ly:generic-bound-extent lnh cmx))
(if dot
(interval-end
(ly:grob-robust-relative-extent dot cmx X))
(- INFINITY-INT)))))
(rx (- (min (interval-start (ly:generic-bound-extent rnh cmx))
(if acc
(interval-start
(ly:grob-robust-relative-extent acc cmx X))
INFINITY-INT))
pad))
(dx (- rx lx))
(sx (ly:grob-relative-coordinate grob cmx X)))
(ly:make-stencil
(list 'path th
` ; (quote
(rmoveto ,(- lx sx) ,(/ lsp 2)
rcurveto ,(/ dx 3) 0 ,dx ,(* dy 2/3) ,dx ,dy)) ; )
(cons (- lx sx) (- rx sx))
(cons (+ (/ lsp 2) (min 0 dy)) (+ (/ lsp 2) (max 0 dy))))))
bendGlissando =
\tweak thickness #2
\tweak stencil #bend-glissando-print
\glissando
{ c''2. \bendGlissando
\once \override NoteColumn.glissando-skip = ##t
e'4 gis'1 }
%%%%
Best regards,
Jean