\version "2.12.0" %Centers markL = \once \override Score.RehearsalMark #'self-alignment-X = #-1 emptyMark = \once \override Score.RehearsalMark #'X-extent = #'(0 . 0) #(set-default-paper-size "letter") %bowings dwn = \downbow up = \upbow %breath mark as pause pause = {\once \override BreathingSign #'extra-offset = #'(0.0 . 1.0)\breathe} %invisible notes for hanging ties inv = { \override Voice.NoteHead #'transparent = ##t \override Voice.Stem #'transparent = ##t } unv = { \revert Voice.NoteHead #'transparent \revert Voice.Stem #'transparent } %tremolo % parentheses #(define (parenthesize-callback callback) (define (parenthesize-stencil grob) (let* ((fn (ly:grob-default-font grob)) (pclose (ly:font-get-glyph fn "accidentals.rightparen")) (popen (ly:font-get-glyph fn "accidentals.leftparen")) (subject (callback grob)) ; get position of stem (stem-pos (ly:grob-property grob 'stem-attachment)) ; remember old size (subject-dim-x (ly:stencil-extent subject 0)) (subject-dim-y (ly:stencil-extent subject 1))) ;; add parens (set! subject (ly:stencil-combine-at-edge (ly:stencil-combine-at-edge subject 0 1 pclose 0) 0 -1 popen 0)) ; adjust stem position (ly:grob-set-property! grob 'stem-attachment (cons (- (car stem-pos) 0.43) (cdr stem-pos))) ; adjust size (ly:make-stencil (ly:stencil-expr subject) (cons (- (car subject-dim-x) 0.5) (+ (cdr subject-dim-x) 0.5)) subject-dim-y))) parenthesize-stencil)