On 2026-03-01 04:14, Arnold wrote:
Another question, Dan:
How realistic do you think are 'unstrechable skips' and 'before barline
cadenzas' to be implemented in LILYPOND?
> What I mean:> unstrechable skips:
* it's 'spring of the grob' is at least 1000 times harder
than normal
That seems quite a departure from the topic of this thread -- but I have
too little experience with line breaking to answer it anyway.
before barline cadenzas:
> {
c'1 \ceasura
% no bar line here
\beforeBarlineCadenza
\unstretchableSkip 2 % duration; not visible in the sheet music
\cadenzaOff
% here comes the regular bar line
d'4 f' g' b'
c''1
I have been working on supporting "senza misura" and irregular measures
without disabling timing as \cadenzaOn does. The work is
proof-of-concept quality and needs to be cleaned up and tested more
thoroughly. Rewriting support for complex time signatures delayed me
from reaching my goal of contributing it to 2.26, but it's the first big
thing I'd like to do in 2.27.
In its most basic form, it looks like this:
{
%{ a measure in the prevailing time signature %} |
%{ ditto ... %} |
\measure { %{ arbitrary music %} } |
%{ a measure in the prevailing time signature %} |
%{ ditto ... } |
}
LilyPond will insert automatic bar lines around irregular measures and
beam automatically within them according to the prevailing time
signature (which can be none -- if \senzaMisura is in effect).
Handling partial measures at the ends of repeated sections is more
complicated. I expect to provide variations of \measure for "the former
part of a measure" and "the latter part of a measure", as well as a
low-level \setRemainingMeasureLength command that complements \partial.
These two suggested features could also be used to place clef change,
time signature change and key change between 'repeat end' bar and
'repeat start' bar, which is an example in 'Behind Bars' (on page 253 of
the german translation)
[We're getting pretty far from the topic of tempo changes now.]
These are deficiencies of LilyPond that I care a lot about, but I don't
like stacking up complications and work-arounds such as measures that
are there but aren't really there.
The input language can already cleanly describe a clef (or tempo or key)
change before and after a repeat:
\alternative {
{ ... \clef "bass" }
{ \clef "treble" ... }
}
I've spent a lot of time and made a lot of progress generating warning
and reminder clefs from input like this.
I've also spent a lot of time and made a lot of progress making bar
lines divide themselves automatically in the presence of items such as
clefs.
Individually, either of these could be cleaned up enough to make it
through review. The problem is that they interfere with each other.
I'm less interested in adding more work-arounds and more interested in
producing faithful output from clear input, so I would rather spend time
sorting out how to avoid circular dependencies.
--
Dan