| [ << Musical notation ] | [Top][Contents][Index] | [ Specialist notation >> ] |
| [ < Formatting cue notes ] | [ Up : Writing parts ] | [ Editorial annotations > ] |
Compressing empty measures
By default, all measures are printed even if they are empty – which can happen if a rhythmic event (such as notes, rests or invisible rests) is so long as to span several measures. This behavior can be changed by contracting all empty measures into a single one, as illustrated here (the second part of this example, with expanded measures, actually reverts back to the default behavior):
\override Score.BarNumber.break-visibility = ##(#f #t #t) \time 2/4 \compressEmptyMeasures c'1 d'1. e'\breve \bar "||" \expandEmptyMeasures c'1 d'1. e'\breve![]()
Although that notation is syntactically correct, it may be
confusing from a musical point of view, as illustrated in
the previous example; hence the need for measure numbers
to be explicitly printed, using the syntax described in
Using break-visibility.
Where such a notation may become more useful is when applied to Full measure rests. A multi-measure rest will then be shown as a single measure containing a multi-measure rest symbol, with the number of measures of rest printed above the measure:
% Default behavior \time 3/4 r2. | R2.*2 | \time 2/4 R2 | \time 4/4 % Rest measures contracted to single measure \compressEmptyMeasures r1 | R1*17 | R1*4 | \expandEmptyMeasures % Rest measures expanded again \time 3/4 R2.*2 |![]()
Unlike \compressEmptyMeasures, the music function
\compressMMRests will only apply to rests, leaving
any other events uncompressed. As a function rather than
a property setting, its syntax differs slightly in that
it must be followed by a music expression:
\compressMMRests { % Rests are compressed... R1*7 % ... but notes can still span multiple measures. g'1 a'1*2 d'1 R1*2 }![]()
All of the commands described in this section actually
rely on the skipBars internal property, which is
set in the Score context, see \set and \unset.
Predefined commands
\compressEmptyMeasures,
\expandEmptyMeasures,
\compressMMRests.
Selected Snippets
Numbering single measure rests
Multi measure rests show their length by a number except for single
measures. This can be changed by setting restNumberThreshold.
{ \compressEmptyMeasures R1 R1*10 R1*11 \bar "||" \set restNumberThreshold = 0 R1 R1*10 R1*11 \bar "||" \set restNumberThreshold = 10 R1 R1*10 R1*11 }![]()
Changing form of multi-measure rests
If there are ten or fewer measures of rests, a series of longa and
breve rests (called in German “Kirchenpausen” - church rests) is
printed within the staff; otherwise a simple line is shown. This
default number of ten may be changed by overriding the
expand-limit property.
\relative c'' { \compressMMRests { R1*2 | R1*5 | R1*9 \override MultiMeasureRest.expand-limit = 3 R1*2 | R1*5 | R1*9 } }![]()
See also
Notation Reference:
Using break-visibility,
Full measure rests,
\set and \unset.
Internals Reference: MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript, MultiMeasureRestText.
| [ << Musical notation ] | [Top][Contents][Index] | [ Specialist notation >> ] |
| [ < Formatting cue notes ] | [ Up : Writing parts ] | [ Editorial annotations > ] |
![[image of music]](../c5/lily-4742bfbc.png)
![[image of music]](../c3/lily-d1c5124c.png)
![[image of music]](../fe/lily-8ce6b54a.png)
![[image of music]](../6a/lily-a7400835.png)
![[image of music]](../db/lily-da7864c1.png)