]> git.donarmstrong.com Git - lilypond.git/blob - input/test/engraver-one-by-one.ly
Merge branch 'jneeman' of git+ssh://jneem@git.sv.gnu.org/srv/git/lilypond into jneeman
[lilypond.git] / input / test / engraver-one-by-one.ly
1
2 \version "2.10.0"
3 \header {
4   
5   texidoc = "The notation problem, creating a certain symbol,
6     is handled by plugins. Each plugin is called Engraver. In this example,
7 engravers are switched on one by one, in the following order:
8
9 @itemize
10 @item note heads,
11 @item staff symbol,
12 @item clef,
13 @item stem,
14 @item beams, slurs, accents,
15 @item accidentals, bar lines, time signature, and key signature.
16 @end itemize
17
18 Engravers are grouped. For example, note heads, slurs, beams etc. form
19 a Voice context. Engravers for key, accidental, bar, etc. form a
20 Staff context.
21
22 "
23
24 }
25 \layout { ragged-right = ##t }
26
27 \include "engraver-example.ily"
28
29
30 %
31 % setup for Request->Element conversion. Guru-only
32 %
33
34 MyStaff =\context {
35   \type "Engraver_group"
36   \name Staff
37
38   \description "Handles clefs, bar lines, keys, accidentals.  It can contain
39 @code{Voice} contexts."
40
41   
42   \consists "Output_property_engraver"  
43   
44   \consists "Font_size_engraver"
45
46   \consists "Volta_engraver"
47   \consists "Separating_line_group_engraver"    
48   \consists "Dot_column_engraver"
49
50   \consists "Ottava_spanner_engraver"
51   \consists "Rest_collision_engraver"
52   \consists "Piano_pedal_engraver"
53   \consists "Piano_pedal_align_engraver"
54   \consists "Instrument_name_engraver"
55   \consists "Grob_pq_engraver"
56   \consists "Forbid_line_break_engraver"
57   \consists "Axis_group_engraver"
58
59   \consists "Pitch_squash_engraver"
60
61   \override VerticalAxisGroup #'minimum-Y-extent = #'(-6 . 6)
62   extraVerticalExtent = ##f
63   verticalExtent = ##f 
64   localKeySignature = #'()
65
66                                 % explicitly set instrument, so we don't get 
67                                 % weird effects when doing instrument names for
68                                 % piano staves
69
70   instrumentName = #'()
71   shortInstrumentName = #'()
72   
73   \accepts "Voice"
74 }
75
76
77 MyVoice = \context {
78   \type "Engraver_group"
79   \name Voice
80
81   \description "
82     Corresponds to a voice on a staff.  This context handles the
83     conversion of dynamic signs, stems, beams, super- and subscripts,
84     slurs, ties, and rests.
85
86     You have to instantiate this explicitly if you want to have
87     multiple voices on the same staff."
88
89   localKeySignature = #'()
90   \consists "Font_size_engraver"
91   
92                                 % must come before all
93   \consists "Output_property_engraver"  
94   \consists "Arpeggio_engraver"
95   \consists "Multi_measure_rest_engraver"
96   \consists "Text_spanner_engraver"
97   \consists "Grob_pq_engraver"
98   \consists "Note_head_line_engraver"
99   \consists "Glissando_engraver"
100   \consists "Ligature_bracket_engraver"
101   \consists "Breathing_sign_engraver"
102                                 % \consists "Rest_engraver"
103   \consists "Grace_beam_engraver"
104   \consists "New_fingering_engraver"
105   \consists "Chord_tremolo_engraver"
106   \consists "Percent_repeat_engraver"
107   \consists "Slash_repeat_engraver"
108   \consists "Melisma_translator"
109
110 %{
111   Must come before text_engraver, but after note_column engraver.
112
113 %}
114   \consists "Text_engraver"
115   \consists "Dynamic_engraver"
116   \consists "Fingering_engraver"
117
118   \consists "Script_column_engraver"
119   \consists "Rhythmic_column_engraver"
120   \consists "Cluster_spanner_engraver"
121   \consists "Tie_engraver"
122   \consists "Tie_engraver"
123   \consists "Tuplet_engraver"
124   \consists "Note_heads_engraver"
125   \consists "Rest_engraver"
126
127   \consists "Skip_event_swallow_translator"
128 }
129
130
131 \score {
132   \topVoice
133   \layout {
134     \context { \MyStaff }
135     \context { \MyVoice }
136   }
137 }
138
139
140 MyStaff = \context {
141     \MyStaff
142     \consists "Staff_symbol_engraver"
143 }
144
145 \score {
146   \topVoice
147   \layout {
148       \context { \MyStaff }
149       \context { \MyVoice }
150             }
151 }
152
153 MyStaff = \context {
154     \MyStaff
155     \consists "Clef_engraver"
156     \remove "Pitch_squash_engraver"
157 }
158
159 \score {
160   \topVoice
161   \layout {
162     \context { \MyStaff }
163     \context { \MyVoice }
164   }
165 }
166
167 MyVoice = \context {
168   \MyVoice
169   \consists "Stem_engraver"
170 }
171
172 \score {
173   \topVoice
174   \layout {
175     \context { \MyStaff }
176     \context { \MyVoice }
177   }
178 }
179
180 MyVoice = \context {
181   \MyVoice
182   \consists "Beam_engraver"
183 }
184
185 \score {
186   \topVoice
187   \layout {
188     \context { \MyStaff }
189     \context { \MyVoice }
190   }
191 }
192
193 MyVoice= \context {
194   \MyVoice
195   \consists "Phrasing_slur_engraver"
196   \consists "Slur_engraver"
197   \consists "Script_engraver"
198 }
199
200
201 \score {
202   \topVoice
203   \layout {
204     \context { \MyStaff }
205     \context { \MyVoice }
206   }
207 }
208
209 MyStaff = \context {
210   \MyStaff
211   \consists "Bar_engraver"
212   \consists "Time_signature_engraver"
213 }
214
215 \score {
216   \topVoice
217   \layout {
218     \context { \MyStaff }
219     \context { \MyVoice }
220   }
221 }
222
223 MyStaff = \context {
224   \MyStaff
225   \consists "Accidental_engraver"    
226   \consists "Key_engraver"
227 }
228 \score {
229   \topVoice
230   \layout {
231     \context { \MyStaff }
232     \context { \MyVoice }
233   }
234 }