2 % setup for Request->Element conversion. Guru-only
5 StaffContext=\translator {
6 \type "Engraver_group_engraver";
8 \consists "Output_property_engraver";
11 Generic_property_list = #generic-staff-properties
12 \consists "Property_engraver";
14 \consists "Multi_measure_rest_engraver";
15 \consists "Bar_engraver";
16 % Bar_engraver must be first so default bars aren't overwritten
19 voltaPadding = #5 % urg, in \pt
20 voltaMinimumSpace = #25 % urg, in \pt
21 \consists "Repeat_engraver";
24 % name, glyph id, c0 position
25 supportedClefTypes = #'(
30 ("french" . ("G" -4 ))
31 ("soprano" . ("C" -4 ))
32 ("mezzosoprano" . ("C" -2 ))
35 ("baritone" . ("C" 4 ))
36 ("varbaritone" . ("F" 0))
41 clefPitches = #'(("G" . -4)
45 \consists "Clef_engraver";
46 \consists "Key_engraver";
47 \consists "Time_signature_engraver";
48 \consists "Staff_symbol_engraver";
49 \consists "Collision_engraver";
50 \consists "Rest_collision_engraver";
51 \consists "Local_key_engraver";
53 \consistsend "Axis_group_engraver";
58 The Instrument_name_engraver puts the name of the instrument
59 (\property Staff.instrument; Staff.instr for subsequent lines)
60 to the left of a staff.
61 Usually, you only want this in the full score, not in the parts.
63 \consists "Instrument_name_engraver";
66 defaultClef = #"treble"
68 \consists "Separating_line_group_engraver";
71 dynamicStyle = #"dynamic"
74 \translator{\StaffContext }
76 \type "Engraver_group_engraver";
78 alignmentReference = \center;
79 \consists "System_start_delimiter_engraver";
80 systemStartDelimiterGlyph = #'bracket
85 \accepts "RhythmicStaff";
86 \accepts "GrandStaff";
87 \accepts "PianoStaff";
91 \accepts "ChordNames";
95 RhythmicStaffContext=\translator{
96 \type "Engraver_group_engraver";
97 numberOfStaffLines = #1
98 \consists "Property_engraver";
99 \consists "Output_property_engraver";
101 Generic_property_list = #generic-staff-properties
103 barSize = #'staff-height
104 \consists "Pitch_squash_engraver";
105 \consists "Separating_line_group_engraver";
108 voltaPadding = #5 % urg, in \pt
109 voltaMinimumSpace = #15 % urg, in \pt
110 \consists "Repeat_engraver";
111 \consists "Bar_engraver";
112 \consists "Time_signature_engraver";
113 \consists "Staff_symbol_engraver";
114 \consistsend "Axis_group_engraver";
117 \translator{\RhythmicStaffContext}
119 VoiceContext = \translator {
120 \type "Engraver_group_engraver";
123 dynamicPadding = #3 % urg, in \pt
124 dynamicMinimumSpace = #6 % urg, in \pt
126 Generic_property_list = #generic-voice-properties
127 \consists "Output_property_engraver";
129 \consists "Dynamic_engraver"; % must come before text_engraver.
130 \consists "Property_engraver";
132 \consists "Breathing_sign_engraver";
133 \consists "Rest_engraver";
134 \consists "Dot_column_engraver";
135 \consists "Stem_engraver";
136 \consists "Beam_engraver";
137 \consists "Auto_beam_engraver";
138 \include "auto-beam-settings.ly";
140 \consists "Chord_tremolo_engraver";
141 \consists "Melisma_engraver";
142 textScriptPadding = #3.0
143 \consists "Text_engraver";
144 \consists "Script_engraver";
145 \consists "Script_column_engraver";
146 \consists "Rhythmic_column_engraver";
147 \consists "Slur_engraver";
148 \consists "Tie_engraver";
149 \consists "Tuplet_engraver";
150 \consists "Grace_position_engraver";
151 \consists "Skip_req_swallow_translator";
152 \accepts Thread; % bug if you leave out this!
156 GraceContext=\translator {
157 \type "Grace_engraver_group";
159 \consists "Output_property_engraver";
161 Generic_property_list = #generic-grace-properties
163 \consists "Note_heads_engraver";
164 \consists "Local_key_engraver";
165 \consists "Stem_engraver";
166 \consists "Beam_engraver";
167 \consists "Slur_engraver";
169 \consists "Auto_beam_engraver";
170 \include "auto-beam-settings.ly";
171 \consists "Align_note_column_engraver";
173 \consists "Rhythmic_column_engraver";
174 \consists "Dynamic_engraver";
175 \consists "Text_engraver";
177 \consists "Property_engraver";
181 weAreGraceContext = ##t
185 verticalDirection = \up ;
186 graceAccidentalSpace= 1.5 * \staffspace;
189 \translator{\GraceContext}
190 \translator {\VoiceContext}
192 ThreadContext = \translator{
193 \type Engraver_group_engraver;
194 \consists "Note_heads_engraver" ;
195 \consists "Output_property_engraver";
196 Generic_property_list = #generic-thread-properties
197 \consists "Property_engraver";
201 \translator{\ThreadContext}
202 GrandStaffContext=\translator{
203 \type "Engraver_group_engraver";
205 \consists "Span_bar_engraver";
206 \consists "System_start_delimiter_engraver";
207 systemStartDelimiterGlyph = #'brace
209 \consists "Property_engraver";
210 Generic_property_list = #generic-grand-staff-properties
213 \translator{\GrandStaffContext}
215 PianoStaffContext = \translator{\GrandStaffContext
216 alignmentReference = \center;
218 \consists "Vertical_align_engraver";
219 minVerticalAlign = 3.0*\staffheight;
220 maxVerticalAlign = 3.0*\staffheight;
222 % \consistsend "Axis_group_engraver";
226 \translator{\PianoStaffContext}
227 StaffGroupContext= \translator {
228 \type "Engraver_group_engraver";
229 \consists "Span_bar_engraver";
230 \consists "Output_property_engraver";
231 \consists "System_start_delimiter_engraver";
232 systemStartDelimiterGlyph = #'bracket
235 \consistsend "Axis_group_engraver" ;
240 \accepts "RhythmicStaff";
241 \accepts "GrandStaff";
242 \accepts "PianoStaff";
245 \accepts "ChordNames";
248 \translator { \StaffGroupContext }
251 LyricsVoiceContext= \translator{
252 \type "Engraver_group_engraver";
253 \consistsend "Axis_group_engraver";
256 \consists "Separating_line_group_engraver";
257 \consists "Lyric_engraver";
258 \consists "Extender_engraver";
259 \consists "Hyphen_engraver";
261 \translator{ \LyricsVoiceContext }
263 LyricsContext = \translator {
264 \type "Engraver_group_engraver";
266 \consists Vertical_align_engraver; %need this for getting folded repeats right.
267 Generic_property_list = #generic-lyrics-properties
268 \consists "Property_engraver";
269 \consistsend "Axis_group_engraver";
271 \accepts "LyricVoice";
273 \translator { \LyricsContext }
275 ChordNameVoiceContext = \translator {
276 \type "Engraver_group_engraver";
277 \name ChordNameVoice ;
279 \consists "Output_property_engraver";
280 \consistsend "Axis_group_engraver";
281 \consists "Separating_line_group_engraver";
282 \consists "Chord_name_engraver";
284 \translator {\ChordNameVoiceContext}
286 ChordNameContext = \translator {
287 \type "Engraver_group_engraver";
290 \consists "Output_property_engraver";
291 \accepts "ChordNameVoice";
292 \consistsend "Axis_group_engraver";
294 \translator { \ChordNameContext }
297 ScoreWithNumbers = \translator {
298 \type "Score_engraver";
300 % uncomment to bar numbers on a whole system.
301 \consists "Bar_number_engraver";
304 StupidScore = \translator {
305 \type "Score_engraver";
307 \consists "Note_heads_engraver";
312 BarNumberingStaffContext = \translator {
314 \consists "Mark_engraver";
315 \consists "Bar_number_engraver";
318 HaraKiriStaffContext = \translator {
320 \remove "Axis_group_engraver";
321 \consistsend "Hara_kiri_engraver";
322 \consists "Instrument_name_engraver";
326 The HaraKiriStaffContexts doesn't override \name,
327 so it is still named `Staff'.
329 %\translator { \HaraKiriStaffContext }
332 OrchestralPartStaffContext = \translator {
334 \consists "Mark_engraver";
335 \consists "Bar_number_engraver";
338 ScoreContext = \translator {
339 \type Score_engraver;
342 marginScriptPadding = #10 % urg, in \pt
344 \consists "Timing_engraver";
345 \consists "Output_property_engraver";
347 %bracketCollapseHeight = #10 % \pt
348 \consists "System_start_delimiter_engraver";
350 % \consists "Score_priority_engraver";
351 \consists "Break_align_engraver";
352 breakAlignOrder = #'(
362 \consists "Spacing_engraver";
363 \consists "Vertical_align_engraver";
364 alignmentReference = \down;
365 defaultClef = #"treble"
366 defaultBarType = #"|"
368 \accepts "StaffGroup";
369 \accepts "RhythmicStaff";
371 \accepts "ChordNames";
372 \accepts "GrandStaff";
373 \accepts "ChoirStaff";
374 \accepts "PianoStaff";
375 \accepts "NoteNames";
377 markVisibilityFunction = #end-of-line-invisible
378 barNumberVisibilityFunction = #begin-of-line-visible
381 \translator { \ScoreContext }
383 OrchestralScoreContext= \translator {
386 barScriptPadding = #2.0 % dimension \pt
387 markScriptPadding = #4.0
389 \consists "Bar_number_engraver";
390 \consists "Mark_engraver";
394 \type "Engraver_group_engraver";
396 \consistsend "Axis_group_engraver";
397 \consists "Note_name_engraver";