Jump to content

Using the whiteout property: Difference between revisions

From LilyPond wiki
No edit summary
mNo edit summary
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
Any graphical object can be printed over a white background to mask parts of objects that lie beneath. This can be useful to improve the appearance of collisions in complex situations when repositioning objects is impractical. It is necessary to explicitly set the <code>layer</code> property to control which objects are masked by the white background.
Any graphical object can be printed over a white background to mask parts of objects that lie beneath. This can be useful to improve the appearance of collisions in complex situations when repositioning objects is impractical. It is necessary to explicitly set the <code>layer</code> property to control which objects are masked by the white background.


In this example the collision of the tie with the time signature is improved by masking out the part of the tie that crosses the time signature, setting the <code>whiteout</code> property of <code>TimeSignature</code>. To do this, <code>TimeSignature</code> is moved to a layer above <code>Tie</code>, which is left in the default layer 1, and <code>StaffSymbol</code> is moved to a layer above <code>TimeSignature</code> so it is not masked.
In this example the collision of the tie with the time signature is improved by masking out the part of the tie that crosses the time signature, setting the <code>whiteout</code> property of <code>TimeSignature</code>. To do this, <code>TimeSignature</code> is moved to a layer above <code>Tie</code>, which is left in the default layer&nbsp;1, and <code>StaffSymbol</code> is moved to a layer above <code>TimeSignature</code> so it is not masked.


<lilypond version="2.24">
<lilypond version="2.24">
Line 14: Line 14:
</lilypond>
</lilypond>


[[Category:Editorial annotations]]
[[Category:Expressive marks]]
[[Category:Expressive marks]]
[[Category:Editorial annotations]]
[[Category:Included in the official documentation]]
[[Category:Included in the official documentation]][[Category:Snippet]]
[[Category:Snippet]]

Latest revision as of 14:09, 12 December 2025

Any graphical object can be printed over a white background to mask parts of objects that lie beneath. This can be useful to improve the appearance of collisions in complex situations when repositioning objects is impractical. It is necessary to explicitly set the layer property to control which objects are masked by the white background.

In this example the collision of the tie with the time signature is improved by masking out the part of the tie that crosses the time signature, setting the whiteout property of TimeSignature. To do this, TimeSignature is moved to a layer above Tie, which is left in the default layer 1, and StaffSymbol is moved to a layer above TimeSignature so it is not masked.

\version "2.24"

{
  \override Score.StaffSymbol.layer = 4
  \override Staff.TimeSignature.layer = 3
  b'2 b'~
  \once \override Staff.TimeSignature.whiteout = ##t
  \time 3/4
  b' r4
}