This one is a little better. - Mark
\version "2.13.0"
#(define (whiteout-clef-stil grob)
(let* ((x-pad 0.3)
(this-stil (ly:clef::print grob))
(stil-x-ext (ly:stencil-extent this-stil 0))
(stil-y-ext (ly:stencil-extent this-stil 1))
(box-x-ext (cons (- (car stil-x-ext) x-pad)
(+ (cdr stil-x-ext) x-pad)))
(box-y-ext stil-y-ext)
(box-w (- (cdr box-x-ext) (car box-x-ext)))
(box-h (- (cdr box-y-ext) (car box-y-ext)))
)
(ly:grob-set-property! grob 'stencil
(ly:stencil-add
(ly:make-stencil
(list 'embedded-ps
(ly:format
(string-append "gsave\n"
"currentpoint translate\n"
"1 setgray\n"
"~a ~a ~a ~a rectfill\n"
"grestore\n")
(car box-x-ext)
(car box-y-ext)
box-w
box-h))
stil-x-ext
stil-y-ext)
this-stil))))
#(define (whiteout-time-signature-stil grob)
(let* ((x-pad 1)
(this-stil (ly:time-signature::print grob))
(stil-x-ext (ly:stencil-extent this-stil 0))
(stil-y-ext (ly:stencil-extent this-stil 1))
(box-x-ext (cons (- (car stil-x-ext) x-pad)
(+ (cdr stil-x-ext) x-pad)))
(box-y-ext stil-y-ext)
(box-w (- (cdr box-x-ext) (car box-x-ext)))
(box-h (- (cdr box-y-ext) (car box-y-ext)))
)
(ly:grob-set-property! grob 'stencil
(ly:stencil-add
(ly:make-stencil
(list 'embedded-ps
(ly:format
(string-append "gsave\n"
"currentpoint translate\n"
"1 setgray\n"
"~a ~a ~a ~a rectfill\n"
"grestore\n")
(car box-x-ext)
(car box-y-ext)
box-w
box-h))
stil-x-ext
stil-y-ext)
this-stil))))
whiteoutClefs = {
\override Slur #'layer = #-2
\override Staff.Clef #'avoid-slur = ##f
\override Staff.Clef #'layer = #-1
\override Staff.Clef #'stencil = #whiteout-clef-stil
}
normalClefs = {
\revert Slur #'layer
\revert Staff.Clef #'avoid-slur
\revert Staff.Clef #'layer
\revert Staff.Clef #'stencil
}
whiteoutTimeSignatures = {
\override Slur #'layer = #-2
\override Tie #'layer = #-2
\override Staff.TimeSignature #'avoid-slur = ##f
\override Staff.TimeSignature #'layer = #-1
\override Staff.TimeSignature #'stencil =
#whiteout-time-signature-stil
}
normalTimeSignatures = {
\revert Slur #'layer
\revert Tie #'layer
\revert Staff.TimeSignature #'avoid-slur
\revert Staff.TimeSignature #'layer
\revert Staff.TimeSignature #'stencil
}
\markup "whiteoutClefs:"
{
\whiteoutClefs
\clef bass e2. d4(
\clef treble c''4) c''2.
}
\markup "whiteoutTimeSignatures:"
{
\whiteoutTimeSignatures
c''2. b'4^"(tie)"~
\time 3/4 b'2 f'4^"(slur)"(
\time 2/4 b'2)
}
\markup "both:"
{
\whiteoutClefs
\whiteoutTimeSignatures
\clef bass d2. d4(
\clef treble \time 3/4 e'4) e'2
}<<attachment: white-border_01.png>>
_______________________________________________ lilypond-user mailing list [email protected] http://lists.gnu.org/mailman/listinfo/lilypond-user
