]> git.donarmstrong.com Git - lilypond.git/blob - ly/engraver-init.ly
add some undocced properties.
[lilypond.git] / ly / engraver-init.ly
1 \version "1.5.33"
2
3 %
4 % setup for Request->Element conversion. Guru-only
5 %
6
7 StaffContext=\translator {
8         \type "Engraver_group_engraver"
9         \name Staff 
10         \consists "Output_property_engraver"    
11         
12         \consists "Bar_engraver"
13  % Bar_engraver must be first so default bars aren't overwritten
14 % with empty ones.
15         \consists "Font_size_engraver"
16
17 %       \consists "Repeat_engraver"
18         \consists "Volta_engraver"
19         \consists "Separating_line_group_engraver"      
20         SeparatingGroupSpanner \override #'spacing-procedure
21           =  #Separating_group_spanner::set_spacing_rods_and_seqs
22         \consists "Dot_column_engraver"
23
24         \consists "Clef_engraver"
25         \consists "Key_engraver"
26         \consists "Time_signature_engraver"
27         \consists "Staff_symbol_engraver"
28         \consists "Collision_engraver"
29         \consists "Rest_collision_engraver"
30         \consists "Accidental_engraver"
31         \consists "Piano_pedal_engraver"
32         \consists "Instrument_name_engraver"
33         \consists "Grob_pq_engraver"
34
35         \consistsend "Axis_group_engraver"
36
37
38         MinimumVerticalExtent = #'(-6 . 6)
39         ExtraVerticalExtent = ##f
40         VerticalExtent = ##f 
41         localKeySignature = #'()
42
43         % explicitly set instrument, so we don't get 
44         % weird effects when doing instrument names for
45         % piano staves
46
47         instrument = ##f
48         instr = ##f
49           
50         \accepts "Voice"
51 }
52
53
54 StaffContainerContext = \translator {
55         \type Engraver_group_engraver
56         \consists "Axis_group_engraver"
57         MinimumVerticalExtent = ##f
58         ExtraVerticalExtent = ##f
59         VerticalExtent = ##f 
60         localKeySignature = #'()
61
62         \accepts Staff
63         \name StaffContainer
64 }
65
66 InnerChoirStaffContext = \translator {
67         \type "Engraver_group_engraver"
68         \name InnerChoirStaff
69         alignmentReference = #0
70         \consists "System_start_delimiter_engraver"
71         systemStartDelimiter = #'SystemStartBracket
72         localKeySignature = #'()
73
74         \accepts "Staff"
75         \accepts "RhythmicStaff"
76         \accepts "GrandStaff"
77         \accepts "PianoStaff"
78         \accepts "Lyrics"
79         \accepts "ChordNames"
80 }
81 ChoirStaffContext = \translator {
82         \InnerChoirStaffContext
83         \name ChoirStaff
84         \accepts "InnerChoirStaff"
85         \accepts "InnerStaffGroup"
86 }
87
88
89 RhythmicStaffContext=\translator{
90         \type "Engraver_group_engraver"
91         
92         \consists "Output_property_engraver"    
93
94
95         MinimumVerticalExtent = ##f
96         ExtraVerticalExtent = ##f
97         VerticalExtent = ##f 
98         localKeySignature = #'()
99
100         \consists "Pitch_squash_engraver"
101         \consists "Separating_line_group_engraver"      
102         \name RhythmicStaff
103         \alias "Staff"
104         
105         Bar \override #'bar-size = #4
106         VoltaBracket \override #'minimum-space =  #15  % urg, in \pt
107         VoltaBracket \override #'padding =  #5  % urg, in \pt
108         StaffSymbol \override #'line-count = #1 
109
110 %       \consists "Repeat_engraver"
111         \consists "Volta_engraver"
112         \consists "Bar_engraver"
113         \consists "Time_signature_engraver"
114         \consists "Staff_symbol_engraver"
115         \consistsend "Axis_group_engraver"
116         \accepts "Voice"
117 }
118
119
120 VoiceContext = \translator {
121         \type "Engraver_group_engraver"
122         \name Voice
123
124
125         localKeySignature = #'()
126         \consists "Font_size_engraver"
127         
128         % must come before all
129         \consists "Voice_devnull_engraver"
130         \consists "Output_property_engraver"    
131         \consists "Arpeggio_engraver"
132         \consists "Multi_measure_rest_engraver"
133         \consists "Text_spanner_engraver"
134         
135         \consists "Breathing_sign_engraver"
136         % \consists "Rest_engraver"
137         \consists "Stem_engraver"
138         \consists "Beam_engraver"
139         \consists "Auto_beam_engraver"
140
141         \consists "Chord_tremolo_engraver"
142         \consists "Percent_repeat_engraver"
143         \consists "Melisma_engraver"
144
145 %{
146  Must come before text_engraver, but after note_column engraver.
147
148 %}
149         \consists "Text_engraver"
150         \consists "Dynamic_engraver"
151         \consists "Fingering_engraver"
152
153         \consists "Script_engraver"
154         \consists "Script_column_engraver"
155         \consists "Rhythmic_column_engraver"
156         \consists "Phrasing_slur_engraver"
157         \consists "Slur_engraver"
158         \consists "Tie_engraver"
159         \consists "Porrectus_engraver"
160         \consists "Tuplet_engraver"
161         \consists "A2_engraver"
162
163         \consists "Skip_req_swallow_translator"
164         \accepts Thread % bug if you leave out this!
165 }
166
167 ThreadContext = \translator{
168         \type Engraver_group_engraver
169         \name Thread
170         localKeySignature = #'()
171
172         \consists "Font_size_engraver"  
173         \consists "Thread_devnull_engraver"
174         \consists "Note_heads_engraver"
175         \consists "Rest_engraver"
176         \consists "Note_head_line_engraver"
177         \consists "Output_property_engraver"    
178
179 }
180
181 GrandStaffContext=\translator{
182         \type "Engraver_group_engraver"
183         \name GrandStaff
184         localKeySignature = #'()
185         \consists "Span_bar_engraver"
186         \consists "Span_arpeggio_engraver"
187         \consists "System_start_delimiter_engraver"
188         systemStartDelimiter = #'SystemStartBrace
189
190         \accepts "Staff"
191 }
192
193 PianoStaffContext = \translator{
194         \GrandStaffContext
195         \name "PianoStaff"
196         \alias "GrandStaff"
197
198         \consists "Vertical_align_engraver"
199         \consists "Instrument_name_engraver"
200         
201         instrument = #'()
202         instr = #'()
203         
204         verticalAlignmentChildCallback = #Align_interface::fixed_distance_alignment_callback
205         VerticalAlignment \override #'forced-distance = #12
206         VerticalAlignment \override #'self-alignment-Y = #0
207 %       \consistsend "Axis_group_engraver"
208 }
209
210 InnerStaffGroupContext= \translator {
211         \type "Engraver_group_engraver"
212         \name InnerStaffGroup
213         localKeySignature = #'()
214
215         \consists "Span_bar_engraver"
216         \consists "Span_arpeggio_engraver"
217         \consists "Output_property_engraver"    
218         systemStartDelimiter = #'SystemStartBracket
219
220         \consists "System_start_delimiter_engraver"
221         \accepts "Staff"
222         \accepts "RhythmicStaff"
223         \accepts "GrandStaff"
224         \accepts "PianoStaff"
225         
226         \accepts "Lyrics"
227         \accepts "ChordNames"
228 }
229 StaffGroupContext = \translator {
230         \InnerStaffGroupContext
231         \name StaffGroup
232         \accepts "InnerChoirStaff"
233         \accepts "ChoirStaff"
234         \accepts "InnerStaffGroup"
235         \accepts "FiguredBass"
236 }
237
238
239 % UGH! JUNKME
240 LyricsVoiceContext= \translator{
241         \type "Engraver_group_engraver"
242         \consistsend "Axis_group_engraver"
243         MinimumVerticalExtent = #(cons -1.2 1.2)
244         ExtraVerticalExtent = ##f
245         VerticalExtent = ##f 
246         \name LyricsVoice 
247         \consists "Separating_line_group_engraver"
248         \consists "Lyric_engraver"
249         \consists "Extender_engraver"
250         \consists "Hyphen_engraver"
251         \consists "Stanza_number_engraver"
252         \consists "Skip_req_swallow_translator"
253         phrasingPunctuation = #".,:!?\""
254         
255 }
256 NoteNamesContext = \translator {
257         \type "Engraver_group_engraver"
258         \name NoteNames
259         \consistsend "Axis_group_engraver"
260
261         MinimumVerticalExtent = ##f
262         ExtraVerticalExtent = ##f
263         VerticalExtent = ##f 
264
265         
266         \consists "Note_name_engraver"
267         \consists "Separating_line_group_engraver"
268 }
269
270 LyricsContext = \translator {
271         \type "Engraver_group_engraver"
272         \name Lyrics
273         \consists Vertical_align_engraver %need this for getting folded repeats right.
274
275
276         \consistsend "Axis_group_engraver"
277         MinimumVerticalExtent = ##f
278         ExtraVerticalExtent = ##f
279         VerticalExtent = ##f 
280         
281         \accepts "LyricsVoice"
282 }
283
284
285 ChordNamesContext = \translator {
286         \type "Engraver_group_engraver"
287         \name ChordNames
288
289
290
291
292         \consists "Output_property_engraver"    
293         \consists "Separating_line_group_engraver"
294         \consists "Chord_name_engraver"
295         \consists "Skip_req_swallow_translator"
296         \consistsend "Axis_group_engraver"
297         MinimumVerticalExtent = ##f
298         ExtraVerticalExtent = ##f
299         VerticalExtent = ##f 
300         }
301
302
303
304 StupidScore = \translator {
305         \type "Score_engraver"
306         \name Score
307         \consists "Note_heads_engraver"
308 }
309
310
311
312
313 HaraKiriStaffContext = \translator {
314         \StaffContext
315         \remove "Axis_group_engraver"
316         \consistsend "Hara_kiri_engraver"
317         \consists "Instrument_name_engraver"
318         \accepts "Voice"
319 }
320 %{
321   The HaraKiriStaffContexts doesn't override \name,
322   so it is still named `Staff'.
323
324   %\translator { \HaraKiriStaffContext }
325 %}
326
327
328
329
330 ScoreContext = \translator {
331         \type Score_engraver
332         \name Score
333         localKeySignature = #'()
334         
335         \consists "Repeat_acknowledge_engraver"
336         \consists "Staff_collecting_engraver"
337         \consists "Timing_engraver"
338         \consists "Output_property_engraver"
339         \consists "System_start_delimiter_engraver"
340         \consists "Mark_engraver"       
341         \consists "Break_align_engraver"
342         \consists "Spacing_engraver"
343         \consists "Vertical_align_engraver"
344         \consists "Lyric_phrasing_engraver"
345         \consists "Bar_number_engraver"
346         \consists "Span_arpeggio_engraver"
347
348         \accepts "Staff"
349         \accepts "StaffContainer"
350         \accepts "StaffGroup"
351         \accepts "RhythmicStaff"        
352         \accepts "Lyrics"
353         \accepts "ChordNames"
354         \accepts "GrandStaff"
355         \accepts "ChoirStaff"
356         \accepts "PianoStaff"
357         \accepts "NoteNames"
358         \accepts "FiguredBass"  
359
360         soloText = #"Solo"
361         soloIIText = #"Solo II"
362         aDueText = #"a2"
363         soloADue = ##t
364         splitInterval = #'(0 . 1)
365         changeMoment = #`(,(make-moment 0 0) . ,(make-moment 1 512))
366         systemStartDelimiter =#'SystemStartBar
367
368
369         %  name, glyph id, clef position 
370         % where is c0 in this clef?
371
372         clefGlyph = #"clefs-G"
373         clefPosition = #-2
374         centralCPosition = #-6
375         
376         automaticPhrasing = ##t
377         
378         defaultBarType = #"|"
379
380         explicitClefVisibility = #all-visible
381         explicitKeySignatureVisibility = #all-visible
382         autoBeamSettings = #auto-beam-settings
383         autoBeaming = ##t
384         scriptDefinitions = #default-script-alist
385
386         verticalAlignmentChildCallback = #Align_interface::alignment_callback
387
388         pedalSustainStrings = #'("Ped." "*Ped." "*")
389         pedalUnaCordaStrings = #'("una corda" "" "tre corde")
390
391         %% these are in ordinary italic font, including the *, but they are unlikely to be used, 
392         %% as the default pedal-style for SostenutoPedal is 'mixed': i.e.  Sost. Ped_____________________ 
393         pedalSostenutoStrings = #'("Sost. Ped." "*Sost. Ped." "*") 
394
395         tupletNumberFormatFunction = #denominator-tuplet-formatter
396         
397         subdivideBeams = ##f
398         extraNatural = ##t
399         autoAccidentals = #'(Staff (same-octave . 0))
400         autoCautionaries = #'()  
401
402
403        keyAccidentalOrder = #'(
404          (6 . -1) (2  . -1) (5 . -1 ) (1  . -1) (4  . -1) (0  . -1) (3  . -1)
405          (3  . 1) (0 . 1) (4 . 1) (1 . 1) (5 . 1) (2 . 1) (6 . 1)
406          (6 . -2) (2  . -2) (5 . -2 ) (1  . -2) (4  . -2) (0  . -2) (3 . -2)
407          (3  . 2) (0 . 2) (4 . 2) (2 . 2) (5 . 2) (2 . 2) (6 . 2)
408         )
409         breakAlignOrder = #'(
410           instrument-name
411           left-edge
412           span-bar
413           breathing-sign
414           clef
415           key-signature
416           staff-bar
417           time-signature
418           custos
419         )
420
421
422         \grobdescriptions #all-grob-descriptions
423 }
424
425 OrchestralScoreContext= \translator {
426         \ScoreContext
427 }
428 EasyNotation =  \translator {
429         \ScoreContext
430         NoteHead \override #'molecule-callback = #Note_head::brew_ez_molecule
431 }
432
433 % retain for compatibility reasons (FIXME: convert-ly)
434 GraceContext = \translator {
435         \type "Engraver_group_engraver"
436 }
437
438 FiguredBassContext = \translator {
439         \type "Engraver_group_engraver"
440         \name FiguredBass 
441         \consists "Figured_bass_engraver"       
442         \consistsend "Axis_group_engraver"
443 }