lilypond-1.1.65
[lilypond.git] / ly / engraver.ly
blobd8cd95439bde01c49e65ce8e96cc1fffddfb9249
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 \consists "Local_key_engraver";
24 \consistsend "Axis_group_engraver";
29 The Staff_margin_engraver puts the name of the instrument
30 (\property Staff.instrument; Staff.instr for subsequent lines)
31 to the left of a staff.
34 \consists "Staff_margin_engraver";
36 defaultClef = treble;
38 marginBreakPriority = "-5";
41 \consists "Separating_line_group_engraver";
42 \consists "Font_size_engraver";
44 \accepts "Voice";
45 dynamicStyle = "dynamic";
48 \translator{\StaffContext }
49 \translator {
50 \type "Engraver_group_engraver";
51 \name ChoirStaff;
52 alignmentReference = \center;
53 \consists "Staff_group_bar_engraver";
56 \accepts "Staff";
57 \accepts "RhythmicStaff";
58 \accepts "GrandStaff";
59 \accepts "PianoStaff";
62 \accepts "Lyrics";
63 \accepts "ChordNames";
67 RhythmicStaffContext=\translator{
68 \type "Engraver_group_engraver";
69 numberOfStaffLines = "1";
70 barSize = \staffheight;
71 \consists "Pitch_squash_engraver";
72 \consists "Separating_line_group_engraver";
73 \name RhythmicStaff;
75 \consists "Repeat_engraver";
76 \consists "Bar_engraver";
77 \consists "Time_signature_engraver";
78 \consists "Staff_symbol_engraver";
79 \consistsend "Axis_group_engraver";
80 \accepts "Voice";
82 \translator{\RhythmicStaffContext}
83 VoiceContext = \translator {
84 \type "Engraver_group_engraver";
85 dynamicPadding = "5.0";
86 \consists "Dynamic_engraver"; % must come before text_engraver.
87 \name Voice ;
89 \consists "Tie_engraver";
90 \consists "Breathing_sign_engraver";
91 \consists "Rest_engraver";
92 \consists "Dot_column_engraver";
93 \consists "Stem_engraver";
94 \consists "Beam_engraver";
95 beamAuto = "1";
96 \consists "Auto_beam_engraver";
97 \include "auto-beam-settings.ly";
98 \consists "Abbreviation_beam_engraver";
99 % \consists "Multi_measure_rest_engraver";
101 % ugh. Order matters here.
102 \consists "Melisma_engraver";
103 textScriptPadding = "3.0";
104 \consists "Text_engraver";
105 \consists "Script_engraver";
106 \consists "Script_column_engraver";
107 \consists "Rhythmic_column_engraver";
108 \consists "Font_size_engraver";
109 \consists "Slur_engraver";
110 \consists "Tuplet_engraver";
111 \consists "Grace_position_engraver";
112 \consists "Skip_req_swallow_translator";
113 \accepts Thread; % bug if you leave out this!
114 \accepts Grace;
117 GraceContext=\translator {
118 \type "Grace_engraver_group";
119 \name "Grace";
120 \consists "Note_heads_engraver";
121 \consists "Local_key_engraver";
122 \consists "Stem_engraver";
123 \consists "Beam_engraver";
124 beamAuto = "1";
125 \consists "Slur_engraver";
126 \consists "Auto_beam_engraver";
127 \include "auto-beam-settings.ly";
128 \consists "Align_note_column_engraver";
129 \consists "Font_size_engraver";
130 \consists "Rhythmic_column_engraver";
131 \consists "Dynamic_engraver";
133 stemStyle = "grace";
134 weAreGraceContext = "1";
135 fontSize = "-1";
136 stemLength = "6.0";
137 verticalDirection = "1";
138 graceAccidentalSpace= 1.5 * \interline;
141 \translator{\GraceContext}
142 \translator {\VoiceContext}
144 ThreadContext = \translator{
145 \type Engraver_group_engraver;
146 \consists "Note_heads_engraver" ;
147 \name Thread;
150 \translator{\ThreadContext}
151 GrandStaffContext=\translator{
152 \type "Engraver_group_engraver";
153 \name GrandStaff;
154 \consists "Span_bar_engraver";
155 \consists "Piano_bar_engraver";
158 \accepts "Staff";
161 \translator{\GrandStaffContext}
163 PianoStaffContext = \translator{\GrandStaffContext
164 alignmentReference = \center;
166 \consists "Vertical_align_engraver";
167 minVerticalAlign = 3.0*\staffheight;
168 maxVerticalAlign = 3.0*\staffheight;
170 % \consistsend "Axis_group_engraver";
171 \name "PianoStaff";
174 \translator{\PianoStaffContext}
175 StaffGroupContext= \translator {
176 \type "Engraver_group_engraver";
177 \consists "Span_bar_engraver";
180 \consists "Staff_group_bar_engraver";
181 \name StaffGroup;
182 \accepts "Staff";
183 \accepts "RhythmicStaff";
184 \accepts "GrandStaff";
185 \accepts "PianoStaff";
187 \accepts "Lyrics";
188 \accepts "ChordNames";
190 \translator { \StaffGroupContext }
192 \translator{
193 \type "Engraver_group_engraver";
194 \consistsend "Axis_group_engraver";
196 \name LyricVoice ;
197 \consists "Separating_line_group_engraver";
198 \consists "Lyric_engraver";
199 \consists "Extender_engraver";
200 \consists "Hyphen_engraver";
203 \translator {
204 \type "Engraver_group_engraver";
205 \name Lyrics;
206 \consists Vertical_align_engraver;%need this for getting folded repeats right.
208 \consistsend "Axis_group_engraver";
210 \accepts "LyricVoice";
213 \translator{
214 \type "Engraver_group_engraver";
216 \consistsend "Axis_group_engraver";
217 \name ChordNameVoice ;
218 \consists "Separating_line_group_engraver";
219 \consists "Chord_name_engraver";
223 ChordNameContext = \translator {
224 \type "Engraver_group_engraver";
225 \name ChordNames;
226 \accepts "ChordNameVoice";
227 \consistsend "Axis_group_engraver";
229 \translator { \ChordNameContext }
232 ScoreWithNumbers = \translator {
233 \type "Score_engraver";
235 % uncomment to bar numbers on a whole system.
236 \consists "Bar_number_engraver";
239 StupidScore = \translator {
240 \type "Score_engraver";
241 \name Score;
242 \consists "Note_heads_engraver";
247 BarNumberingStaffContext = \translator {
248 \StaffContext
249 barColumnPriority = "0";
250 marginBreakPriority = "-4";
251 \consists "Mark_engraver";
252 \consists "Bar_number_engraver";
255 HaraKiriStaffContext = \translator {
256 \StaffContext
257 \remove "Axis_group_engraver";
258 \consistsend "Hara_kiri_engraver";
259 \accepts "Voice";
262 OrchestralPartStaffContext = \translator {
263 \StaffContext
264 barColumnPriority = "0";
265 marginBreakPriority = "-4";
266 \consists "Mark_engraver";
267 \consists "Bar_number_engraver";
270 ScoreContext = \translator {
271 \type Score_engraver;
272 \name Score;
274 \consists "Timing_engraver";
275 \consists "Span_score_bar_engraver";
276 \consists "Score_priority_engraver";
277 \consists "Spacing_engraver";
278 \consists "Vertical_align_engraver";
279 alignmentReference = \down;
280 defaultClef = treble;
282 \accepts "Staff";
283 \accepts "StaffGroup";
284 \accepts "RhythmicStaff";
285 \accepts "Lyrics";
286 \accepts "ChordNames";
287 \accepts "GrandStaff";
288 \accepts "ChoirStaff";
289 \accepts "PianoStaff";
292 \translator { \ScoreContext }
294 OrchestralScoreContext= \translator {
295 \ScoreContext
297 barScriptPadding = "2.0"; % dimension \pt
298 markScriptPadding = "4.0";
300 \consists "Bar_number_engraver";
301 \consists "Mark_engraver";
303 \accepts "HaraKiriStaff";