4 % setup for Request->Element conversion. Guru-only
7 StaffContext=\translator {
8 \type "Engraver_group_engraver";
10 \consists "Output_property_engraver";
11 Generic_property_list = #generic-staff-properties
12 \consists "Property_engraver";
14 \consists "Multi_measure_rest_engraver";
16 \consists "Bar_engraver";
17 % Bar_engraver must be first so default bars aren't overwritten
21 % \consists "Repeat_engraver";
22 \consists "Volta_engraver";
23 \consists "Separating_line_group_engraver";
27 \consists "Clef_engraver";
28 \consists "Key_engraver";
29 \consists "Time_signature_engraver";
30 \consists "Staff_symbol_engraver";
31 \consists "Collision_engraver";
32 \consists "Rest_collision_engraver";
33 \consists "Local_key_engraver";
34 \consists "Piano_pedal_engraver";
37 The Instrument_name_engraver puts the name of the instrument
38 (\property Staff.instrument; Staff.instr for subsequent lines)
39 to the left of a staff.
41 This is commented out, so you don't get funny things on the
43 \consists "Instrument_name_engraver";
46 \consistsend "Axis_group_engraver";
53 StaffContainerContext = \translator {
54 \type Engraver_group_engraver;
55 \consists "Axis_group_engraver";
60 ChoirStaffContext = \translator {
61 \type "Engraver_group_engraver";
63 alignmentReference = \center;
64 \consists "System_start_delimiter_engraver";
65 SystemStartDelimiter \override #'glyph = #'bracket
68 \accepts "RhythmicStaff";
69 \accepts "GrandStaff";
70 \accepts "PianoStaff";
71 \accepts "StaffGroup";
72 \accepts "ChoirStaff";
74 \accepts "ChordNames";
78 RhythmicStaffContext=\translator{
79 \type "Engraver_group_engraver";
81 \consists "Property_engraver";
82 \consists "Output_property_engraver";
84 Generic_property_list = #generic-staff-properties
86 \consists "Pitch_squash_engraver";
87 \consists "Separating_line_group_engraver";
89 Bar \override #'bar-size = #4
90 VoltaBracket \override #'minimum-space = #15 % urg, in \pt
91 VoltaBracket \override #'padding = #5 % urg, in \pt
92 StaffSymbol \override #'line-count = #1
94 % \consists "Repeat_engraver";
95 \consists "Volta_engraver";
96 \consists "Bar_engraver";
97 \consists "Time_signature_engraver";
98 \consists "Staff_symbol_engraver";
99 \consistsend "Axis_group_engraver";
104 VoiceContext = \translator {
105 \type "Engraver_group_engraver";
108 Generic_property_list = #generic-voice-properties
110 % must come before all
111 \consists "Voice_devnull_engraver";
112 \consists "Output_property_engraver";
113 \consists "Arpeggio_engraver";
115 \consists "Text_spanner_engraver";
116 \consists "Property_engraver";
118 \consists "Breathing_sign_engraver";
119 \consists "Rest_engraver";
120 \consists "Dot_column_engraver";
121 \consists "Stem_engraver";
122 \consists "Beam_engraver";
123 \consists "Auto_beam_engraver";
125 \consists "Chord_tremolo_engraver";
126 \consists "Percent_repeat_engraver";
127 \consists "Melisma_engraver";
130 Must come before text_engraver, but after note_column engraver.
133 \consists "Dynamic_engraver";
134 \consists "Text_engraver";
136 \consists "Script_engraver";
137 \consists "Script_column_engraver";
138 \consists "Rhythmic_column_engraver";
139 \consists "Phrasing_slur_engraver";
140 \consists "Slur_engraver";
141 \consists "Tie_engraver";
142 \consists "Tuplet_engraver";
143 \consists "Grace_position_engraver";
144 \consists "A2_engraver";
146 \consists "Skip_req_swallow_translator";
147 \accepts Thread; % bug if you leave out this!
151 GraceContext=\translator {
152 \type "Grace_engraver_group";
154 \consists "Output_property_engraver";
156 Generic_property_list = #generic-grace-properties
158 \consists "Note_heads_engraver";
159 \consists "Local_key_engraver";
160 \consists "Stem_engraver";
161 \consists "Beam_engraver";
162 \consists "Slur_engraver";
164 \consists "Auto_beam_engraver";
165 \consists "Align_note_column_engraver";
167 \consists "Rhythmic_column_engraver";
169 \consists "Dynamic_engraver";% in Grace ???
170 \consists "Text_engraver"; % in Grace ???
172 \consists "Property_engraver";
174 Stem \override #'flag-style = #"grace"
175 Stem \override #'stem-length = #6.0
176 Stem \override #'direction = #1
178 NoteHead \override #'font-relative-size = #-1
179 Stem \override #'font-relative-size = #-1
180 Stem \override #'stem-shorten = #'(0)
181 Beam \override #'font-relative-size = #-1
182 TextScript \override #'font-relative-size = #-1
183 Slur \override #'font-relative-size = #-1
184 Accidentals \override #'font-relative-size = #-1
185 Beam \override #'thickness = #0.3
186 Beam \override #'space-function = #(lambda (x) 0.5)
188 Stem \override #'lengths = #(map (lambda (x) (* 0.8 x)) '(3.5 3.5 3.5 4.5 5.0))
189 Stem \override #'beamed-lengths =
191 Stem \override #'beamed-minimum-lengths
192 = #(map (lambda (x) (* 0.8 x)) '(0.0 2.5 2.0 1.5))
194 weAreGraceContext = ##t
195 graceAccidentalSpace= 1.5 ; % in staff space
198 ThreadContext = \translator{
199 \type Engraver_group_engraver;
202 \consists "Thread_devnull_engraver";
203 \consists "Note_heads_engraver";
204 \consists "Note_head_line_engraver";
205 \consists "Output_property_engraver";
206 Generic_property_list = #generic-thread-properties
207 \consists "Property_engraver";
210 GrandStaffContext=\translator{
211 \type "Engraver_group_engraver";
213 \consists "Span_bar_engraver";
214 \consists "Span_arpeggio_engraver";
215 \consists "System_start_delimiter_engraver";
216 SystemStartDelimiter \override #'glyph = #'brace
218 \consists "Property_engraver";
219 Generic_property_list = #generic-grand-staff-properties
223 PianoStaffContext = \translator{
227 \consists "Vertical_align_engraver";
229 alignmentReference = \center;
230 verticalAlignmentChildCallback = #Align_interface::fixed_distance_alignment_callback
231 VerticalAlignment \override #'forced-distance = #12
233 % \consistsend "Axis_group_engraver";
236 StaffGroupContext= \translator {
237 \type "Engraver_group_engraver";
240 \consists "Span_bar_engraver";
241 \consists "Span_arpeggio_engraver";
242 \consists "Output_property_engraver";
243 SystemStartDelimiter \override #'glyph = #'bracket
245 \consists "System_start_delimiter_engraver";
247 \accepts "RhythmicStaff";
248 \accepts "GrandStaff";
249 \accepts "PianoStaff";
250 \accepts "StaffGroup";
251 \accepts "ChoirStaff";
254 \accepts "ChordNames";
259 LyricsVoiceContext= \translator{
260 \type "Engraver_group_engraver";
261 \consistsend "Axis_group_engraver";
262 LyricsVoiceMinimumVerticalExtent = #(cons -1.2 1.2)
265 \consists "Separating_line_group_engraver";
266 \consists "Lyric_engraver";
267 \consists "Extender_engraver";
268 \consists "Hyphen_engraver";
269 \consists "Stanza_number_engraver";
270 phrasingPunctuation = #".,;:!?\""
273 NoteNamesContext = \translator {
274 \type "Engraver_group_engraver";
276 \consistsend "Axis_group_engraver";
277 \consists "Note_name_engraver";
278 \consists "Separating_line_group_engraver";
281 LyricsContext = \translator {
282 \type "Engraver_group_engraver";
284 \consists Vertical_align_engraver; %need this for getting folded repeats right.
285 Generic_property_list = #generic-lyrics-properties
286 \consists "Property_engraver";
287 \consistsend "Axis_group_engraver";
289 \accepts "LyricsVoice";
292 ChordNamesVoiceContext = \translator {
293 \type "Engraver_group_engraver";
294 \name ChordNamesVoice ;
296 \consists "Output_property_engraver";
297 \consistsend "Axis_group_engraver";
298 \consists "Separating_line_group_engraver";
299 \consists "Chord_name_engraver";
300 \consists "Skip_req_swallow_translator";
303 ChordNamesContext = \translator {
304 \type "Engraver_group_engraver";
307 Generic_property_list = #generic-chord-staff-properties
309 \consists "Property_engraver";
310 \consists "Output_property_engraver";
311 \accepts "ChordNamesVoice";
313 VerticalAxisGroup \override #'invisible-staff = ##t
314 \consistsend "Axis_group_engraver";
319 StupidScore = \translator {
320 \type "Score_engraver";
322 \consists "Note_heads_engraver";
328 HaraKiriStaffContext = \translator {
330 \remove "Axis_group_engraver";
331 \consistsend "Hara_kiri_engraver";
332 \consists "Instrument_name_engraver";
336 The HaraKiriStaffContexts doesn't override \name,
337 so it is still named `Staff'.
339 %\translator { \HaraKiriStaffContext }
345 ScoreContext = \translator {
346 \type Score_engraver;
350 \consists "Repeat_acknowledge_engraver";
351 \consists "Timing_engraver";
352 \consists "Output_property_engraver";
353 \consists "System_start_delimiter_engraver";
354 \consists "Mark_engraver";
355 \consists "Break_align_engraver";
356 \consists "Spacing_engraver";
357 \consists "Vertical_align_engraver";
359 \consists "Lyric_phrasing_engraver";
360 \consists "Bar_number_engraver";
361 \consists "Span_arpeggio_engraver";
364 \accepts "StaffContainer";
365 \accepts "StaffGroup";
366 \accepts "RhythmicStaff";
368 \accepts "ChordNames";
369 \accepts "GrandStaff";
370 \accepts "ChoirStaff";
371 \accepts "PianoStaff";
372 \accepts "NoteNames";
375 soloIIText = #"Solo II"
378 splitInterval = #'(0 . 1)
379 changeMoment = #`(,(make-moment 0 0) . ,(make-moment 1 512))
381 StaffMinimumVerticalExtent = #(cons -4.0 4.0)
384 voltaVisibility = ##t
385 % name, glyph id, clef position
386 % where is c0 in this clef?
387 clefPitches = #'(("clefs-G" . -4)
390 ("clefs-vaticana_do" . 0)
391 ("clefs-vaticana_fa" . 4)
392 ("clefs-medicaea_do" . 0)
393 ("clefs-medicaea_fa" . 4)
394 ("clefs-hufnagel_do" . 0)
395 ("clefs-hufnagel_fa" . 4)
396 ("clefs-hufnagel_do_fa" . 0)
397 ("clefs-mensural1_c" . 0)
398 ("clefs-mensural2_c" . 0)
399 ("clefs-mensural3_c" . 0)
400 ("clefs-mensural1_f" . 4)
401 ("clefs-mensural2_f" . 4)
402 ("clefs-mensural_g" . -4))
404 clefGlyph = #"clefs-G"
407 automaticPhrasing = ##t;
408 alignmentReference = \down;
409 defaultBarType = #"|"
411 explicitClefVisibility = #all-visible
412 explicitKeySignatureVisibility = #all-visible
414 scriptDefinitions = #default-script-alist
416 verticalAlignmentChildCallback = #Align_interface::alignment_callback
418 pedalSustainStrings = #'("Ped." "*Ped." "*")
419 pedalUnaChordaStrings = #'("una chorda" "" "tre chorde")
420 pedalSostenutoStrings = #'() % FIXME
422 tupletNumberFormatFunction = #denominator-tuplet-formatter
424 keyAccidentalOrder = #'(
425 (6 . -1) (2 . -1) (5 . -1 ) (1 . -1) (4 . -1) (0 . -1) (3 . -1)
426 (3 . 1) (0 . 1) (4 . 1) (1 . 1) (5 . 1) (2 . 1) (6 . 1)
428 breakAlignOrder = #'(
442 \elementdescriptions #all-grob-descriptions
445 OrchestralScoreContext= \translator {
448 EasyNotation = \translator {
450 NoteHead \override #'molecule-callback = #Note_head::brew_ez_molecule