Previous: Using break-visibility, Up: Visibility of objects


Special considerations

Visibility following explicit changes

The break-visibility property controls the visibility of key signatures and changes of clef only at the start of lines, i.e. after a break. It has no effect on the visibility of the key signature or clef following an explicit key change or an explicit clef change within or at the end of a line. In the following example the key signature following the explicit change to B-flat major is still visible, even though all-invisible is set.

     
     \key g \major
     f4 g a b
     % Try to remove all key signatures
     \override Staff.KeySignature #'break-visibility = #all-invisible
     \key bes \major
     f4 g a b
     \break
     f4 g a b
     f4 g a b

[image of music]

The visibility of such explicit key signature and clef changes is controlled by the explicitKeySignatureVisibility and explicitClefVisibility properties. These are the equivalent of the break-visibility property and both take a vector of three booleans or the predefined functions listed above, exactly like break-visibility. Both are properties of the Staff context, not the layout objects themselves, and so they are set using the \set command. Both are set by default to all-visible. These properties control only the visibility of key signatures and clefs resulting from explicit changes and do not affect key signatures and clefs at the beginning of lines; break-visibility must still be overridden in the appropriate object to remove these.

     
     \key g \major
     f4 g a b
     \set Staff.explicitKeySignatureVisibility = #all-invisible
     \override Staff.KeySignature #'break-visibility = #all-invisible
     \key bes \major
     f4 g a b \break
     f4 g a b
     f4 g a b

[image of music]

Visibility of cautionary accidentals

To remove the cautionary accidentals printed at an explicit key change, set the Staff context property printKeyCancellation to #f:

     
     \key g \major
     f4 g a b
     \set Staff.explicitKeySignatureVisibility = #all-invisible
     \set Staff.printKeyCancellation = ##f
     \override Staff.KeySignature #'break-visibility = #all-invisible
     \key bes \major
     f4 g a b \break
     f4 g a b
     f4 g a b

[image of music]

With these overrides only the accidentals before the notes remain to indicate the change of key.

Automatic bars

As a special case, the printing of bar lines can also be turned off by setting the automaticBars property in the Score context. If set to #f, bar lines will not be printed automatically; they must be explicitly created with a \bar command. Unlike the \cadenzaOn predefined command, measures are still counted. Bar generation will resume according to that count if this property is later set to #t. When set to #f, line breaks can occur only at explicit \bar commands.

Octavated clefs

The small octavation symbol on octavated clefs is produced by the OctavateEight layout object. Its visibility is controlled independently from that of the Clef object, so it is necessary to apply any required break-visibility overrides to both the Clef and the OctavateEight layout objects to fully suppress such clef symbols at the start of each line.

For explicit clef changes, the explicitClefVisibility property controls both the clef symbol and any octavation symbol associated with it.

See also

Learning Manual: Visibility and color of objects

Cette page documente LilyPond-2.11.58 (branche de développement).

Rapportez toute anomalie en français à lilypond-user-fr@gnu.org ou en anglais à http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs

Vos suggestions à propos de la documentation sont les bienvenues.