[ << Changing defaults ] | [Top][Contents][Index] | [ Notation manual tables >> ] |
[ < Keeping contexts alive ] | [ Up : Interpretation contexts ] | [ Changing context default settings > ] |
5.1.4 Modifying context plug-ins
Notation contexts (like Score
and Staff
) not only
store properties, they also contain plug-ins called
engravers that create notation elements. For example, the
Voice
context contains a Note_heads_engraver
and the
Staff
context contains a Key_engraver
.
For a full a description of each plug-in, see Engravers and Performers. Every context described in Contexts lists the engravers used for that context.
It can be useful to shuffle around these plug-ins. This is done
by starting a new context with \new
or \context
, and
modifying it.
\new context \with { \consists … \consists … \remove … \remove … etc. } { …music… }
where each ‘…’ should be the name of an engraver. Here
is a simple example that removes Time_signature_engraver
and Clef_engraver
from a Staff
context.
<< \new Staff \relative { f'2 g } \new Staff \with { \remove Time_signature_engraver \remove Clef_engraver } \relative { f'2 g2 } >>
In the second staff there are no time signature or clef symbols. This is a rather crude method of making objects disappear since it affects the entire staff. This method also influences the spacing, which may or may not be desirable. More sophisticated methods of blanking objects are shown in Visibility and color of objects.
Known issues and warnings
The order in which the engravers are specified is the order in which they are called to carry out their processing. Usually the order in which the engravers are specified does not matter, but in a few special cases the order is important, for example where one engraver writes a property and another reads it, or where one engraver creates a grob and another must process it.
The following orderings are important:
- the
Bar_engraver
must normally be first, - the
New_fingering_engraver
must come before theScript_column_engraver
, - the
Timing_translator
must come before theBar_number_engraver
.
See also
Installed Files: ly/engraver-init.ly.
[ << Changing defaults ] | [Top][Contents][Index] | [ Notation manual tables >> ] |
[ < Keeping contexts alive ] | [ Up : Interpretation contexts ] | [ Changing context default settings > ] |