lilypond-1.1.59
[lilypond.git] / ly / engraver.ly
blobdfd6ca731ed93793397a4bf2e93acda6d91083f1
2 % setup for Request->Element conversion. Guru-only
5 StaffContext=\translator {
6 \type "Engraver_group_engraver";
7 \name Staff ;
8 barAuto = "1";
9 voltaVisibility = "1";
11 \consists "Multi_measure_rest_engraver";
12 \consists "Bar_engraver";
13 % Bar_engraver must be first so default bars aren't overwritten
14 % with empty ones.
15 \consists "Repeat_engraver";
16 \consists "Clef_engraver";
17 \consists "Key_engraver";
18 \consists "Time_signature_engraver";
19 \consists "Staff_symbol_engraver";
20 \consists "Collision_engraver";
21 \consists "Rest_collision_engraver";
22 \consistsend "Axis_group_engraver";
27 The Staff_margin_engraver puts the name of the instrument
28 (\property Staff.instrument; Staff.instr for subsequent lines)
29 to the left of a staff.
32 \consists "Staff_margin_engraver";
34 defaultClef = treble;
36 marginBreakPriority = "-5";
39 \consists "Separating_line_group_engraver";
40 \consists "Font_size_engraver";
42 \accepts "Voice";
43 dynamicStyle = "dynamic";
46 \translator{\StaffContext }
47 \translator {
48 \type "Engraver_group_engraver";
49 \name ChoirStaff;
50 alignmentReference = \center;
51 \consists "Staff_group_bar_engraver";
54 \accepts "Staff";
55 \accepts "RhythmicStaff";
56 \accepts "GrandStaff";
57 \accepts "PianoStaff";
60 \accepts "Lyrics";
61 \accepts "ChordNames";
65 RhythmicStaffContext=\translator{
66 \type "Engraver_group_engraver";
67 numberOfStaffLines = "1";
68 barSize = \staffheight;
69 \consists "Pitch_squash_engraver";
70 \consists "Separating_line_group_engraver";
71 \name RhythmicStaff;
73 \consists "Repeat_engraver";
74 \consists "Bar_engraver";
75 \consists "Time_signature_engraver";
76 \consists "Staff_symbol_engraver";
77 \consistsend "Axis_group_engraver";
78 \accepts "Voice";
80 \translator{\RhythmicStaffContext}
81 VoiceContext = \translator {
82 \type "Engraver_group_engraver";
83 \consists "Dynamic_engraver"; % must come before text_engraver.
84 \name Voice ;
85 \consists "Local_key_engraver";
87 \consists "Breathing_sign_engraver";
88 \consists "Rest_engraver";
89 \consists "Dot_column_engraver";
90 \consists "Stem_engraver";
91 \consists "Beam_engraver";
92 beamAuto = "1";
93 \consists "Auto_beam_engraver";
94 \include "auto-beam-settings.ly";
95 % \consists "Abbreviation_beam_engraver";
96 % \consists "Multi_measure_rest_engraver";
98 % ugh. Order matters here.
99 \consists "Text_engraver";
100 \consists "Script_engraver";
101 \consists "Script_column_engraver";
102 \consists "Rhythmic_column_engraver";
103 \consists "Font_size_engraver";
104 \consists "Slur_engraver";
105 \consists "Tie_engraver";
106 \consists "Tuplet_engraver";
107 \consists "Grace_position_engraver";
108 \consists "Skip_req_swallow_translator";
109 \accepts Thread; % bug if you leave out this!
110 \accepts Grace;
113 GraceContext=\translator {
114 \type "Grace_engraver_group";
115 \name "Grace";
116 \consists "Note_heads_engraver";
117 \consists "Local_key_engraver";
118 \consists "Stem_engraver";
119 \consists "Beam_engraver";
120 beamAuto = "1";
121 \consists "Slur_engraver";
122 \consists "Auto_beam_engraver";
123 \include "auto-beam-settings.ly";
124 \consists "Align_note_column_engraver";
125 \consists "Font_size_engraver";
126 \consists "Rhythmic_column_engraver";
128 stemStyle = "grace";
129 weAreGraceContext = "1";
130 fontSize = "-1";
131 stemLength = "6.0";
132 verticalDirection = "1";
133 graceAccidentalSpace= 1.5 * \interline;
136 \translator{\GraceContext}
137 \translator {\VoiceContext}
139 ThreadContext = \translator{
140 \type Engraver_group_engraver;
141 \consists "Note_heads_engraver" ;
142 \name Thread;
145 \translator{\ThreadContext}
146 GrandStaffContext=\translator{
147 \type "Engraver_group_engraver";
148 \name GrandStaff;
149 \consists "Span_bar_engraver";
150 \consists "Piano_bar_engraver";
153 \accepts "Staff";
156 \translator{\GrandStaffContext}
158 PianoStaffContext = \translator{\GrandStaffContext
159 alignmentReference = \center;
161 \consists "Vertical_align_engraver";
162 minVerticalAlign = 3.0*\staffheight;
163 maxVerticalAlign = 3.0*\staffheight;
165 % \consistsend "Axis_group_engraver";
166 \name "PianoStaff";
169 \translator{\PianoStaffContext}
170 StaffGroupContext= \translator {
171 \type "Engraver_group_engraver";
172 \consists "Span_bar_engraver";
175 \consists "Staff_group_bar_engraver";
176 \name StaffGroup;
177 \accepts "Staff";
178 \accepts "RhythmicStaff";
179 \accepts "GrandStaff";
180 \accepts "PianoStaff";
182 \accepts "Lyrics";
183 \accepts "ChordNames";
185 \translator { \StaffGroupContext }
187 \translator{
188 \type "Engraver_group_engraver";
189 \consistsend "Axis_group_engraver";
191 \name LyricVoice ;
192 \consists "Separating_line_group_engraver";
193 \consists "Lyric_engraver";
194 \consists "Extender_engraver";
195 \consists "Hyphen_engraver";
198 \translator {
199 \type "Engraver_group_engraver";
200 \name Lyrics;
201 \consists Vertical_align_engraver;%need this for getting folded repeats right.
203 \consistsend "Axis_group_engraver";
205 \accepts "LyricVoice";
208 \translator{
209 \type "Engraver_group_engraver";
211 \consistsend "Axis_group_engraver";
212 \name ChordNameVoice ;
213 \consists "Separating_line_group_engraver";
214 \consists "Chord_name_engraver";
218 ChordNameContext = \translator {
219 \type "Engraver_group_engraver";
220 \name ChordNames;
221 \accepts "ChordNameVoice";
222 \consistsend "Axis_group_engraver";
224 \translator { \ChordNameContext }
227 ScoreWithNumbers = \translator {
228 \type "Score_engraver";
230 % uncomment to bar numbers on a whole system.
231 \consists "Bar_number_engraver";
234 StupidScore = \translator {
235 \type "Score_engraver";
236 \name Score;
237 \consists "Note_heads_engraver";
242 BarNumberingStaffContext = \translator {
243 \StaffContext
244 barColumnPriority = "0";
245 marginBreakPriority = "-4";
246 \consists "Mark_engraver";
247 \consists "Bar_number_engraver";
250 HaraKiriStaffContext = \translator {
251 \StaffContext
252 \remove "Axis_group_engraver";
253 \consistsend "Hara_kiri_engraver";
254 \accepts "Voice";
257 OrchestralPartStaffContext = \translator {
258 \StaffContext
259 barColumnPriority = "0";
260 marginBreakPriority = "-4";
261 \consists "Mark_engraver";
262 \consists "Bar_number_engraver";
265 ScoreContext = \translator {
266 \type Score_engraver;
267 \name Score;
269 \consists "Timing_engraver";
270 \consists "Span_score_bar_engraver";
271 \consists "Score_priority_engraver";
272 \consists "Spacing_engraver";
273 \consists "Vertical_align_engraver";
274 alignmentReference = \down;
275 defaultClef = treble;
277 \accepts "Staff";
278 \accepts "StaffGroup";
279 \accepts "RhythmicStaff";
280 \accepts "Lyrics";
281 \accepts "ChordNames";
282 \accepts "GrandStaff";
283 \accepts "ChoirStaff";
284 \accepts "PianoStaff";
287 \translator { \ScoreContext }
289 OrchestralScoreContext= \translator {
290 \ScoreContext
292 barScriptPadding = "2.0"; % dimension \pt
293 markScriptPadding = "4.0";
295 \consists "Bar_number_engraver";
296 \consists "Mark_engraver";
298 \accepts "HaraKiriStaff";