2 % setup for Request->Element conversion. Guru-only
5 StaffContext
=\translator {
6 \type "Line_group_engraver_group";
10 The Hara_kiri_line_group_engraver is a Line_group_engraver
11 that will not typeset an empty line of staff, i.e., a line
12 of staff with only rests in it. This is needed for orchestral
13 scores. Comment-out Line_group_engraver_group, and uncomment
14 Hara_kiri_line_group_engraver.
16 % \type "Hara_kiri_line_group_engraver";
18 \consists "Repeat_engraver";
19 \consists "Bar_engraver";
20 \consists "Clef_engraver";
21 \consists "Key_engraver";
22 \consists "Local_key_engraver";
23 \consists "Time_signature_engraver";
24 \consists "Staff_symbol_engraver";
25 \consists "Collision_engraver";
26 \consists "Rest_collision_engraver";
29 Uncomment to get bar numbers on single staff systems:
31 The Bar_number_engraver puts a number over a staff created
32 at the same level of hierarchy. This why you have to add it
33 here separately if you want to have numbers on single staff
34 systems: The Bar_number_engraver in Score_engraver will only
35 put numbers on bars that are Score ("system") wide. Such
36 bars are only created when the toplevel system has multiple
41 \consists "Bar_column_engraver";
42 \consists "Bar_number_engraver";
45 The Staff_margin_engraver puts the name of the instrument
46 (\property Staff.instrument; Staff.instr for subsequent lines)
47 to the left of a staff.
51 marginBreakPriority = "-5";
54 \consists "Staff_margin_engraver";
56 \consists "Separating_line_group_engraver";
61 \translator{\StaffContext }
63 \type "Line_group_engraver_group";
65 \consists "Vertical_align_engraver";
66 \consists "Staff_group_bar_engraver";
68 \accepts "RhythmicStaff";
69 \accepts "GrandStaff";
71 \accepts "ChordNames";
75 RhythmicStaffContext=\translator{
76 \type "Line_group_engraver_group";
78 \consists "Pitch_squash_engraver";
79 \consists "Separating_line_group_engraver";
82 \consists "Repeat_engraver";
83 \consists "Bar_engraver";
84 \consists "Time_signature_engraver";
85 \consists "Staff_symbol_engraver";
88 \translator{\RhythmicStaffContext}
89 VoiceContext = \translator {
90 \type "Engraver_group_engraver";
91 \consists "Dynamic_engraver";
94 \consists "Rest_engraver";
95 \consists "Dot_column_engraver";
96 \consists "Stem_engraver";
97 % \consists "Plet_engraver";
98 \consists "Beam_engraver";
99 \consists "Abbreviation_beam_engraver";
100 \consists "Multi_measure_rest_engraver";
101 \consists "Script_engraver";
102 \consists "Rhythmic_column_engraver";
103 \consists "Font_size_engraver";
104 \consists "Slur_engraver";
105 \consists "Ties_engraver";
106 \consists "Tuplet_engraver";
107 \consists "Note_heads_engraver" ;
108 \consists "Skip_req_swallow_translator";
111 \translator {\VoiceContext}
113 GrandStaffContext=\translator{
114 \type "Line_group_engraver_group";
116 \consists "Span_bar_engraver";
117 \consists "Vertical_align_engraver";
118 \consists "Piano_bar_engraver";
119 minVerticalAlign = 1.5*\staffheight;
123 \translator{\GrandStaffContext}
126 \type "Line_group_engraver_group";
127 % \type "Hara_kiri_line_group_engraver";
128 \consists "Span_bar_engraver";
129 \consists "Vertical_align_engraver";
130 \consists "Staff_group_bar_engraver";
133 \accepts "RhythmicStaff";
134 \accepts "GrandStaff";
136 \accepts "ChordNames";
140 \type "Line_group_engraver_group";
143 \consists "Separating_line_group_engraver";
144 \consists "Lyric_engraver";
145 \consists "Extender_engraver";
146 \consists "Beam_req_swallow_translator";
147 \consists "Plet_swallow_engraver";
151 \type "Line_group_engraver_group";
153 \consists "Vertical_align_engraver";
154 \accepts "LyricVoice";
158 \type "Line_group_engraver_group";
160 \name ChordNameVoice ;
161 \consists "Separating_line_group_engraver";
162 \consists "Chord_name_engraver";
166 \type "Line_group_engraver_group";
168 \consists "Vertical_align_engraver";
169 \accepts "ChordNameVoice";
172 ScoreContext = \translator {
173 \type Score_engraver;
176 \consists "Timing_engraver";
178 \consists "Bar_column_engraver";
179 \consists "Span_score_bar_engraver";
180 \consists "Score_priority_engraver";
181 \consists "Priority_horizontal_align_engraver";
182 \consists "Vertical_align_engraver";
185 \accepts "StaffGroup";
187 \accepts "RhythmicStaff";
189 \accepts "ChordNames";
190 \accepts "GrandStaff";
191 \accepts "ChoirStaff";
193 \translator { \ScoreContext }
195 ScoreWithNumbers = \translator {
196 \type "Score_engraver";
198 % uncomment to bar numbers on a whole system.
199 \consists "Bar_column_engraver";
200 \consists "Bar_number_engraver";
204 StupidScore = \translator {
205 \type "Score_engraver";
207 \consists "Note_heads_engraver";
212 BarNumberingStaffContext = \translator {
214 barColumnPriority = "0";
215 marginBreakPriority = "-4";
216 \consists "Mark_engraver";
217 \consists "Bar_column_engraver";
218 \consists "Bar_number_engraver";
223 HaraKiriStaffContext = \translator {
224 \type "Hara_kiri_line_group_engraver";
226 barColumnPriority = "0";
227 marginBreakPriority = "-4";
229 \consists "Repeat_engraver";
230 \consists "Bar_engraver";
231 \consists "Clef_engraver";
232 \consists "Key_engraver";
233 \consists "Time_signature_engraver";
234 \consists "Local_key_engraver";
235 \consists "Staff_symbol_engraver";
236 \consists "Collision_engraver";
237 \consists "Rest_collision_engraver";
238 \consists "Staff_margin_engraver";
239 \consists "Separating_line_group_engraver";
244 % huh, Score should do HaraKiri, not Part yes?
245 OrchestralPartStaffContext = \translator {
246 % \HaraKiriStaffContext
248 barColumnPriority = "0";
249 marginBreakPriority = "-4";
250 \consists "Mark_engraver";
251 \consists "Bar_column_engraver";
252 \consists "Bar_number_engraver";
255 % where to put HaraKiri here?
256 OrchestralScoreContext= \translator {
257 \type Score_engraver;
259 barScriptPadding = "2.0"; % dimension \pt
260 markScriptPadding = "4.0";
261 barColumnPriority = "-4";
262 markBreakPriority = "-4";
263 defaultClef = treble;
265 \consists "Timing_engraver";
267 \consists "Bar_column_engraver";
268 \consists "Bar_number_engraver";
269 \consists "Mark_engraver";
270 \consists "Span_score_bar_engraver";
271 \consists "Score_priority_engraver";
272 \consists "Priority_horizontal_align_engraver";
273 \consists "Vertical_align_engraver";
275 \accepts "ChoirStaff";
276 \accepts "StaffGroup";
278 \accepts "RhythmicStaff";
280 \accepts "ChordNames";
281 \accepts "GrandStaff";