2 % setup for Request->Element conversion. Guru-only
5 StaffContext=\translator {
6 \type "Engraver_group_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
18 \consists "Repeat_engraver";
19 \consists "Clef_engraver";
20 \consists "Key_engraver";
21 \consists "Time_signature_engraver";
22 \consists "Staff_symbol_engraver";
23 \consists "Collision_engraver";
24 \consists "Rest_collision_engraver";
25 \consists "Local_key_engraver";
27 \consistsend "Axis_group_engraver";
32 The Staff_margin_engraver puts the name of the instrument
33 (\property Staff.instrument; Staff.instr for subsequent lines)
34 to the left of a staff.
37 \consists "Staff_margin_engraver";
39 defaultClef = #"treble"
41 marginBreakPriority = #-5
43 \consists "Separating_line_group_engraver";
44 \consists "Font_size_engraver";
47 dynamicStyle = #"dynamic"
50 \translator{\StaffContext }
52 \type "Engraver_group_engraver";
54 alignmentReference = \center;
55 \consists "Staff_group_bar_engraver";
59 \accepts "RhythmicStaff";
60 \accepts "GrandStaff";
61 \accepts "PianoStaff";
65 \accepts "ChordNames";
69 RhythmicStaffContext=\translator{
70 \type "Engraver_group_engraver";
71 numberOfStaffLines = #1
72 \consists "Property_engraver";
74 Generic_property_list = #generic-staff-properties
76 barSize = \staffheight;
77 \consists "Pitch_squash_engraver";
78 \consists "Separating_line_group_engraver";
81 \consists "Repeat_engraver";
82 \consists "Bar_engraver";
83 \consists "Time_signature_engraver";
84 \consists "Staff_symbol_engraver";
85 \consistsend "Axis_group_engraver";
88 \translator{\RhythmicStaffContext}
89 VoiceContext = \translator {
91 \type "Engraver_group_engraver";
93 Generic_property_list = #generic-voice-properties
96 \consists "Dynamic_engraver"; % must come before text_engraver.
98 \consists "Property_engraver";
100 \consists "Breathing_sign_engraver";
101 \consists "Rest_engraver";
102 \consists "Dot_column_engraver";
103 \consists "Stem_engraver";
104 \consists "Beam_engraver";
105 \consists "Auto_beam_engraver";
106 \include "auto-beam-settings.ly";
107 \consists "Chord_tremolo_engraver";
109 \consists "Melisma_engraver";
110 textScriptPadding = #3.0
111 \consists "Text_engraver";
112 \consists "Script_engraver";
113 \consists "Script_column_engraver";
114 \consists "Rhythmic_column_engraver";
115 \consists "Font_size_engraver";
116 \consists "Slur_engraver";
117 \consists "Tie_engraver";
118 \consists "Tuplet_engraver";
119 \consists "Grace_position_engraver";
120 \consists "Skip_req_swallow_translator";
121 \accepts Thread; % bug if you leave out this!
125 GraceContext=\translator {
126 \type "Grace_engraver_group";
129 Generic_property_list = #generic-grace-properties
131 \consists "Note_heads_engraver";
132 \consists "Local_key_engraver";
133 \consists "Stem_engraver";
134 \consists "Beam_engraver";
135 \consists "Slur_engraver";
137 \consists "Auto_beam_engraver";
138 \include "auto-beam-settings.ly";
139 \consists "Align_note_column_engraver";
141 \consists "Rhythmic_column_engraver";
142 \consists "Dynamic_engraver";
144 \consists "Property_engraver";
147 weAreGraceContext = ##t
151 verticalDirection = \up ;
152 graceAccidentalSpace= 1.5 * \interline;
155 \translator{\GraceContext}
156 \translator {\VoiceContext}
158 ThreadContext = \translator{
159 \type Engraver_group_engraver;
160 \consists "Note_heads_engraver" ;
161 Generic_property_list = #generic-thread-properties
162 \consists "Property_engraver";
166 \translator{\ThreadContext}
167 GrandStaffContext=\translator{
168 \type "Engraver_group_engraver";
170 \consists "Span_bar_engraver";
171 \consists "Piano_bar_engraver";
175 \translator{\GrandStaffContext}
177 PianoStaffContext = \translator{\GrandStaffContext
178 alignmentReference = \center;
180 \consists "Vertical_align_engraver";
181 minVerticalAlign = 3.0*\staffheight;
182 maxVerticalAlign = 3.0*\staffheight;
184 % \consistsend "Axis_group_engraver";
188 \translator{\PianoStaffContext}
189 StaffGroupContext= \translator {
190 \type "Engraver_group_engraver";
191 \consists "Span_bar_engraver";
193 \consists "Staff_group_bar_engraver";
196 \accepts "RhythmicStaff";
197 \accepts "GrandStaff";
198 \accepts "PianoStaff";
201 \accepts "ChordNames";
204 \translator { \StaffGroupContext }
207 LyricsVoiceContext= \translator{
208 \type "Engraver_group_engraver";
209 \consistsend "Axis_group_engraver";
212 \consists "Separating_line_group_engraver";
213 \consists "Lyric_engraver";
214 \consists "Extender_engraver";
215 \consists "Hyphen_engraver";
217 \translator{ \LyricsVoiceContext }
219 LyricsContext = \translator {
220 \type "Engraver_group_engraver";
222 \consists Vertical_align_engraver;%need this for getting folded repeats right.
224 \consistsend "Axis_group_engraver";
226 \accepts "LyricVoice";
228 \translator { \LyricsContext }
231 \type "Engraver_group_engraver";
233 \consistsend "Axis_group_engraver";
234 \name ChordNameVoice ;
235 \consists "Separating_line_group_engraver";
236 \consists "Chord_name_engraver";
240 ChordNameContext = \translator {
241 \type "Engraver_group_engraver";
243 \accepts "ChordNameVoice";
244 \consistsend "Axis_group_engraver";
246 \translator { \ChordNameContext }
249 ScoreWithNumbers = \translator {
250 \type "Score_engraver";
252 % uncomment to bar numbers on a whole system.
253 \consists "Bar_number_engraver";
256 StupidScore = \translator {
257 \type "Score_engraver";
259 \consists "Note_heads_engraver";
264 BarNumberingStaffContext = \translator {
266 barColumnPriority = #0
267 marginBreakPriority = #-4
268 \consists "Mark_engraver";
269 \consists "Bar_number_engraver";
272 HaraKiriStaffContext = \translator {
274 \remove "Axis_group_engraver";
275 \consistsend "Hara_kiri_engraver";
279 OrchestralPartStaffContext = \translator {
281 barColumnPriority = #0
282 marginBreakPriority = #-4
283 \consists "Mark_engraver";
284 \consists "Bar_number_engraver";
287 ScoreContext = \translator {
288 \type Score_engraver;
291 \consists "Timing_engraver";
293 \consists "Span_score_bar_engraver";
294 \consists "Score_priority_engraver";
295 \consists "Spacing_engraver";
296 \consists "Vertical_align_engraver";
297 alignmentReference = \down;
298 defaultClef = #"treble"
299 defaultBarType = #"|"
301 \accepts "StaffGroup";
302 \accepts "RhythmicStaff";
304 \accepts "ChordNames";
305 \accepts "GrandStaff";
306 \accepts "ChoirStaff";
307 \accepts "PianoStaff";
309 clefBreakPriority = #-2
310 breathingSignBreakPriority = #-4
313 \translator { \ScoreContext }
315 OrchestralScoreContext= \translator {
318 barScriptPadding = #2.0 % dimension \pt
319 markScriptPadding = #4.0
321 \consists "Bar_number_engraver";
322 \consists "Mark_engraver";
324 \accepts "HaraKiriStaff";