]> git.donarmstrong.com Git - lilypond.git/blob - init/engraver.ly
f8b85f92fed034b5a7e70a31db19af36821b9331
[lilypond.git] / init / engraver.ly
1 %
2 % setup for Request->Element conversion. Guru-only
3 %
4
5 Staff = \translator {
6         \type "Line_group_engraver_group";
7 %{
8         The Hara_kiri_line_group_engraver is a Line_group_engraver 
9         that will not typeset an empty line of staff, i.e., a line 
10         of staff with only rests in it.  This is needed for orchestral
11         scores.  Comment-out Line_group_engraver_group, and uncomment 
12         Hara_kiri_line_group_engraver.
13 %}
14 %       \type "Hara_kiri_line_group_engraver";
15         defaultclef = violin;
16
17         \consists "Bar_engraver";
18         \consists "Clef_engraver";
19         \consists "Key_engraver";
20         \consists "Local_key_engraver";
21         \consists "Time_signature_engraver";
22         \consists "Staff_sym_engraver";
23         \consists "Collision_engraver";
24         \consists "Rest_collision_engraver";
25 %{
26         Uncomment to get bar numbers on single staff systems:
27         
28         The Bar_number_engraver puts a number over a staff created
29         at the same level of hierarchy.  This why you have to add it
30         here separately if you want to have numbers on single staff
31         systems: The Bar_number_engraver in Score_engraver will only
32         put numbers on bars that are Score ("system") wide.  Such
33         bars are only created when the toplevel system has multiple
34         children-staffs.
35
36 %}
37 %{
38         \consists "Bar_column_engraver";
39         \consists "Bar_number_engraver";
40 %}
41 %{
42         The Staff_margin_engraver puts the name of the instrument
43         (\property Staff.instrument; Staff.instr for subsequent lines)
44         to the left of a staff.
45 %}
46 %{
47         marginBreakPriority = "-5";
48         \consists "Staff_margin_engraver";
49 %}
50         \consists "Separating_line_group_engraver";
51           
52         \accepts "Voice";
53 }
54 ChoireStaff = \translator {
55         \type "Line_group_engraver_group";
56         \consists "Vertical_align_engraver";
57         \consists "Staff_group_bar_engraver";
58         \accepts "Staff";
59         \accepts "RhythmicStaff";
60         \accepts "GrandStaff";
61         \accepts "Lyrics";
62 }
63
64
65 RhythmicStaff = \translator
66 {
67         \type "Line_group_engraver_group";
68         nolines  = "1";
69         \consists "Pitch_squash_engraver";
70
71         \consists "Bar_engraver";
72         \consists "Time_signature_engraver";
73         \consists "Staff_sym_engraver";
74         \accepts "Voice";
75 }
76
77 Voice = \translator {
78         \type "Engraver_group_engraver";
79         \consists "Dynamic_engraver";
80         \consists "Rest_engraver";
81         \consists "Dot_column_engraver";
82         \consists "Stem_engraver";
83         \consists "Plet_engraver";
84         \consists "Beam_engraver";
85         \consists "Abbreviation_beam_engraver";
86         \consists "Multi_measure_rest_engraver";
87         \consists "Script_engraver";
88         \consists "Rhythmic_column_engraver";
89         \consists "Font_size_engraver";
90         \consists "Slur_engraver";
91         \consists "Ties_engraver";
92         \consists "Note_heads_engraver" ;       
93         \consists "Skip_req_swallow_translator";
94         %\accepts "Thread";
95 }
96
97
98 GrandStaff = \translator {
99         \type "Line_group_engraver_group";
100
101         \consists "Span_bar_engraver";
102         \consists "Vertical_align_engraver";
103         \consists "Piano_bar_engraver";
104         minVerticalAlign = 1.5*\staffheight;
105
106         % This should come last
107         \accepts "Staff";
108 }
109
110 StaffGroup = \translator {
111         \type "Line_group_engraver_group";
112 %       \type "Hara_kiri_line_group_engraver";
113         \consists "Span_bar_engraver";
114         \consists "Vertical_align_engraver";
115         \consists "Staff_group_bar_engraver";
116
117         \accepts "Staff";
118         \accepts "RhythmicStaff";
119         \accepts "GrandStaff";
120         \accepts "Lyrics";
121 }
122
123 LyricVoice = 
124 \translator{
125         \type "Line_group_engraver_group";
126
127         \consists "Separating_line_group_engraver";
128         \consists "Lyric_engraver";
129         \consists "Beam_req_swallow_translator";
130         \consists "Plet_swallow_engraver";
131 }
132
133 Lyrics = \translator {
134         \type "Line_group_engraver_group";
135         \consists "Vertical_align_engraver";
136         \accepts "LyricVoice";
137 }
138
139 Score = \translator {
140         \type Score_engraver;
141
142         \consists "Timing_engraver";
143         % uncomment to bar numbers on a whole system.
144 %{
145         \consists "Bar_column_engraver";
146         \consists "Bar_number_engraver";
147 %}
148         \consists "Bar_column_engraver";
149         \consists "Span_score_bar_engraver";
150         \consists "Score_priority_engraver";
151         \consists "Priority_horizontal_align_engraver";
152         \consists "Vertical_align_engraver";
153
154
155         \accepts "StaffGroup";
156         \accepts "Staff";
157         \accepts "RhythmicStaff";       
158         \accepts "Lyrics";
159         \accepts "GrandStaff";
160         \accepts "ChoireStaff";
161 }
162
163 StupidScore = \translator {
164         \type Score_engraver;
165         \consists "Staff_sym_engraver";
166 }
167
168
169