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
22 StaffMinimumVerticalExtent = #(cons -4.0 4.0)
24 \consists "Repeat_engraver";
27 % name, glyph id, c0 position
28 supportedClefTypes = #'(
33 ("french" . ("G" -4 ))
34 ("soprano" . ("C" -4 ))
35 ("mezzosoprano" . ("C" -2 ))
38 ("baritone" . ("C" 4 ))
39 ("varbaritone" . ("F" 0))
44 clefPitches = #'(("G" . -4)
48 \consists "Clef_engraver";
49 \consists "Key_engraver";
50 \consists "Time_signature_engraver";
51 \consists "Staff_symbol_engraver";
52 \consists "Collision_engraver";
53 \consists "Rest_collision_engraver";
54 \consists "Local_key_engraver";
56 \consistsend "Axis_group_engraver";
61 The Instrument_name_engraver puts the name of the instrument
62 (\property Staff.instrument; Staff.instr for subsequent lines)
63 to the left of a staff.
64 Usually, you only want this in the full score, not in the parts.
66 \consists "Instrument_name_engraver";
69 defaultClef = #"treble"
71 \consists "Separating_line_group_engraver";
74 dynamicStyle = #"dynamic"
77 \translator{\StaffContext }
79 \type "Engraver_group_engraver";
81 alignmentReference = \center;
82 \consists "System_start_delimiter_engraver";
83 systemStartDelimiterGlyph = #'bracket
88 \accepts "RhythmicStaff";
89 \accepts "GrandStaff";
90 \accepts "PianoStaff";
94 \accepts "ChordNames";
98 RhythmicStaffContext=\translator{
99 \type "Engraver_group_engraver";
100 numberOfStaffLines = #1
101 \consists "Property_engraver";
102 \consists "Output_property_engraver";
104 Generic_property_list = #generic-staff-properties
106 barSize = 4.0 * \interline ;
107 \consists "Pitch_squash_engraver";
108 \consists "Separating_line_group_engraver";
111 voltaPadding = #5 % urg, in \pt
112 voltaMinimumSpace = #15 % urg, in \pt
113 \consists "Repeat_engraver";
114 \consists "Bar_engraver";
115 \consists "Time_signature_engraver";
116 \consists "Staff_symbol_engraver";
117 \consistsend "Axis_group_engraver";
120 \translator{\RhythmicStaffContext}
122 VoiceContext = \translator {
123 \type "Engraver_group_engraver";
126 dynamicPadding = #3 % urg, in \pt
127 dynamicMinimumSpace = #6 % urg, in \pt
129 Generic_property_list = #generic-voice-properties
130 \consists "Output_property_engraver";
132 \consists "Dynamic_engraver"; % must come before text_engraver.
133 \consists "Property_engraver";
135 \consists "Breathing_sign_engraver";
136 \consists "Rest_engraver";
137 \consists "Dot_column_engraver";
138 \consists "Stem_engraver";
139 \consists "Beam_engraver";
140 \consists "Auto_beam_engraver";
141 \include "auto-beam-settings.ly";
143 \consists "Chord_tremolo_engraver";
144 \consists "Melisma_engraver";
145 textScriptPadding = #3.0
146 \consists "Text_engraver";
148 startSustain = #"Ped."
150 stopStartSustain = #"*Ped."
151 startUnaChorda = #"una chorda"
152 stopUnaChorda = #"tre chorde"
153 \consists "Piano_pedal_engraver";
154 \consists "Script_engraver";
155 \consists "Script_column_engraver";
156 \consists "Rhythmic_column_engraver";
157 \consists "Slur_engraver";
158 \consists "Tie_engraver";
159 \consists "Tuplet_engraver";
160 \consists "Grace_position_engraver";
161 \consists "Skip_req_swallow_translator";
162 \accepts Thread; % bug if you leave out this!
166 GraceContext=\translator {
167 \type "Grace_engraver_group";
169 \consists "Output_property_engraver";
171 Generic_property_list = #generic-grace-properties
173 \consists "Note_heads_engraver";
174 \consists "Local_key_engraver";
175 \consists "Stem_engraver";
176 \consists "Beam_engraver";
177 \consists "Slur_engraver";
179 \consists "Auto_beam_engraver";
180 \include "auto-beam-settings.ly";
181 \consists "Align_note_column_engraver";
183 \consists "Rhythmic_column_engraver";
184 \consists "Dynamic_engraver";
185 \consists "Text_engraver";
187 \consists "Property_engraver";
191 weAreGraceContext = ##t
195 verticalDirection = \up ;
196 graceAccidentalSpace= 1.5 * \staffspace;
199 \translator{\GraceContext}
200 \translator {\VoiceContext}
202 ThreadContext = \translator{
203 \type Engraver_group_engraver;
204 \consists "Note_heads_engraver" ;
205 \consists "Output_property_engraver";
206 Generic_property_list = #generic-thread-properties
207 \consists "Property_engraver";
211 \translator{\ThreadContext}
212 GrandStaffContext=\translator{
213 \type "Engraver_group_engraver";
215 \consists "Span_bar_engraver";
216 \consists "System_start_delimiter_engraver";
217 systemStartDelimiterGlyph = #'brace
219 \consists "Property_engraver";
220 Generic_property_list = #generic-grand-staff-properties
223 \translator{\GrandStaffContext}
225 PianoStaffContext = \translator{\GrandStaffContext
226 alignmentReference = \center;
228 \consists "Vertical_align_engraver";
229 minVerticalAlign = 3.0*\staffheight;
230 maxVerticalAlign = 3.0*\staffheight;
232 % \consistsend "Axis_group_engraver";
236 \translator{\PianoStaffContext}
237 StaffGroupContext= \translator {
238 \type "Engraver_group_engraver";
239 \consists "Span_bar_engraver";
240 \consists "Output_property_engraver";
241 \consists "System_start_delimiter_engraver";
242 systemStartDelimiterGlyph = #'bracket
250 \accepts "RhythmicStaff";
251 \accepts "GrandStaff";
252 \accepts "PianoStaff";
255 \accepts "ChordNames";
258 \translator { \StaffGroupContext }
261 LyricsVoiceContext= \translator{
262 \type "Engraver_group_engraver";
263 \consistsend "Axis_group_engraver";
266 \consists "Separating_line_group_engraver";
267 \consists "Lyric_engraver";
268 \consists "Extender_engraver";
269 \consists "Hyphen_engraver";
271 \translator{ \LyricsVoiceContext }
273 LyricsContext = \translator {
274 \type "Engraver_group_engraver";
276 \consists Vertical_align_engraver; %need this for getting folded repeats right.
277 Generic_property_list = #generic-lyrics-properties
278 \consists "Property_engraver";
279 \consistsend "Axis_group_engraver";
281 \accepts "LyricVoice";
283 \translator { \LyricsContext }
285 ChordNameVoiceContext = \translator {
286 \type "Engraver_group_engraver";
287 \name ChordNameVoice ;
289 \consists "Output_property_engraver";
290 \consistsend "Axis_group_engraver";
291 \consists "Separating_line_group_engraver";
292 \consists "Chord_name_engraver";
294 \translator {\ChordNameVoiceContext}
296 ChordNameContext = \translator {
297 \type "Engraver_group_engraver";
300 Generic_property_list = #generic-chord-staff-properties
301 \consists "Property_engraver";
302 \consists "Output_property_engraver";
303 \accepts "ChordNameVoice";
304 \consistsend "Axis_group_engraver";
306 \translator { \ChordNameContext }
309 ScoreWithNumbers = \translator {
310 \type "Score_engraver";
312 % uncomment to bar numbers on a whole system.
313 \consists "Bar_number_engraver";
316 StupidScore = \translator {
317 \type "Score_engraver";
319 \consists "Note_heads_engraver";
324 BarNumberingStaffContext = \translator {
326 \consists "Mark_engraver";
329 HaraKiriStaffContext = \translator {
331 \remove "Axis_group_engraver";
332 \consistsend "Hara_kiri_engraver";
333 \consists "Instrument_name_engraver";
337 The HaraKiriStaffContexts doesn't override \name,
338 so it is still named `Staff'.
340 %\translator { \HaraKiriStaffContext }
343 OrchestralPartStaffContext = \translator {
345 \consists "Mark_engraver";
348 ScoreContext = \translator {
349 \type Score_engraver;
352 marginScriptPadding = #10 % urg, in \pt
354 \consists "Timing_engraver";
355 \consists "Output_property_engraver";
357 %bracketCollapseHeight = #10 % \pt
358 \consists "System_start_delimiter_engraver";
360 % \consists "Score_priority_engraver";
361 \consists "Break_align_engraver";
362 breakAlignOrder = #'(
372 \consists "Spacing_engraver";
374 \consists "Vertical_align_engraver";
375 \consists "Bar_number_engraver";
376 alignmentReference = \down;
377 defaultClef = #"treble"
378 defaultBarType = #"|"
379 systemStartDelimiterGlyph = #'bar-line
382 \accepts "StaffGroup";
383 \accepts "RhythmicStaff";
385 \accepts "ChordNames";
386 \accepts "GrandStaff";
387 \accepts "ChoirStaff";
388 \accepts "PianoStaff";
389 \accepts "NoteNames";
392 markVisibilityFunction = #end-of-line-invisible
393 barNumberVisibilityFunction = #begin-of-line-visible
396 \translator { \ScoreContext }
398 OrchestralScoreContext= \translator {
401 barScriptPadding = #2.0 % dimension \pt
402 markScriptPadding = #4.0
404 \consists "Mark_engraver";
408 \type "Engraver_group_engraver";
410 \consistsend "Axis_group_engraver";
411 \consists "Note_name_engraver";