]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/snippets/engravers-one-by-one.ly
72cc670dbc7b273273ea9a614f1bd99570a9177d
[lilypond.git] / Documentation / snippets / engravers-one-by-one.ly
1 %% Do not edit this file; it is automatically
2 %% generated from LSR http://lsr.dsi.unimi.it
3 %% This file is in the public domain.
4 \version "2.13.39"
5
6 \header {
7   lsrtags = "contexts-and-engravers"
8
9 %% Translation of GIT committish: 5160eccb26cee0bfd802d844233e4a8d795a1e94
10   texidoces = "
11 Del problema central de la notación, esto es, crear un determinado
12 símbolo, se encargan los «plugins» o complementos añadidos.  Cada
13 uno de los complementos se conoce como un grabador. En este
14 ejemplo, los grabadores se van activando uno por uno, en el orden
15 siguiente:
16
17 - cabeza de las notas,
18
19 - el símbolo del pentagrama,
20
21 - clave,
22
23 - plicas,
24
25 - barras, ligaduras de expresión, acentos,
26
27 - alteraciones, líneas divisorias, indicación del compás, y armadura.
28
29 Los grabadores se encuentran agrupados. Por ejemplo, las cabezas de
30 nota, ligaduras de expresión, barras de corchea, etc. forman un
31 contexto de voz, @code{Voice}. Los grabadores de la armadura,
32 alteraciones, líneas de compás, etc. forman un contexto de pentagrama,
33 @code{Staff}.
34
35 "
36   doctitlees = "Los grabadores uno por uno"
37
38   texidoc = "
39 The notation problem, creating a certain symbol, is handled by plugins.
40  Each plugin is called an Engraver. In this example, engravers are
41 switched on one by one, in the following order:
42
43 - note heads,
44
45
46 - staff symbol,
47
48
49 - clef,
50
51
52 - stem,
53
54
55 - beams, slurs, accents,
56
57
58 - accidentals, bar lines, time signature and key signature.
59
60
61
62 Engravers are grouped. For example, note heads, slurs, beams etc. form
63 a @code{Voice} context. Engravers for key signature, accidentals, bar
64 line, etc. form a @code{Staff} context.
65
66 "
67   doctitle = "Engravers one-by-one"
68 } % begin verbatim
69
70 %% sample music
71 topVoice = \relative c' {
72   \key d \major
73   es8([ g] a[ fis])
74   b4
75   b16[-. b-. b-. cis-.]
76   d4->
77 }
78
79 botVoice = \relative c' {
80   \key d \major
81   c8[( f] b[ a)]
82   es4
83   es16[-. es-. es-. fis-.]
84   b4->
85 }
86
87 hoom = \relative c {
88   \key d \major
89   \clef bass
90   g8-. r
91   r4
92   fis8-.
93   r8
94   r4
95   b'4->
96 }
97
98 pah = \relative c' {
99   r8 b-.
100   r4
101   r8 g8-.
102   r16 g-. r8
103   \clef treble
104   fis'4->
105 }
106
107 %
108 % setup for Request->Element conversion. Guru-only
109 %
110
111 MyStaff = \context {
112   \type "Engraver_group"
113   \name Staff
114
115   \description "Handles clefs, bar lines, keys, accidentals.  It can contain
116 @code{Voice} contexts."
117
118   \consists "Output_property_engraver"
119
120   \consists "Font_size_engraver"
121
122   \consists "Volta_engraver"
123   \consists "Separating_line_group_engraver"
124   \consists "Dot_column_engraver"
125
126   \consists "Ottava_spanner_engraver"
127   \consists "Rest_collision_engraver"
128   \consists "Piano_pedal_engraver"
129   \consists "Piano_pedal_align_engraver"
130   \consists "Instrument_name_engraver"
131   \consists "Grob_pq_engraver"
132   \consists "Forbid_line_break_engraver"
133   \consists "Axis_group_engraver"
134
135   \consists "Pitch_squash_engraver"
136
137   localKeySignature = #'()
138
139   % explicitly set instrumentName, so we don't get
140   % weird effects when doing instrument names for
141   % piano staves
142
143   instrumentName = #'()
144   shortInstrumentName = #'()
145
146   \accepts "Voice"
147 }
148
149
150 MyVoice = \context {
151   \type "Engraver_group"
152   \name Voice
153
154   \description "
155     Corresponds to a voice on a staff.  This context handles the
156     conversion of dynamic signs, stems, beams, super- and subscripts,
157     slurs, ties, and rests.
158
159     You have to instantiate this explicitly if you want to have
160     multiple voices on the same staff."
161
162   localKeySignature = #'()
163   \consists "Font_size_engraver"
164
165   % must come before all
166   \consists "Output_property_engraver"
167   \consists "Arpeggio_engraver"
168   \consists "Multi_measure_rest_engraver"
169   \consists "Text_spanner_engraver"
170   \consists "Grob_pq_engraver"
171   \consists "Note_head_line_engraver"
172   \consists "Glissando_engraver"
173   \consists "Ligature_bracket_engraver"
174   \consists "Breathing_sign_engraver"
175   % \consists "Rest_engraver"
176   \consists "Grace_beam_engraver"
177   \consists "New_fingering_engraver"
178   \consists "Chord_tremolo_engraver"
179   \consists "Percent_repeat_engraver"
180   \consists "Slash_repeat_engraver"
181
182   %{
183     Must come before text_engraver, but after note_column engraver.
184   %}
185   \consists "Text_engraver"
186   \consists "Dynamic_engraver"
187   \consists "Fingering_engraver"
188
189   \consists "Script_column_engraver"
190   \consists "Rhythmic_column_engraver"
191   \consists "Cluster_spanner_engraver"
192   \consists "Tie_engraver"
193   \consists "Tie_engraver"
194   \consists "Tuplet_engraver"
195   \consists "Note_heads_engraver"
196   \consists "Rest_engraver"
197 }
198
199
200 \score {
201   \topVoice
202   \layout {
203     \context { \MyStaff }
204     \context { \MyVoice }
205   }
206 }
207
208
209 MyStaff = \context {
210   \MyStaff
211   \consists "Staff_symbol_engraver"
212 }
213
214 \score {
215   \topVoice
216   \layout {
217     \context { \MyStaff }
218     \context { \MyVoice }
219   }
220 }
221
222 MyStaff = \context {
223   \MyStaff
224   \consists "Clef_engraver"
225   \remove "Pitch_squash_engraver"
226 }
227
228 \score {
229   \topVoice
230   \layout {
231     \context { \MyStaff }
232     \context { \MyVoice }
233   }
234 }
235
236 MyVoice = \context {
237   \MyVoice
238   \consists "Stem_engraver"
239 }
240
241 \score {
242   \topVoice
243   \layout {
244     \context { \MyStaff }
245     \context { \MyVoice }
246   }
247 }
248
249 MyVoice = \context {
250   \MyVoice
251   \consists "Beam_engraver"
252 }
253
254 \score {
255   \topVoice
256   \layout {
257     \context { \MyStaff }
258     \context { \MyVoice }
259   }
260 }
261
262 MyVoice = \context {
263   \MyVoice
264   \consists "Phrasing_slur_engraver"
265   \consists "Slur_engraver"
266   \consists "Script_engraver"
267 }
268
269
270 \score {
271   \topVoice
272   \layout {
273     \context { \MyStaff }
274     \context { \MyVoice }
275   }
276 }
277
278 MyStaff = \context {
279   \MyStaff
280   \consists "Bar_engraver"
281   \consists "Time_signature_engraver"
282 }
283
284 \score {
285   \topVoice
286   \layout {
287     \context { \MyStaff }
288     \context { \MyVoice }
289   }
290 }
291
292 MyStaff = \context {
293   \MyStaff
294   \consists "Accidental_engraver"
295   \consists "Key_engraver"
296 }
297 \score {
298   \topVoice
299   \layout {
300     \context { \MyStaff }
301     \context { \MyVoice }
302   }
303 }
304