⌂ Polymetric section: printing full-measure rests
This situation seems to come up when the following conditions are met:
- We are using a global
invisible
voice in every staff for line breaking.
- The music in one or more staves is compressed so that its barlines are out of sync with the barlines of the global voice.
The problem is that although notes and ordinary rests compress in the offending staves, full measure rests adhere to the time of the global voice.
The solution is to scale the \time value for offending staves by a fraction of the global voice full-measure rest length.
In the example below, there are nine 3/8 measures in the time of four 3/8 measures. The nine are therefore compressed by 4/9ths. To get appropriate length full-measure rests in the nine, we must set the \time value for the nine bars to 4/9ths of 3/8, or 1/6.
We can then display a dummy
3/8 time signature.
You can see the error by replacing the 1/6 with 3/8 in the compressMusic block.