[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Accidental style in presence of mid-bar line breaks.
From: |
Richard Shann |
Subject: |
Re: Accidental style in presence of mid-bar line breaks. |
Date: |
Thu, 28 Jun 2018 16:52:47 +0100 |
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