On 10/28/2017 1:43 AM, Andrew Bernard wrote:
Hi James,
This comes up so frequently it puzzles me why it is not considered for
addition to the lilypond baseline.
Here's my function.
Andrew
=== snip
\version "2.19.39"
% Annotation bracket with centred text.
% Andrew Bernard and Thomas Morley
TextSpannerCentredText =
#(define-music-function (text extra-length) (string? pair?)
"Use TextSpanner semantics to create spanner brackets with centred text"
#{
\once \override TextSpanner.after-line-breaking =
#(lambda (grob)
(let* (
;; get stencil of grob
(stil (ly:grob-property grob 'stencil))
;; get spanner length
(spanner-len (interval-length (ly:stencil-extent stil X)))
;; make stencil from text arg
(text-stil (grob-interpret-markup grob
(markup #:sans #:upright text)))
;; get text length
(text-len (interval-length (ly:stencil-extent text-stil
X))))
...................................etc........................
Andrew,
Thank you so much for sharing this function. It will come in handy for a
project I'll be working on shortly.
However, I had one question for you.
I just went to try to use the function 'as is' and I'm seeing an error.
I cannot use the function at the moment.
Do you know what this means, and how I can fix it?
(I just simply copied and pasted it into Frescobaldi and attempted to
use it - no tweaks)
Thanks!
/ Drawing systems...//
// line:31 32:15: In procedure memoization in expression (let* (# # #
...) (ly:grob-set-property! grob # ...))//
//* Bad binding parts in expression*//(let* ((dir (ly:grob-property
grob (quote direction))) (padding 1) (thickness 0.25) (left-ext (car
extra-length)) (right-ext (cdr extra-length)) (path-part-len (/ (-
spanner-len text-len) 2)) (path-left-part-stil (make-path-stencil
(quasiquote (moveto (unquote #) (unquote #) lineto (unquote #) 0 lineto
(unquote path-part-len) 0)) thickness 1 1 #f)) (path-right-part-stil
(make-path-stencil (quasiquote (moveto (unquote #) (unquote #) lineto
(unquote #) 0 lineto 0 0)) thickness 1 1 #f)) parts (full-stil
(stack- stencils X RIGHT padding (list path-left-part-stil
(centered-stencil text-stil) path-right-part-stil))))
(ly:grob-set-property! grob (quote stencil)
full-stil)).......etc............./
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user