lilypond-devel
[Top][All Lists]
Advanced

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

Re: \fine, pre-process-in-final-translation-timestep & co.


From: Jean Abou Samra
Subject: Re: \fine, pre-process-in-final-translation-timestep & co.
Date: Fri, 8 Jul 2022 19:39:51 +0200

> Le 5 juil. 2022 à 08:11, Jean Abou Samra <jean@abou-samra.fr> a écrit :
> 
> Neither am I, but it is the only idea I could propose.



Well, here is another, completely different one.

Instead of rearranging the translation process to let \fine abort translation, 
let translation run normally until the end.

Then, ‘cut’ the result. For MIDI, that shouldn’t be too hard: while outputting, 
just stop where \fine was used. For layout output, there is already a 
battle-tested algorithm, the one used to break into pieces after determining 
page breaking. I think it should be feasible to adapt it to run right after 
translation a first time to eliminate the part after \fine. More precisely, it 
should be as if a \break was present as \fine and the subsequent systems were 
not printed.

For example, whether an item on the non-musical column at the point of \fine is 
included depends on whether its break-visibility makes it visible at EOL. The 
fine text itself will thus be included, while a rehearsal mark won’t. That is 
just as expected.

After all, it might be the only fully correct of doing it. Imagine a hairpin 
starting before fine and ending after. How steep the change in MIDI volume 
should be depends on its end moment and the absolute dynamic that is there, 
which can’t be known if translation is aborted at \fine.

Jean





reply via email to

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