lilypond-1.1.49
[lilypond.git] / ly / engraver.ly
blob7374759171869389e9cc7e506cfe1d3ff10524c8
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 "Repeat_engraver";
13 \consists "Bar_engraver";
14 \consists "Clef_engraver";
15 \consists "Key_engraver";
16 \consists "Local_key_engraver";
17 \consists "Time_signature_engraver";
18 \consists "Staff_symbol_engraver";
19 \consists "Collision_engraver";
20 \consists "Rest_collision_engraver";
21 \consistsend "Axis_group_engraver";
24 Uncomment to get bar numbers on single staff systems:
26 The Bar_number_engraver puts a number over a staff created
27 at the same level of hierarchy. This why you have to add it
28 here separately if you want to have numbers on single staff
29 systems: The Bar_number_engraver in Score_engraver will only
30 put numbers on bars that are Score ("system") wide. Such
31 bars are only created when the toplevel system has multiple
32 children-staffs.
36 \consists "Bar_number_engraver";
40 The Staff_margin_engraver puts the name of the instrument
41 (\property Staff.instrument; Staff.instr for subsequent lines)
42 to the left of a staff.
45 \consists "Staff_margin_engraver";
47 defaultClef = treble;
49 marginBreakPriority = "-5";
52 \consists "Separating_line_group_engraver";
53 \consists "Font_size_engraver";
55 \accepts "Voice";
56 dynamicStyle = "dynamic";
59 \translator{\StaffContext }
60 \translator {
61 \type "Engraver_group_engraver";
62 \name ChoirStaff;
63 alignmentReference = \center;
64 \consists "Staff_group_bar_engraver";
67 \accepts "Staff";
68 \accepts "RhythmicStaff";
69 \accepts "GrandStaff";
70 \accepts "PianoStaff";
73 \accepts "Lyrics";
74 \accepts "ChordNames";
78 RhythmicStaffContext=\translator{
79 \type "Engraver_group_engraver";
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 \consistsend "Axis_group_engraver";
90 \accepts "Voice";
92 \translator{\RhythmicStaffContext}
93 VoiceContext = \translator {
94 \type "Engraver_group_engraver";
95 \consists "Dynamic_engraver"; % must come before text_engraver.
96 \name Voice ;
97 beamAuto = "1";
99 \consists "Rest_engraver";
100 \consists "Dot_column_engraver";
101 \consists "Stem_engraver";
102 \consists "Beam_engraver";
103 \consists "Auto_beam_engraver";
104 \include "auto-beam-settings.ly";
105 % \consists "Abbreviation_beam_engraver";
106 % \consists "Multi_measure_rest_engraver";
108 % ugh. Order matters here.
109 \consists "Text_engraver";
110 \consists "G_script_engraver";
111 \consists "G_script_column_engraver";
112 \consists "Rhythmic_column_engraver";
113 \consists "Font_size_engraver";
114 \consists "Slur_engraver";
115 \consists "Tie_engraver";
116 \consists "Tuplet_engraver";
117 \consists "Skip_req_swallow_translator";
118 \accepts Thread; % bug if you leave out this!
121 \translator {\VoiceContext}
123 ThreadContext = \translator{
124 \type Engraver_group_engraver;
125 \consists "Note_heads_engraver" ;
126 \name Thread;
129 \translator{\ThreadContext}
130 GrandStaffContext=\translator{
131 \type "Engraver_group_engraver";
132 \name GrandStaff;
133 \consists "Span_bar_engraver";
134 \consists "Piano_bar_engraver";
137 \accepts "Staff";
140 \translator{\GrandStaffContext}
142 PianoStaffContext = \translator{\GrandStaffContext
143 alignmentReference = \center;
145 \consists "Vertical_align_engraver";
146 minVerticalAlign = 3.0*\staffheight;
147 maxVerticalAlign = 3.0*\staffheight;
149 % \consistsend "Axis_group_engraver";
150 \name "PianoStaff";
153 \translator{\PianoStaffContext}
154 StaffGroupContext= \translator {
155 \type "Engraver_group_engraver";
156 \consists "Span_bar_engraver";
159 \consists "Staff_group_bar_engraver";
160 \name StaffGroup;
161 \accepts "Staff";
162 \accepts "RhythmicStaff";
163 \accepts "GrandStaff";
164 \accepts "PianoStaff";
166 \accepts "Lyrics";
167 \accepts "ChordNames";
169 \translator { \StaffGroupContext }
171 \translator{
172 \type "Engraver_group_engraver";
173 \consistsend "Axis_group_engraver";
175 \name LyricVoice ;
176 \consists "Separating_line_group_engraver";
177 \consists "Lyric_engraver";
178 \consists "Extender_engraver";
181 \translator {
182 \type "Engraver_group_engraver";
183 \name Lyrics;
184 \consists Vertical_align_engraver;%need this for getting folded repeats right.
186 \consistsend "Axis_group_engraver";
188 \accepts "LyricVoice";
191 \translator{
192 \type "Engraver_group_engraver";
194 \consistsend "Axis_group_engraver";
195 \name ChordNameVoice ;
196 \consists "Separating_line_group_engraver";
197 \consists "Chord_name_engraver";
201 ChordNameContext = \translator {
202 \type "Engraver_group_engraver";
203 \name ChordNames;
204 \accepts "ChordNameVoice";
205 \consistsend "Axis_group_engraver";
207 \translator { \ChordNameContext }
210 ScoreWithNumbers = \translator {
211 \type "Score_engraver";
213 % uncomment to bar numbers on a whole system.
214 \consists "Bar_number_engraver";
217 StupidScore = \translator {
218 \type "Score_engraver";
219 \name Score;
220 \consists "Note_heads_engraver";
225 BarNumberingStaffContext = \translator {
226 \StaffContext
227 barColumnPriority = "0";
228 marginBreakPriority = "-4";
229 \consists "Mark_engraver";
230 \consists "Bar_number_engraver";
233 HaraKiriStaffContext = \translator {
234 \StaffContext
235 \remove "Axis_group_engraver";
236 \consistsend "Hara_kiri_engraver";
237 \accepts "Voice";
240 OrchestralPartStaffContext = \translator {
241 \StaffContext
242 barColumnPriority = "0";
243 marginBreakPriority = "-4";
244 \consists "Mark_engraver";
245 \consists "Bar_number_engraver";
248 ScoreContext = \translator {
249 \type Score_engraver;
250 \name Score;
252 \consists "Timing_engraver";
253 \consists "Span_score_bar_engraver";
254 \consists "Score_priority_engraver";
255 \consists "Spacing_engraver";
256 \consists "Vertical_align_engraver";
257 alignmentReference = \down;
258 defaultClef = treble;
260 \accepts "Staff";
261 \accepts "StaffGroup";
262 \accepts "RhythmicStaff";
263 \accepts "Lyrics";
264 \accepts "ChordNames";
265 \accepts "GrandStaff";
266 \accepts "ChoirStaff";
267 \accepts "PianoStaff";
270 \translator { \ScoreContext }
272 OrchestralScoreContext= \translator {
273 \ScoreContext
275 barScriptPadding = "2.0"; % dimension \pt
276 markScriptPadding = "4.0";
278 \consists "Bar_number_engraver";
279 \consists "Mark_engraver";
281 \accepts "HaraKiriStaff";