lilypond-1.5.9
[lilypond.git] / init / engraver.ly
blob089b29a1b9f99f54e1bfaf9aeca0cd4c197ae545
2 % setup for Request->Element conversion. Guru-only
5 StaffContext=\translator {
6 \type "Line_group_engraver_group";
7 \name Staff ;
8 barAuto = "1";
11 The Hara_kiri_line_group_engraver is a Line_group_engraver
12 that will not typeset an empty line of staff, i.e., a line
13 of staff with only rests in it. This is needed for orchestral
14 scores. Comment-out Line_group_engraver_group, and uncomment
15 Hara_kiri_line_group_engraver.
17 % \type "Hara_kiri_line_group_engraver";
19 \consists "Multi_measure_rest_engraver";
20 \consists "Repeat_engraver";
21 \consists "Bar_engraver";
22 \consists "Clef_engraver";
23 \consists "Key_engraver";
24 \consists "Local_key_engraver";
25 \consists "Time_signature_engraver";
26 \consists "Staff_symbol_engraver";
27 \consists "Collision_engraver";
28 \consists "Rest_collision_engraver";
31 Uncomment to get bar numbers on single staff systems:
33 The Bar_number_engraver puts a number over a staff created
34 at the same level of hierarchy. This why you have to add it
35 here separately if you want to have numbers on single staff
36 systems: The Bar_number_engraver in Score_engraver will only
37 put numbers on bars that are Score ("system") wide. Such
38 bars are only created when the toplevel system has multiple
39 children-staffs.
43 \consists "Bar_column_engraver";
44 \consists "Bar_number_engraver";
47 The Staff_margin_engraver puts the name of the instrument
48 (\property Staff.instrument; Staff.instr for subsequent lines)
49 to the left of a staff.
51 defaultClef = treble;
53 marginBreakPriority = "-5";
56 \consists "Staff_margin_engraver";
58 \consists "Separating_line_group_engraver";
60 \accepts "Voice";
61 dynamicStyle = "dynamic";
64 \translator{\StaffContext }
65 \translator {
66 \type "Line_group_engraver_group";
67 \name ChoirStaff;
68 \consists "Vertical_align_engraver";
69 \consists "Staff_group_bar_engraver";
70 \accepts "Staff";
71 \accepts "RhythmicStaff";
72 \accepts "GrandStaff";
73 \accepts "Lyrics";
74 \accepts "ChordNames";
78 RhythmicStaffContext=\translator{
79 \type "Line_group_engraver_group";
80 numberOfStaffLines = "1";
81 \consists "Pitch_squash_engraver";
82 \consists "Separating_line_group_engraver";
83 \name RhythmicStaff;
85 \consists "Repeat_engraver";
86 \consists "Bar_engraver";
87 \consists "Time_signature_engraver";
88 \consists "Staff_symbol_engraver";
89 \accepts "Voice";
91 \translator{\RhythmicStaffContext}
92 VoiceContext = \translator {
93 \type "Engraver_group_engraver";
94 \consists "Dynamic_engraver";
95 \name Voice ;
97 \consists "Rest_engraver";
98 \consists "Dot_column_engraver";
99 \consists "Stem_engraver";
100 \consists "Beam_engraver";
101 \consists "Abbreviation_beam_engraver";
102 % \consists "Multi_measure_rest_engraver";
104 % ugh. Order matters here.
105 \consists "Text_engraver";
106 \consists "Script_engraver";
107 \consists "Rhythmic_column_engraver";
108 \consists "Font_size_engraver";
109 \consists "Slur_engraver";
110 \consists "Tie_engraver";
111 \consists "Tuplet_engraver";
112 \consists "Note_heads_engraver" ;
113 \consists "Skip_req_swallow_translator";
116 \translator {\VoiceContext}
118 GrandStaffContext=\translator{
119 \type "Line_group_engraver_group";
120 \name GrandStaff;
121 \consists "Span_bar_engraver";
122 \consists "Vertical_align_engraver";
123 \consists "Piano_bar_engraver";
124 minVerticalAlign = 1.5*\staffheight;
126 \accepts "Staff";
128 \translator{\GrandStaffContext}
130 \translator {
131 \type "Line_group_engraver_group";
132 % \type "Hara_kiri_line_group_engraver";
133 \consists "Span_bar_engraver";
134 \consists "Vertical_align_engraver";
135 \consists "Staff_group_bar_engraver";
136 \name StaffGroup;
137 \accepts "Staff";
138 \accepts "RhythmicStaff";
139 \accepts "GrandStaff";
140 \accepts "Lyrics";
141 \accepts "ChordNames";
144 \translator{
145 \type "Line_group_engraver_group";
147 \name LyricVoice ;
148 \consists "Separating_line_group_engraver";
149 \consists "Lyric_engraver";
150 \consists "Extender_engraver";
151 \consists "Beam_req_swallow_translator";
154 \translator {
155 \type "Line_group_engraver_group";
156 \name Lyrics;
157 \consists "Vertical_align_engraver";
158 \accepts "LyricVoice";
161 \translator{
162 \type "Line_group_engraver_group";
164 \name ChordNameVoice ;
165 \consists "Separating_line_group_engraver";
166 \consists "Chord_name_engraver";
169 \translator {
170 \type "Line_group_engraver_group";
171 \name ChordNames;
172 \consists "Vertical_align_engraver";
173 \accepts "ChordNameVoice";
176 ScoreContext = \translator {
177 \type Score_engraver;
178 \name Score;
180 \consists "Timing_engraver";
182 \consists "Bar_column_engraver";
183 \consists "Span_score_bar_engraver";
184 \consists "Score_priority_engraver";
185 \consists "Priority_horizontal_align_engraver";
186 \consists "Vertical_align_engraver";
189 \accepts "StaffGroup";
190 \accepts "Staff";
191 \accepts "RhythmicStaff";
192 \accepts "Lyrics";
193 \accepts "ChordNames";
194 \accepts "GrandStaff";
195 \accepts "ChoirStaff";
197 \translator { \ScoreContext }
199 ScoreWithNumbers = \translator {
200 \type "Score_engraver";
202 % uncomment to bar numbers on a whole system.
203 \consists "Bar_column_engraver";
204 \consists "Bar_number_engraver";
208 StupidScore = \translator {
209 \type "Score_engraver";
210 \name Score;
211 \consists "Note_heads_engraver";
216 BarNumberingStaffContext = \translator {
217 \StaffContext
218 barColumnPriority = "0";
219 marginBreakPriority = "-4";
220 \consists "Mark_engraver";
221 \consists "Bar_column_engraver";
222 \consists "Bar_number_engraver";
227 HaraKiriStaffContext = \translator {
228 \type "Hara_kiri_line_group_engraver";
229 \name Staff;
230 barColumnPriority = "0";
231 marginBreakPriority = "-4";
233 \consists "Repeat_engraver";
234 \consists "Bar_engraver";
235 \consists "Clef_engraver";
236 \consists "Key_engraver";
237 \consists "Time_signature_engraver";
238 \consists "Local_key_engraver";
239 \consists "Staff_symbol_engraver";
240 \consists "Collision_engraver";
241 \consists "Rest_collision_engraver";
242 \consists "Staff_margin_engraver";
243 \consists "Separating_line_group_engraver";
245 \accepts "Voice";
248 % huh, Score should do HaraKiri, not Part yes?
249 OrchestralPartStaffContext = \translator {
250 % \HaraKiriStaffContext
251 \StaffContext
252 barColumnPriority = "0";
253 marginBreakPriority = "-4";
254 \consists "Mark_engraver";
255 \consists "Bar_column_engraver";
256 \consists "Bar_number_engraver";
259 % where to put HaraKiri here?
260 OrchestralScoreContext= \translator {
261 \type Score_engraver;
262 \name Score;
263 barScriptPadding = "2.0"; % dimension \pt
264 markScriptPadding = "4.0";
265 barColumnPriority = "-4";
266 markBreakPriority = "-4";
267 defaultClef = treble;
269 \consists "Timing_engraver";
271 \consists "Bar_column_engraver";
272 \consists "Bar_number_engraver";
273 \consists "Mark_engraver";
274 \consists "Span_score_bar_engraver";
275 \consists "Score_priority_engraver";
276 \consists "Priority_horizontal_align_engraver";
277 \consists "Vertical_align_engraver";
279 \accepts "ChoirStaff";
280 \accepts "StaffGroup";
281 \accepts "Staff";
282 \accepts "RhythmicStaff";
283 \accepts "Lyrics";
284 \accepts "ChordNames";
285 \accepts "GrandStaff";