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