]> git.donarmstrong.com Git - lilypond.git/blob - init/engraver.ly
release: 0.1.56
[lilypond.git] / init / engraver.ly
1 %
2 % setup for Request->Element conversion. Guru-only
3 %
4
5 Staff = \translator {
6           \type "Engraver_group_engraver";
7         defaultclef = violin;
8
9           \consists "Bar_engraver";
10           \consists "Clef_engraver";
11           \consists "Key_engraver";
12           \consists "Meter_engraver";
13           \consists "Local_key_engraver";
14           \consists "Staff_sym_engraver";
15           \consists "Collision_engraver";
16           \consists "Rest_collision_engraver";
17
18 %{
19           Uncomment to get bar numbers on single staff systems:
20           
21           The Bar_number_engraver puts a number over a staff created
22           at the same level of hierarchy.  This why you have to add it
23           here separately if you want to have numbers on single staff
24           systems: The Bar_number_engraver in Score_engraver will only
25           put numbers on bars that are Score ("system") wide.  Such
26           bars are only created when the toplevel system has multiple
27           children-staffs.
28
29 %}
30  %{
31
32         \consists "Bar_column_engraver";
33         \consists "Bar_number_engraver";
34 %}
35                 \consists "Separating_line_group_engraver";
36           \consists "Line_group_engraver";
37           
38           \accepts "Voice";
39 }
40
41 Rhythmic_staff = \translator
42 {
43           \type "Engraver_group_engraver";
44         nolines  = "1";
45           \consists "Pitch_squash_engraver";
46
47           \consists "Bar_engraver";
48           \consists "Meter_engraver";
49           \consists "Staff_sym_engraver";
50           \consists "Line_group_engraver";
51           \accepts "Voice";
52 }
53 Voice = \translator {
54         \type "Engraver_group_engraver";
55         \consists "Dynamic_engraver";
56         \consists "Rest_engraver";
57         \consists "Stem_engraver";
58         \consists "Plet_engraver";
59         \consists "Beam_engraver";
60         \consists "Abbreviation_beam_engraver";
61         \consists "Script_engraver";
62         \consists "Rhythmic_column_engraver";
63         \consists "Slur_engraver";
64         \accepts "Thread";
65 }
66
67 Thread = \translator {
68         \type "Engraver_group_engraver";
69         \consists "Skip_req_swallow_translator";
70         \consists "Note_head_engraver" ;
71         \consists "Tie_engraver";
72 }
73
74 Grandstaff = \translator {
75         \type "Engraver_group_engraver";
76
77         \consists "Span_bar_engraver";
78         \consists "Vertical_align_engraver";
79         \consists "Piano_bar_engraver";
80
81         % This should come last
82         \consists "Line_group_engraver";
83         \accepts "Staff";
84 }
85
86 Staff_group = \translator {
87         \type "Engraver_group_engraver";
88         \consists "Span_bar_engraver";
89         \consists "Vertical_align_engraver";
90         \consists "Staff_group_bar_engraver";
91         \consists "Line_group_engraver";
92         \accepts "Staff";
93         \accepts "Rhythmic_staff";
94         \accepts "Grandstaff";
95         \accepts "Lyrics";
96 }
97
98 Lyric_voice = 
99 \translator{
100         \type "Engraver_group_engraver";
101
102         \consists "Separating_line_group_engraver";
103         \consists "Lyric_engraver";
104         \consists "Line_group_engraver";
105         \consists "Beam_req_swallow_translator";
106         \consists "Plet_swallow_engraver";
107 }
108
109 Lyrics = \translator {
110         \type "Engraver_group_engraver";
111         \consists "Vertical_align_engraver";
112         \consists "Line_group_engraver";
113         \accepts "Lyric_voice";
114 }
115
116 Score = \translator {
117         \type Score_engraver;
118
119         \consists "Timing_engraver";
120         % uncomment to bar numbers on a whoole system.
121 %{
122         \consists "Bar_column_engraver";
123         \consists "Bar_number_engraver";
124 %}
125         \consists "Span_score_bar_engraver";
126         \consists "Score_priority_engraver";
127         \consists "Priority_horizontal_align_engraver";
128         \consists "Vertical_align_engraver";
129
130
131         \accepts "Staff_group";
132         \accepts "Staff";
133         \accepts "Rhythmic_staff";      
134         \accepts "Lyrics";
135         \accepts "Grandstaff";
136 }
137
138 Stupid_score = \translator {
139         \type Score_engraver;
140         \consists "Staff_sym_engraver";
141 }
142
143
144