4 lsrtags = "contexts-and-engravers"
7 The notation problem, creating a certain symbol, is handled by plugins.
8 Each plugin is called an Engraver. In this example, engravers are
9 switched on one by one, in the following order:
23 - beams, slurs, accents,
26 - accidentals, bar lines, time signature and key signature.
30 Engravers are grouped. For example, note heads, slurs, beams etc. form
31 a @code{Voice} context. Engravers for key signature, accidentals, bar
32 line, etc. form a @code{Staff} context.
35 doctitle = "Engravers one-by-one"
40 topVoice = \relative c' {
48 botVoice = \relative c' {
52 es16[-. es-. es-. fis-.]
77 % setup for Request->Element conversion. Guru-only
81 \type "Engraver_group"
84 \description "Handles clefs, bar lines, keys, accidentals. It can contain
85 @code{Voice} contexts."
87 \consists "Output_property_engraver"
89 \consists "Font_size_engraver"
91 \consists "Volta_engraver"
92 \consists "Separating_line_group_engraver"
93 \consists "Dot_column_engraver"
95 \consists "Ottava_spanner_engraver"
96 \consists "Rest_collision_engraver"
97 \consists "Piano_pedal_engraver"
98 \consists "Piano_pedal_align_engraver"
99 \consists "Instrument_name_engraver"
100 \consists "Grob_pq_engraver"
101 \consists "Forbid_line_break_engraver"
102 \consists "Axis_group_engraver"
104 \consists "Pitch_squash_engraver"
106 localKeySignature = #'()
108 % explicitly set instrumentName, so we don't get
109 % weird effects when doing instrument names for
112 instrumentName = #'()
113 shortInstrumentName = #'()
120 \type "Engraver_group"
124 Corresponds to a voice on a staff. This context handles the
125 conversion of dynamic signs, stems, beams, super- and subscripts,
126 slurs, ties, and rests.
128 You have to instantiate this explicitly if you want to have
129 multiple voices on the same staff."
131 localKeySignature = #'()
132 \consists "Font_size_engraver"
134 % must come before all
135 \consists "Output_property_engraver"
136 \consists "Arpeggio_engraver"
137 \consists "Multi_measure_rest_engraver"
138 \consists "Text_spanner_engraver"
139 \consists "Grob_pq_engraver"
140 \consists "Note_head_line_engraver"
141 \consists "Glissando_engraver"
142 \consists "Ligature_bracket_engraver"
143 \consists "Breathing_sign_engraver"
144 % \consists "Rest_engraver"
145 \consists "Grace_beam_engraver"
146 \consists "New_fingering_engraver"
147 \consists "Chord_tremolo_engraver"
148 \consists "Percent_repeat_engraver"
149 \consists "Slash_repeat_engraver"
152 Must come before text_engraver, but after note_column engraver.
154 \consists "Text_engraver"
155 \consists "Dynamic_engraver"
156 \consists "Fingering_engraver"
158 \consists "Script_column_engraver"
159 \consists "Rhythmic_column_engraver"
160 \consists "Cluster_spanner_engraver"
161 \consists "Tie_engraver"
162 \consists "Tie_engraver"
163 \consists "Tuplet_engraver"
164 \consists "Note_heads_engraver"
165 \consists "Rest_engraver"
172 \context { \MyStaff }
173 \context { \MyVoice }
180 \consists "Staff_symbol_engraver"
186 \context { \MyStaff }
187 \context { \MyVoice }
193 \consists "Clef_engraver"
194 \remove "Pitch_squash_engraver"
200 \context { \MyStaff }
201 \context { \MyVoice }
207 \consists "Stem_engraver"
213 \context { \MyStaff }
214 \context { \MyVoice }
220 \consists "Beam_engraver"
226 \context { \MyStaff }
227 \context { \MyVoice }
233 \consists "Phrasing_slur_engraver"
234 \consists "Slur_engraver"
235 \consists "Script_engraver"
242 \context { \MyStaff }
243 \context { \MyVoice }
249 \consists "Bar_engraver"
250 \consists "Time_signature_engraver"
256 \context { \MyStaff }
257 \context { \MyVoice }
263 \consists "Accidental_engraver"
264 \consists "Key_engraver"
269 \context { \MyStaff }
270 \context { \MyVoice }