2017-12-02 21:41 GMT+01:00 David Kastrup <d...@gnu.org>: > Thomas Morley <thomasmorle...@gmail.com> writes: > >> The stencil-procedure for InstrumentName, system-start-text::print, >> explecitely disallows printing an InstrumentName in the middle of a >> system. >> No clue about the reasoning. > > Well, otherwise an InstrumentName would appear everywhere, wouldn't it?
I don't see any problem, even with the extended example below. Ofcourse there's a collision with the SpanBar, but this is expected, imho. #(define-public (my-system-start-text::print grob) (let* ((orig (ly:grob-original grob)) (siblings (if (ly:grob? orig) (ly:spanner-broken-into orig) '() )) (long-text (ly:grob-property grob 'long-text #f)) (text (ly:grob-property grob 'text #f))) (cond ((and long-text (pair? siblings) (equal? grob (car siblings))) (grob-interpret-markup grob long-text)) ((and text (pair? siblings) (member grob (cdr siblings))) (grob-interpret-markup grob text)) (else (ly:grob-suicide! grob))))) \layout { \override Staff.InstrumentName.stencil = #my-system-start-text::print } \score { \new StaffGroup << \new Staff = "1" \with { instrumentName = "Top" shortInstrumentName = "t " } \repeat unfold 40 c'1 \new Staff \with { instrumentName = "Bottom" shortInstrumentName = "b " } { d' d' << \repeat unfold 38 d' \new Staff = "2" \with { instrumentName = "staff 2" shortInstrumentName = "s2 " alignAboveContext = "1" } { e' e' << \repeat unfold 36 e' \new Staff \with { instrumentName = "staff 3" shortInstrumentName = "s3 " alignAboveContext = "1" } \repeat unfold 36 f' >> } >> } >> } Cheers, Harm _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user