On 11 July 2010 15:36, Nick Baskin <amphio...@gmail.com> wrote: > I've encountered a similar problem in my scores. My solution has been to > create a command "beforeMark = { \once \override Score.BarNumber > #'break-visibility = ##(#f #f #f) }" at the beginning of the file, and then > call it when I have a mark (i.e. \beforeMark \mark \default). It seems to > work well for me.
If you're using 2.13, a Scheme engraver will automate this process: #(define (bar-number-visibility-engraver ctx) "Hides a bar number if it coincides with a rehearsal mark." (let ((mark #f) (bar-number #f)) `((acknowledgers (break-alignable-interface . ,(lambda (trans grob source) (and (not (grob::has-interface grob 'mark-interface)) (set! bar-number grob)))) (mark-interface . ,(lambda (trans grob source) (set! mark grob)))) (process-acknowledged . ,(lambda (trans) (and mark bar-number (set! (ly:grob-property bar-number 'break-visibility) all-invisible)))) (stop-translation-timestep . ,(lambda (trans) (set! mark #f) (set! bar-number #f)))))) \score { \new Staff \relative c' { \override Score.BarNumber #'break-visibility = #end-of-line-invisible \set Score.barNumberVisibility = #all-bar-numbers-visible \set Score.markFormatter = #format-mark-box-letters \bar "" \repeat unfold 10 { c1 \mark \default c1 } } \layout { \context { \Score \consists #bar-number-visibility-engraver } } } Cheers, Neil
<<attachment: hide-bar-number.png>>
_______________________________________________ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user