%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% #(define was-empty "|") % cribbed from output-lib.scm version 2.12 #(define my-bar-glyph-alist `((":|:" . (":|" . "|:")) (":|.|:" . (":|" . "|:")) (":|.:" . (":|" . "|:")) ("||:" . ("||" . "|:")) ("dashed" . ("dashed" . '())) ("|" . ("|" . ,was-empty)) ("||:" . ("||" . "|:")) ("|s" . (() . "|")) ("|:" . ("|" . "|:")) ("|." . ("|." . ,was-empty)) (".|" . ("|" . ".|")) (":|" . (":|" . ,was-empty)) ("||" . ("||" . ,was-empty)) (".|." . (".|." . ,was-empty)) ("|.|" . ("|.|" . ,was-empty)) ("" . ("" . "")) (":" . (":" . "")) ("." . ("." . ())) ("'" . ("'" . ())) ("empty" . (() . ())) ("brace" . (() . "brace")) ("bracket" . (() . "bracket")) )) #(define (index-cell cell dir) (if (equal? dir 1) (cdr cell) (car cell))) #(define (my-calc-glyph-name grob) (let* ( (glyph (ly:grob-property grob 'glyph)) (dir (ly:item-break-dir grob)) (result (assoc glyph my-bar-glyph-alist)) (glyph-name (if (= dir CENTER) glyph (if (and result (string? (index-cell (cdr result) dir))) (index-cell (cdr result) dir) #f)))) glyph-name)) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \version "2.12" sevenSeas = { c'1 c'1 c'1 c'1 c'1 c'1 c'1 } \new DrumStaff \with { \remove Clef_engraver drumStyleTable = #percussion-style \override StaffSymbol #'line-count = #1 \override BarLine #'break-visibility = #'#(#t #t #t) } { \override Staff.BarLine #'glyph-name = #my-calc-glyph-name % apply \override Staff.BarLine #'bar-size = #3 \override Score.RehearsalMark #'font-size = 1 \sevenSeas \break \sevenSeas \break \sevenSeas \break \time 2/2 \sevenSeas \break \time 4/4 \repeat volta 2 \sevenSeas \break \time 2/2 \repeat volta 2 \sevenSeas \break }