Hi, how about:
\version "2.14.1" #(define my-bar-glyph-alist '(("|" . ("|" . "|")))) #(define (my-bar-line::calc-glyph-name grob) (let* ((index-cell (lambda (cell dir) (if (equal? dir 1) (cdr cell) (car cell)))) (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)) #(define-public (my-bar-line::calc-break-visibility grob) (let* ((glyph (ly:grob-property grob 'glyph)) (result (assoc-get glyph my-bar-glyph-alist))) (if result (vector (string? (car result)) #t (string? (cdr result))) all-invisible))) rochade = \once\override Score.BreakAlignment #'break-align-orders = #(make-vector 3 '(left-edge staff-bar ambitus breathing-sign clef key-cancellation key-signature time-signature custos)) bars = { \once \override Staff.BarLine #'glyph-name = #my-bar-line::calc-glyph-name \once \override Staff.BarLine #'break-visibility = #my-bar-line::calc-break-visibility \rochade \bar "|" } one = \relative c' { %\once \override Score.SpanBar #'transparent = ##t \override Score.SystemStartBar #'transparent = ##t % \key, \break and \time inserted only for testing \bars \key d\major d1 e \break \bars \time 2/2 d } \score { \new StaffGroup << \new Staff \one \new Staff \one \new Staff \one \new Staff \one >> \layout { \context { \StaffGroup \remove "System_start_delimiter_engraver" } } } perhaps it could be done more elegant, but it seems to work. Or did I misunderstand you again? Cheers, Harm _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user