[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Bar count wrong after multirest
From: |
Simon Albrecht |
Subject: |
Re: Bar count wrong after multirest |
Date: |
Sat, 31 Oct 2015 23:14:56 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 |
Hello Silas,
On 31.10.2015 23:06, Silas S. Brown wrote:
Hi, I wonder if someone could put in a feature request for better
diagnostics of the following mistake. I gave this to Lilypond version 2.18.2:
\score { << \new Staff << \context Voice = TheMusic {
\compressFullBarRests
\override Score.BarNumber.break-visibility = #end-of-line-invisible
\set Score.barNumberVisibility = #(every-nth-bar-number-visible 1)
\time 4/4 R1*3 | c'' | d''
} >> >> \layout{} }
and got a PDF where the 3-bar rest is followed by bar 4 (correct), but the
next bar is 7 instead of 5.
The cause of this appears to be that, at least as far as bar numbering is
concerned, the length of "1*3" from the "R1*3" persists for the c''.
Which is the whole reason: as always, if you don’t give a new duration
for a note or rest, it will use the duration from the previous one. So
you have to enter c''1 explicitly in order to fix the problem.
I was
just thinking it would be a single semibreve (whole note), and indeed it
LOOKS like a single semibreve, but the bar numbering still counts it as 3 bars.
If you insert
%%%%%%%%%%%%%
\layout {
\context {
\Voice
\remove "Note_heads_engraver"
\consists "Completion_heads_engraver"
}
}
%%%%%%%%%%%%
into your input file and compile it, you’ll see that the c'' semibreve
really fills three bars and the bar numbering is correct here. 1*3 means
a duration of a semibreve, scaled by three. The MultiMeasureRest engine
just handles this different than it is handled for notes.
HTH, Simon