On 2020-05-04 08:14, Valentin Villenave wrote:
On 5/3/20, Paul Scott <[email protected]> wrote:Out of simple curiosity what is the purpose of the \compressMMRests { } structure rather than the \set or \override action I would think of? I'm guessing \compressMMRests does \set \unset or \override \revert pairs.As you can see if you open the music-functions-init.ly file in your LilyPond installation, it’s a fairly simple music function that relies on the skipBars property: https://git.savannah.gnu.org/cgit/lilypond.git/tree/ly/music-functions-init.ly#n313 As does compressEmptyMeasures, formerly compressFullBarRests -- but these are just a mere override: https://git.savannah.gnu.org/cgit/lilypond.git/tree/ly/property-init.ly#n168 Now, your question is exactly why I felt the need to add a whole new subsection to the Notation Reference: http://lilypond.org/doc/v2.21/Documentation/notation/writing-parts#compressing-empty-measures I hope this can answer your question (as well as the rationale behind the renaming of FullbarRests into EmptyMeasures); please do tell us if that seems unclear to you or if you have some suggestions to improve that part of the documentation.
What was the rationale to recommend (and only mention) \compressMMRests instead of \compressEmptyMeasures in http://lilypond.org/doc/v2.21/Documentation/notation/writing-rests#full-measure-rests? In my opinion, it's a bit more cumbersome to use the music function syntax than the macro \compressEmptyMeasures, especially for unexperienced LilyPond users. The situation with multi-measure note durations, described in your new subsection, should be extremely rare in practice (perhaps except in cases where the user made a typo in the input). During all my years of lilypond use, I've never suffered from the problem and I've used the predecessor of \compressEmptyMeasures quite a lot.
Mats
