bug-lilypond
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Barcheck warnings


From: Erik Sandberg
Subject: Barcheck warnings
Date: Wed, 7 Jan 2004 18:37:28 +0100
User-agent: KMail/1.5.4

Hi,

While I'm in this bugreporting/wishlist state, I'd just like to send another 
minor issue that irritates me sometimes. Barcheck failures that go on forever 
are not funny:

Suppose you have a long piece of music that has 2 staves. Suppose you do 
modify it, and you make a mistake so that the upper staff's bar 1 gets too 
short. Lilypond will now give two warnings for each bar in the piece, which 
might mean that you have to scroll up though ten pages of warnings to see 
what the it really is about. It should be possible to add a more intelligent 
mechanism that stops printing the barcheck warnings after a while, or perhaps 
one that issues new warnings only when there is a change in how far barchecks 
are misaligned (so that we report when new mistakes are being done).

As an example, consider the following:
\score { \notes <<
  \new Staff="A" {c4 |c1|c|c|c|c| c4 c c |}
  \new Staff="B" {c1 |c1|c|c|c|c| c1     |}
>>}
It contains two mistakes, in the first and last bar of stave A. Thus only two 
(or possibly four) warnings should be issued. But now it gives "warning: 
barcheck failed at: 1/4:" at each barline of stave A, and 
"warning: barcheck failed at: 3/4:" at each barline of stave B, resulting in a 
big bunch of uninteresting warnings. The second actual mistake is hard to 
spot among all these warnings.

One rule could be to not print the "barcheck failure at a/b" warning in a bar, 
if a "barcheck failure at a/b" with the same a and b occured on the last | of 
the same staff. But probably there also exist even more clever mechanisms.

Also, I have noticed that midi and paper seem to have separate barcheck 
mechanisms, the paper's being a bit more intelligent. Included in my wish is 
that both barcheck mechanisms should follow the same rules.

Erik





reply via email to

[Prev in Thread] Current Thread [Next in Thread]