On Thu, 2018-06-28 at 14:52 +0100, Richard Shann wrote: > On Thu, 2018-06-28 at 09:09 +0100, Richard Shann wrote: > > On Wed, 2018-06-27 at 17:00 +0200, Simon Albrecht wrote: > > > On 26.06.2018 09:11, Richard Shann wrote: > > > > In this connection, I noticed that LilyPond skips printing the > > > > bar > > > > number at the beginning of each line if the bar is being split > > > > over > > > > a > > > > line. > > > > > > That’s configurable: > > > > > > %%%%%%%%%%%%%%%%%%%%%%% > > > \version "2.19.80" > > > > > > \layout { > > > \context { > > > \Score > > > barNumberVisibility = #(every-nth-bar-number-visible 1) > > > \override BarNumber.break-visibility = #begin-of-line- > > > visible > > > } > > > } > > > > > > { > > > 1 2 \bar "" \break 2 > > > } > > > %%%%%%%%%%%%%%%%%%%%%%% > > > > > > > Thanks - that's useful, I've added it to Denemo's "Allow breaks at > > half > > bar" command. It also suggests that if I look for where the > > parenthesized measure numbers are generated in LilyPond's sources I > > might be able to trigger a warning to the user that a bar has been > > broken, and they (or Denemo) can look for possible repeat > > accidentals > > to add. > > I've had a go at finding where the "(" is added to the bar number > markup and found that > > \version "2.19.43" > > #(define-public ((every-nth-bar-number-visible n) barnum mp) > (display "\n\n\nhello\n\n\n") > (= 0 (modulo barnum n))) > > \layout { > \context { > \Score > barNumberVisibility = #(every-nth-bar-number-visible 1) > \override BarNumber.break-visibility = #begin-of-line-visible > } > } > > { > a1 a2 \bar "" \break a2 > } > > Does issue "hello" on standard out, so I could issue a warning there, > but the only place the "(" seems to be added is at > > (define-public (robust-bar-number-function ...) > > in scm/translation-functions.scm > > and this procedure does *not* seemed to be called in compiling that > example. Anyone any clues about where in the source code the "(" is > added to a bar numbering?
Ha! I find that the following code \version "2.19.43" #(define-public ((every-nth-bar-number-visible n) barnum mp) (if (positive? (ly:moment-main-numerator mp)) (format #t "Warning bar ~A is broken\n" barnum)) (= 0 (modulo barnum n))) \layout { \context { \Score barNumberVisibility = #(every-nth-bar-number-visible 1) \override BarNumber.break-visibility = #begin-of-line-visible } } { a1 a2 \bar "" \break a2 a1 } Gives the needed warning when a bar is broken, but I guess it is not going to be possible to identify which \score {} block the mid bar break occurred ... The user knows a bar number n has been broken, but not which movement that was in. Richard _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user