\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 }