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

Reply via email to