\version "2.19.15" barLineAtSystemBeginning = #(lambda (context) (let ((text #f)) (make-engraver (acknowledgers ((system-start-text-interface engraver grob source-engraver) (set! text grob))) ((process-music trans) (if (ly:grob? text) (let ((bar-number (ly:context-property context 'currentBarNumber))) (set! (ly:grob-property text 'text) (markup (number->string bar-number))))))))) #(define (use-my-text text-list) (lambda (grob) (let* ((orig (ly:grob-original grob)) (siblings (if (ly:grob? orig) (ly:spanner-broken-into orig) '())) (text-list (cons "" text-list))) (let loop ((sibs siblings) (text text-list)) (if (or (null? sibs) (null? text)) '() (begin (ly:grob-set-property! (car sibs) 'text (car text)) (loop (cdr sibs) (cdr text)))))))) music = \repeat unfold 20 { c4 d e f } %%%%% Engraver %%%%% \score { \new PianoStaff \with { instrumentName = "" } << \new Staff { \relative c'' { \music } } \new Staff { \clef bass \music } >> \layout { \context { \Score \consists #barLineAtSystemBeginning \remove "Bar_number_engraver" } } } %%%%%%%% WORKS BUT CAN'T BE AUTOMATED \score { \new PianoStaff \with { instrumentName = "" } << \new Staff { \relative c'' { \music } } \new Staff { \clef bass \music } >> \layout { \context { \Score \override InstrumentName.after-line-breaking = #(use-my-text '("7" "14")) \remove "Bar_number_engraver" } } }