]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/es/user/fundamental.itely
Translation of Nesting Music Extressions
[lilypond.git] / Documentation / es / user / fundamental.itely
1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
2 @c This file is part of lilypond-learning.tely
3 @ignore
4     Translation of GIT committish: 2990c6fb0d9c8db236c77de82c18479a0a9aa444
5
6     When revising a translation, copy the HEAD committish of the
7     version that you are working on.  See TRANSLATION for details.
8 @end ignore
9
10
11 @node Fundamental concepts
12 @chapter Fundamental concepts
13
14 Ha podido ver en el tutorial cómo producir música bellamente impresa a
15 partir de un simple archivo de texto.  Esta sección presenta los
16 conceptos y técnicas que se requieren para producir partituras
17 igualmente bellas pero más complejas.
18
19 @menu
20 * How LilyPond files work::     
21 * Voices contain music::        
22 * Contexts and engravers::      
23 * Extending the templates::     
24 @end menu 
25
26
27 @node How LilyPond files work
28 @section How LilyPond files work
29
30 El formato de entrada de LilyPond es bastante libre en su forma y
31 concede a los usuarios con experiencia mucha flexibilidad para
32 estructurar sus archivos de la forma que deseen.  Sin embargo, toda
33 esta flexibilidad puede hacer que las cosas se vuelvan confusas para
34 los nuevos usuarios.  Esta sección le va a explicar parte de esta
35 estructura, pero puede obviar ciertos detalles en aras de la
36 simplicidad.  Para ver una descripción completa del formato de
37 entrada, consulte @ruser{File structure}.
38
39
40 @menu
41 * Introduction to the LilyPond file structure::  
42 * Score is a (single) compound musical expression::  
43 * Nesting music expressions::   
44 * On the un-nestedness of brackets and ties::  
45 @end menu 
46
47 @node Introduction to the LilyPond file structure
48 @subsection Introduction to the LilyPond file structure
49
50 Un ejemplo básico de archivo de entrada de lilypond es el siguiente:
51
52 @example
53 \version @w{"@version{}"}
54 \score @{
55   @var{...expresión musical compuesta...}  % toda la música viene aquí
56   \header @{ @}
57   \layout @{ @}
58   \midi @{ @}
59 @}
60 @end example
61
62 @noindent
63 Existen muchas variaciones de este esquema básico, pero el ejemplo
64 constituye un útil punto de partida.
65
66 Hasta el momento, ninguno de los ejemplos que ha podido ver utiliza la
67 instrucción @code{\score@{@}}.  Esto es así a causa de que LilyPond
68 añade automáticamente las órdenes adicionales que se requieren cuando
69 le proporcionamos una entrada sencilla.  LilyPond trata una entrada
70 como ésta:
71
72 @example
73 \relative c'' @{
74   c4 a d c
75 @}
76 @end example
77
78 @noindent
79 como una abreviatura de esta otra:
80
81 @example
82 \book @{
83   \score @{
84     \new Staff @{
85       \new Voice @{
86         \relative c'' @{
87           c4 a b c
88         @}
89       @}
90     @}
91     \layout @{ @}
92   @}
93 @}
94 @end example
95
96 En tras palabras, si la entrada consta de una única expresión musical,
97 LilyPond interpreta el archivo como si la expresción musical estuviera
98 rodeada por un envoltorio hecho por las instrucciones que acabamos de
99 ver.  De todas formas, vamos a volver al primer ejemplo para examinar
100 la instrucción @code{\score}, dejando las demás en su forma
101 predeterminada.
102
103 Un bloque @code{\score} siempre debe contener una expresión musical
104 única, que debe aparecer inmediatamente después de la instrucción
105 @code{\score}.  Recuerde que una expresión musical podía ser cualquier
106 cosa entre una sola nota hasta una enorme expresión compuesta como
107
108 @example
109 @{
110   \new GrandStaff <<
111     @var{...inserte aquí la partitura completa de una ópera de Wagner...}
112   >>
113 @}
114 @end example
115
116 @noindent
117 Puesto que todo se encuentra dentro de @code{@{ ... @}}, cuenta como
118 una expresión musical.
119
120 Como vimos anteriormente, el bloque @code{\score} puede contener otras
121 cosas, tales como
122
123 @example
124 \score @{
125   @{ c'4 a b c' @}
126   \header @{ @}
127   \layout @{ @}
128   \midi @{ @}
129 @}
130 @end example
131
132 @noindent
133 Hay personas que ponen algunos de estos comandos fuera del
134 bloque @code{\score} (por ejemplo, @code{\header} se
135 sitúa con frecuencia por encima del @code{\score}.  Es tan sólo
136 otra abreviatura que LilyPond acepta.
137
138 Dos instrucciones más que no hemos visto aún son @code{\layout @{ @}}
139 y @code{\midi @{@}}.  Si aparecen tal y como se muestran aquí, hacen
140 que LilyPond produzca una salida impresa y una salida MIDI,
141 respectivamente.  Se describen con todo detalle en el manual de
142 Referencia de la notación, en @ruser{Score layout} y en
143 @ruser{Creating MIDI files}.
144
145 Podemos escribir varios bloques @code{\score}.  Cada uno de ellos
146 recibirá el mismo tratamiento que una partitura independiente, pero se
147 combinarán todos juntos en un archivo de salida único.  No se necesita
148 ninguna instrucción @code{\book}, se creará una implícitamente.  Sin
149 embargo, si quiere archivos de salida separados a partir de un archivo
150 @code{.ly}, entonces es necesario utilizar la instrucción @code{\book}
151 para separar las distintas secciones: cada bloque @code{\book} produce
152 un archivo de salida distinto.  Para ver más detalles, consulte
153 @ruser{Multiple scores in a book}.
154
155 @cindex variables
156
157 Otro atajo genial es la posibilidad de definir variables.
158 Todas las plantillas emplean lo siguiente:
159
160 @example
161 melodia = \relative c' @{
162   c4 a b c
163 @}
164
165 \score @{
166   \melodia
167 @}
168 @end example
169
170 Cuando LilyPond examina este archivo, toma el valor de @code{melodia}
171 (todo lo que está después del signo igual) y lo inserta dondequiera
172 que ve @code{\melodia}.  No se requiere un cuidado especial con los
173 nombres (puede ser @code{melodia}, @code{global},
174 @code{manoderechadelpiano} o @code{fulanomengano}).  Para ver más
175 detalles, consulte @ref{Saving typing with variables and functions}.
176 Recuerde que puede usar casi cualquier nombre que se le ocurra, en la
177 medida en que contenga solamente caracteres alfabéticos y sea
178 diferente de cualquiera de los nombres de instrucción de LilyPond.
179 Las limitaciones exactas que afectan a los nombres de variable se
180 detallan en @ruser{File structure}.
181
182
183 @seealso
184
185 Para ver una definición completa del formato del código de entrada,
186 consulte @ruser{File structure}.
187
188 @node Score is a (single) compound musical expression
189 @subsection Score is a (single) compound musical expression
190
191 @cindex expresión musical compuesta
192 @cindex música, expresión compuesta de
193
194 En la sección anterior, @ruser{How LilyPond files work} hemos podido
195 ver la organización general de los archivos de entrada de LilyPond.
196 Pero parece que nos saltamos la parte más importante: ¿cómo
197 averiguamos qué escribir después de @code{\score}?
198
199 No nos hemos saltado nada en absoluto.  El gran misterio es, sencillamente,
200 que no hay @emph{ningún} misterio.  La siguiente línea lo explica
201 todo:
202
203 @quotation
204 @emph{Una @code{\score} debe comenzar con una única expresión musical.}
205 @end quotation
206
207 @noindent
208 Quizá encuentre útil dar un repaso a @ruser{Music expressions
209 explained}.  En esta sección, vimos cómo elaborar grandes expresiones
210 musicales a partir de pequeñas piezas (comenzábamos con notas, luego
211 acordes, etc.).  Ahora partiremos de una gran expresión musical y
212 recorreremos el camino inverso hacia abajo.
213
214 @example
215 \score @{
216   @{   % esta llave da inicio a la expresión musical completa
217     \new GrandStaff <<
218       @var{...introduzca aquí la partitura completa de una ópera de Wagner...}
219     >>
220   @}   % esta llave da por terminada la expresión musical completa
221   \layout @{ @}
222 @}
223 @end example
224
225 Una ópera de Wagner completa puede ser fácilmente el doble de larga
226 que este manual, por tanto vamos a hacer sólo un cantante y un piano.
227 No necesitamos un @code{GrandStaff} para este conjunto, así que lo
228 retiramos.  Sin embargo, sí que @emph{necesitamos} un cantante y un
229 piano.
230
231 @example
232 \score @{
233   <<
234     \new Staff = "cantante" <<
235     >>
236     \new PianoStaff = piano <<
237     >>
238   >>
239   \layout @{ @}
240 @}
241 @end example
242
243 Recuerde que usamos @code{<<} y @code{>>} en vez de @code{@{ ... @}}
244 para presentar música simultánea.  Y, por supuesto, queremos presentar
245 las partes vocal y del piano al mismo tiempo, ¡no una después de otra!
246 Sin embargo, la construcción @code{<< ... >>} no es realmente
247 necesaria para el pentagrama del cantante (pues contiene una sola
248 expresión musical), pero los pentagramas (Staff) a menudo necesitan
249 varias voces (Voice) en su interior, así es bueno adoptar el hábito de
250 usar @code{<< ... >>} en lugar de llaves.  Escribiremos algo de música
251 real más tarde; por ahora limitémonos a poner algunas notas y letra de
252 relleno.
253
254 @lilypond[verbatim,quote,ragged-right]
255 \score {
256   <<
257     \new Staff = "singer" <<
258       \new Voice = "vocal" { c'1 }
259       \addlyrics { And }
260     >>
261     \new PianoStaff = "piano" <<
262       \new Staff = "upper" { c'1 }
263       \new Staff = "lower" { c'1 }
264     >>
265   >>
266   \layout { }
267 }
268 @end lilypond
269
270 Ahora tenemos muchos más detalles.  Tenemos la pauta del cantante:
271 contiene una @code{Voice} o voz (en LilyPond, este término hace
272 referencia a un conjunto de notas, no necesariamente notas vocales --
273 por ejemplo, un violín generalmente toca una voz --) y el texto de la
274 canción.  También tenemos una pauta de piano: contiene un pentagrama
275 superior (mano derecha) y un pentagrama inferior (mano izquierda).
276
277 En este momento podríamos comenzar a meter las notas.  Dentro de las
278 llaves que siguen a @code{\new Voice = vocal}, podríamos empezar
279 escribiendo
280
281 @example
282 \relative c'' @{
283   r4 d8\noBeam g, c4 r
284 @}
285 @end example
286
287 Pero si lo hiciéramos, la sección @code{\score} se haría bastante
288 larga y sería más difícil comprender lo que ocurre.  En lugar de esto
289 utilizaremos identificadores o variables.  Recordará que las vimos por
290 primera vez en la sección anterior.  Así pues, escribiendo algunas
291 notas, ahora tenemos un fragmento musical de verdad:
292
293 @lilypond[verbatim,quote,ragged-right]
294 melody = \relative c'' { r4 d8\noBeam g, c4 r }
295 text   = \lyricmode { And God said, }
296 upper  = \relative c'' { <g d g,>2~ <g d g,> }
297 lower  = \relative c { b2 e2 }
298
299 \score {
300   <<
301     \new Staff = "singer" <<
302       \new Voice = "vocal" { \melody }
303       \addlyrics { \text }
304     >>
305     \new PianoStaff = "piano" <<
306       \new Staff = "upper" { \upper }
307       \new Staff = "lower" {
308         \clef "bass"
309         \lower
310       }
311     >>
312   >>
313   \layout { }
314 }
315 @end lilypond
316
317 Tenga cuidado con la diferencia entre las notas, que se introducen con
318 @code{\relative}, y la letra, que se introduce con @code{\lyricmode}.
319 Estas instrucciones son esenciales para decirle a LilyPond que
320 interprete el contenido que viene a continuación como música y texto,
321 respectivamente.
322
323 Cuando escriba una sección @code{\score} o cuando la esté leyendo,
324 hágalo despacio y con cuidado.  Comience por la capa exterior y luego
325 trabaje sobre cada una de las capas interiores.  También ayuda ser
326 estricto con los márgenes (asegúrese de que en su editor de texto cada
327 elemento de la misma capa comienza en la misma posición horizontal).
328
329
330 @node Nesting music expressions
331 @subsection Nesting music expressions
332
333 No es esencial declarar todos los pentagramas al comienzo; se pueden
334 crear temporalmente en cualquier momento.  Esto es de especial
335 utilidad para crear secciones de ossia (véase @rglos{ossia}).  A
336 continuación presentamos un ejemplo sencillo que muestra cómo
337 introducir temporalmente un pentagrama nuevo mientras dura un
338 fragmento de tras notas:
339
340 @lilypond[verbatim,quote,ragged-right]
341 \new Staff {
342   \relative g' {
343     r4 g8 g c4 c8 d |
344     e4 r8 
345     <<
346       { f c c }
347       \new Staff {
348         f8 f c
349       }
350     >>
351     r4 |
352   }
353 }
354 @end lilypond
355
356 @noindent
357 Advierta que el tamaño de la clave es igual al que se imprime en un
358 cambio de clave (ligemamente menor que la clave al principio de una
359 línea).  Esto es normal para cualquier clave que se imprime en la
360 mitad de una línea.
361
362 La sección ossia se puede colocar encima del pentagrama de la manera
363 siguiente:
364
365 @lilypond[verbatim,quote,ragged-right]
366 \new Staff ="main" {
367   \relative g' {
368     r4 g8 g c4 c8 d |
369     e4 r8
370     <<
371       { f c c }
372       \new Staff \with {
373         alignAboveContext = "main" }
374       { f8 f c }
375     >>
376     r4 |
377   }
378 }
379 @end lilypond
380
381 Este ejemplo utiliza @code{\with}, que se explica en todo detalle más
382 adelante.  Es un medio de modificar el comportamiento predeterminado
383 de un solo pentagrama.  Aquí, dice que el pentagrama nuevo se debe
384 colocar por encima del pentagrama llamado @qq{main} en vez de la
385 posición predeterminada que seería por debajo.
386
387 Los fragmentos de ossia se escriben a menudo sin clave y sin
388 indicación de compás, y generalmente en un tipo más pequeño.  Esto
389 necesitaría más instrucciones que aún no se han visto.  Véase
390 @ref{Size of objects}
391
392  
393 @node On the un-nestedness of brackets and ties
394 @subsection On the un-nestedness of brackets and ties
395
396 UNTRANSLATED NODE: IGNORE ME
397
398 @node Voices contain music
399 @section Voices contain music
400
401 UNTRANSLATED NODE: IGNORE ME
402
403 @menu
404 * I'm hearing Voices::          
405 * Explicitly instantiating voices::  
406 * Voices and vocals::           
407 @end menu 
408 @node I'm hearing Voices
409 @subsection I'm hearing Voices
410
411 UNTRANSLATED NODE: IGNORE ME
412
413 @node Explicitly instantiating voices
414 @subsection Explicitly instantiating voices
415
416 UNTRANSLATED NODE: IGNORE ME
417
418 @node Voices and vocals
419 @subsection Voices and vocals
420
421 UNTRANSLATED NODE: IGNORE ME
422
423 @node Contexts and engravers
424 @section Contexts and engravers
425
426 UNTRANSLATED NODE: IGNORE ME
427
428 @menu
429 * Contexts explained::          
430 * Creating contexts::           
431 * Engravers explained::         
432 * Modifying context properties::  
433 * Adding and removing engravers::  
434 @end menu 
435 @node Contexts explained
436 @subsection Contexts explained
437
438 Cuando se imprime la música, se tienen que añadir a la salida una gran cantidad de elementos
439 notacionales.  Por ejemplo, compare la entrada y la salida del siguiente ejemplo:
440
441 @lilypond[quote,verbatim,relative=2,fragment]
442 cis4 cis2. g4
443 @end lilypond
444
445 La entrada es bastante escueta, pero en la salida se añaden líneas divisorias, alteraciones accidentales,
446 la clave y la indicación de compás.  LilyPond @emph{interpreta} la
447 entrada.  En esta fase se inspecciona la información musical en orden temporal,
448 de forma parecida a la lectura de una partitura de izquierda a derecha. Mientras se lee
449 la entrada, el programa recuerda dónde se encuentran los límites de los compases, y qué notas
450 requieren alteraciones explícitas.  Esta información se puede presentar sobre varios
451 niveles.  Por ejemplo, el efecto de una alteración accidental se encuentra limitada
452 a un solo pentagrama, mientras que una barra divisoria debe estar sincronizada a través
453 de la partitura de arriba a abajo.
454
455 Dentro de LilyPond, estas reglas y pequeñas porciones de información se agrupan en
456 @emph{Contexts}.  Algunos ejemplos de contextos son @code{Voice} (Voz),
457 @code{Staff} (Pauta o pentagrama) y @code{Score} (Partitura).  Los contextos son jerárquicos, por
458 ejemplo: un @code{Staff} contener muchas @code{Voice}s, y una
459 @code{Score} puede contener muchos contextos de @code{Staff}.
460
461 @quotation
462 @sourceimage{context-example,5cm,,}
463 @end quotation
464
465 Cada contexto asume la responsabilidad de imponer algunas reglas de notación,
466 creando ciertos objetos de notación y manteniendo las propiedades
467 asociadas.  Por ejemplo, el contexto @code{Voice} puede introducir una alteración
468 accidental y entonces el contexto @code{Staff} mantiene la regla de mostrar o
469 suprimir la alteración para el resto del compás.  La
470 sincronización de las líneas divisorias se gestiona dentro del contexto de la partitura, @code{Score}.
471
472 Sin embargo, en algunas músicas posiblemente no queramos que las líneas divisorias estén
473 sincronizada (pensemos en una partitura polimétrica en compases de 4/4 y de 3/4).  En tales casos,
474 debemos modificar los ajustes por omisión de los contextos @code{Score}
475 y @code{Staff}.
476
477 Para partituras muy sencillas, los contextos se crean implícitamente y no debemos
478 preocuparnos por ellos.  Para piezas mayores, como por ejemplo cualquiera que tenga más de un pentagrama,
479 los contextos se deben crear explícitamente para asegurarnos
480 de que tendremos la cantidad exacta de pentagramas que necesitamos,
481 y que están en el orden correcto.  Para tipografiar piezas
482 con notación especializada, puede ser útil modificar contextos existentes
483 o definir unos nuevos.
484
485
486 En la referencia del programa se encuentra una descripción completa de todos los contextos que están disponibles,
487 consulte
488 @ifhtml
489 @internalsref{Contexts}.
490 @end ifhtml
491 @ifnothtml
492 Traducción @expansion{} Contexto.
493 @end ifnothtml
494
495 @c [TODO: describe propagation]
496
497 @node Creating contexts
498 @subsection Creating contexts
499
500 Para partituras que sólo tienen una voz y un pentagrama, los contextos se
501 crean automáticamente.  Para partituras más complejas, es necesario crearlos
502 a mano.  Existen tres instrucciones que hacen esto.
503
504 @itemize
505
506 @item
507 La instrucción más fácil es @code{\new}, y es también la más rápida de escribir.
508 Se antepone a una expresión musical, por ejemplo
509
510 @funindex \new
511 @cindex nuevos, contextos
512 @cindex Contexto, creación de
513
514 @example
515 \new @var{tipo} @var{expresión_musical}
516 @end example
517
518 @noindent
519 donde @var{tipo} es el nombre de un contexto (como @code{Staff} o
520 @code{Voice}).  Esta instrucción crea un contexto nuevo, y empieza a
521 interpretar la @var{expresión_musical} con él.
522
523 Una aplicación práctica de @code{\new} es una partitura con muchos pentagramas.
524 Cada parte que debe ir en su propio pentagrama, va precedida de
525 @code{\new Staff}.
526
527 @lilypond[quote,verbatim,relative=2,ragged-right,fragment]
528 <<
529   \new Staff { c4 c }
530   \new Staff { d4 d }
531 >>
532 @end lilypond
533
534 La instrucción @code{\new} puede también dar nombre al contexto,
535
536 @example
537 \new @var{tipo} = @var{identificador} @var{música}
538 @end example
539 Sin embargo, este nombre especificado por el usuario sólo se utiliza si no hay ya otro contexto
540 anterior con el mismo nombre.
541
542
543 @funindex \context
544
545 @item
546 Como @code{\new}, la instrucción @code{\context} también dirige una expresión musical
547 a un objeto de contexto, pero da al contexto un nombre explícito.  La sintaxis
548 es
549
550 @example
551 \context @var{tipo} = @var{identificador} @var{música}
552 @end example
553
554 En esta forma, la instrucción buscará un contexto existente del @var{tipo} especificado
555 que tenga el nombre @var{identificador}.  Si ese contexto aún no existe, se crea
556 un contexto nuevo con el nombre especificado.  Esto es útil si nos vamos a referir
557 más tarde al contexto.  Por ejemplo, cuando
558 se escribe la letra, la melodía está dentro de un contexto con nombre
559
560 @example
561 \context Voice = "@b{tenor}" @var{música}
562 @end example
563
564 @noindent
565 de forma que los textos se puedan alienar correctamente con sus notas,
566
567 @example
568 \new Lyrics \lyricsto "@b{tenor}" @var{letra}
569 @end example
570
571 @noindent
572
573 Otro uso posible de los contextos con nombre es la fusión de dos expresiones musicales
574 distintas en un solo contexto.  En el siguiente ejemplo,
575 se introducen por separado las articulaciones y las notas,
576
577 @example
578 musica = @{ c4 c4 @}
579 decoracion = @{ s4-. s4-> @}
580 @end example
581
582 se combinan enviando los dos al mismo contexto @code{Voice},
583
584 @example
585 <<
586   \new Staff \context Voice = "A" \musica
587   \context Voice = "A" \decoracion
588 >>
589 @end example
590 @lilypond[quote,ragged-right]
591 music = { c4 c4 }
592 arts = { s4-. s4-> }
593 \relative c'' <<
594   \new Staff \context Voice = "A" \music
595   \context Voice = "A" \arts
596 >>
597 @end lilypond
598
599 Con este mecanismo, es posible definir un Urtext (una edición
600 original), con la posibilidad de poner articulaciones distintas sobre las
601 mismas notas.
602
603 @cindex crear contextos
604
605 @item
606 La tercera instrucción para crear contextos es
607 @example
608 \context @var{tipo} @var{música}
609 @end example
610
611
612 @noindent
613 Esto es similar a @code{\context} con @code{= @var{identificador}}, pero se corresponde con
614 cualquier contexto del tipo @var{tipo}, sin importar qué nombre se le ha dado.
615
616 Esta variante se usa con expresiones musicales que se pueden interpretar en
617 varios niveles.  Por ejemplo, la instrucción @code{\applyOutput} (véase
618 @ref{Running a function on all layout objects}).  Sin una instrucción
619 @code{\context} explícita, normalmente se aplicaría a @code{Voice}
620
621 @example
622 \applyOutput #'@var{contexto} #@var{función}   % aplicar al contexto Voice
623 @end example
624
625 Para que se interprete dentro de los niveles de @code{Score} o @code{Staff}, utilice las siguientes
626 formas:
627
628 @example
629 \applyOutput #'Score #@var{función}
630 \applyOutput #'Staff #@var{función}
631 @end example
632
633 @end itemize
634
635 @node Engravers explained
636 @subsection Engravers explained
637
638 UNTRANSLATED NODE: IGNORE ME
639
640 @node Modifying context properties
641 @subsection Modifying context properties
642
643 @cindex properties
644 @funindex \set
645 @cindex changing properties
646
647 Cada contexto puede tener diferentes @emph{propiedades} o variables contenidas
648 en dicho contexto.  Se pueden cambiar mientras se desarrolla la fase de interpretación.
649 Esto se consigue insertando la instrucción @code{\set} en la música,
650
651 @example
652 \set @var{contexto}.@var{propiedad} = #@var{valor}
653 @end example
654
655 Por ejemplo,
656 @lilypond[quote,verbatim,relative=2,fragment]
657 R1*2
658 \set Score.skipBars = ##t
659 R1*2
660 @end lilypond
661
662 Esta instrucción hace que se salten los compases que no tienen ninguna nota.  El resultado es que
663 los silencios multicompás se comprimen.  El valor asignado es un objeto del lenguaje Scheme.  En
664 este caso, es @code{#t}, el valor booleano Verdadero.
665
666 Si el argumento @var{contexto} se deja en blanco, entonces se utiliza el contexto actual más bajo
667 (normalmente @code{ChordNames}, @code{Voice} o
668 @code{Lyrics}).  En este ejemplo,
669
670 @lilypond[quote,verbatim,relative=2,fragment]
671 c8 c c c
672 \set autoBeaming = ##f
673 c8 c c c
674 @end lilypond
675
676 @noindent
677 el argumento @var{contexto} para la instrucción @code{\set} está omitido, por tanto
678 el barrado automático está desactivado en la @internalsref{Voice} (voz) actual.  Fíjese en que
679 el contexto más bajo no siempre contiene la propiedad que quiere
680 cambiar. Por ejemplo, si intenta establecer la propiedad @code{skipBars}
681 (del contexto más bajo, en este caso @code{Voice}) no se producirá ningún
682 efecto.
683
684 @lilypond[quote,verbatim,relative=2,fragment]
685 R1*2
686 \set skipBars = ##t
687 R1*2
688 @end lilypond
689
690 Los contextos son jerárquicos, de forma que si se especificó un contexto mayor, por
691 ejemplo @code{Staff}, entonces el cambio también se aplicaría a todos los
692 @code{Voice}s o contextos de voz en el pentagrama actual.  El cambio se aplica
693 @q{al vuelo}, mientras transcurre la música, de manera que el ajuste sólo afecta al segundo
694 grupo de corcheas.
695
696 @funindex \unset
697
698 También existe una instrucción @code{\unset},
699 @example
700 \unset @var{contexto}.@var{propiedad}
701 @end example
702
703 @noindent
704 que quita la definición de la @var{propiedad}.  Esta instrucción quita
705 la definición solamente si está establecida dentro del @var{contexto} especificado, por lo que
706
707 @example
708 \set Staff.autoBeaming = ##f
709 @end example
710
711 @noindent
712 introduce un ajuste de propiedad en el nivel del contexto @code{Staff}.  El ajuste también se aplica
713 a la @code{Voice} actual.  Sin embargo,
714
715 @example
716 \unset Voice.autoBeaming
717 @end example
718
719 @noindent
720 no tiene ningún efecto.  Para cancelar este ajuste, el @code{\unset}
721 se debe especificar en el mismo nivel que el @code{\set} original.  En
722 otras palabras, deshacer el efecto de @code{Staff.autoBeaming = ##f}
723 requiere
724 @example
725 \unset Staff.autoBeaming
726 @end example
727
728 Igual que @code{\set}, el argumento @var{contexto} no tiene que especificarse para un contexto
729 que está en la parte más baja, por lo que las dos instrucciones
730
731 @example
732 \set Voice.autoBeaming = ##t
733 \set autoBeaming = ##t
734 @end example
735
736 @noindent
737 son equivalentes.
738
739
740 @cindex \once
741 Los ajustes que se quieren aplicar a un paso de tiempo único se pueden escribir
742 con @code{\once}, por ejemplo en
743
744 @lilypond[quote,verbatim,relative=2,fragment]
745 c4
746 \once \set fontSize = #4.7
747 c4
748 c4
749 @end lilypond
750
751 la propiedad @code{fontSize} pierde su valor automáticamente después de la segunda
752 nota.
753
754 En la referencia del programa hay una descripción detallada de todas las propiedades de contexto disponibles,
755 véase
756 @ifhtml
757 @internalsref{Tunable context properties}.
758 @end ifhtml
759 @ifnothtml
760 Traducción @expansion{} propiedades de contexto ajustables.
761 @end ifnothtml
762
763 @node Adding and removing engravers
764 @subsection Adding and removing engravers
765
766 UNTRANSLATED NODE: IGNORE ME
767
768 @subsubsection Changing a single context
769
770 @subsubsection Changing all contexts of the same type
771 @node Extending the templates
772 @section Extending the templates
773
774 Ha leído el tutorial y ahora sabe escribir música.  Pero ¿cómo puede poner
775 los pentagramas que quiere?  Las plantillas están muy bien, pero ¿qué ocurre
776 si quiere algo que no está en una de ellas?
777
778 Para empezar, tome la plantilla que le parezca más parecida a aquello que quiere
779 conseguir.  Digamos que quiere escribir algo para soprano y cello.
780 En este caso comenzaríamos con la plantilla @q{Notas y letra} (para la parte
781 de soprano).
782
783 @example
784 \version "2.11.38"
785 melodia = \relative c' @{
786   \clef treble
787   \key c \major
788   \time 4/4
789
790   a4 b c d
791 @}
792
793 texto = \lyricmode @{
794   Aaa Bee Cee Dee
795 @}
796
797 \score@{
798   <<
799     \new Voice = "uno" @{
800       \autoBeamOff
801       \melodia
802     @}
803     \new Lyrics \lyricsto "uno" \text
804   >>
805   \layout @{ @}
806   \midi @{ @}
807 @}
808 @end example
809
810 Ahora queremos añadir una parte de violoncello.  Veamos el ejemplo @q{Sólo notas}:
811
812 @example
813 \version "2.11.38"
814 melodia = \relative c' @{
815   \clef treble
816   \key c \major
817   \time 4/4
818
819   a4 b c d
820 @}
821
822 \score @{
823 \new Staff \melody
824 \layout @{ @}
825 \midi @{ @}
826 @}
827 @end example
828
829 No necesitamos dos comandos @code{\version}.  Vamos a necesitar la sección @code{melodia}.
830 No queremos dos secciones @code{\score} (si tuviésemos dos @code{\score}s, acabaríamos con las dos particellas por separado.
831 Queremos las dos juntas, como un dúo.
832 Dentro de la sección @code{\score}, no nos hacen falta dos 
833 @code{\layout} ni dos @code{\midi}.
834
835 Si nos limitásemos a copiar y pegar la sección @code{melodia}, acabaríamos con dos
836 secciones @code{melodia} separadas, así que vamos a cambiarles el nombre.  Llamaremos
837 @code{musicaSoprano} a la sección de la soprano y @code{musicaCello} a la sección del violoncello.
838 Al mismo tiempo cambiaremos el nombre de @code{texto}
839 a @code{letraSoprano}.  Recuerde cambiar el nombre a las dos apariciones de todos estos
840 nombres -- tanto la definición inicial (la
841 parte @code{melodia = relative c' @{ }) --
842 como el uso de ese nombre (en la sección @code{\score}).
843
844 También aprovecharemos para cambiar el pentagrama de la parte del cello (los violoncellos
845 se escriben normalmente en clave de Fa).  Asimismo, cambiaremos algunas
846 notas del cello.
847
848 @example
849 \version "2.11.38"
850 musicaSoprano = \relative c' @{
851   \clef treble
852   \key c \major
853   \time 4/4
854
855   a4 b c d
856 @}
857
858 letraSoprano = \lyricmode @{
859   Aaa Bee Cee Dee
860 @}
861
862 musicaCello = \relative c @{
863   \clef bass
864   \key c \major
865   \time 4/4
866
867   d4 g fis8 e d4
868 @}
869
870 \score@{
871   <<
872     \new Voice = "uno" @{
873       \autoBeamOff
874       \sopranoMusic
875     @}
876     \new Lyrics \lyricsto "uno" \letraSoprano
877   >>
878   \layout @{ @}
879   \midi @{ @}
880 @}
881 @end example
882
883 Esto tiene una pinta prometedora, pero la parte del cello no sale en la partitura
884 (no la hemos puesto en la sección @code{\score}).  Si queremos que la parte
885 del cello aparezca debajo de la de soprano, tenemos que añadir
886
887 @example
888 \new Staff \musicaCello
889 @end example
890
891 @noindent
892 justo debajo de todo lo de la soprano.  También tenemos que poner @code{<<} y
893 @code{>>} antes y después de la música -- lo que  indica a LilyPond que hay
894 más de una cosa (en este caso, @code{Staff}) sucediendo al mismo tiempo -- .  La
895 @code{\score} se parecerá ahora a esto
896
897 @example
898 \score@{
899   <<
900     <<
901       \new Voice = "uno" @{
902         \autoBeamOff
903         \sopranoMusic
904       @}
905       \new Lyrics \lyricsto "uno" \letraSoprano
906     >>
907     \new Staff \musicaCello
908   >>
909   \layout @{ @}
910   \midi @{ @}
911 @}
912 @end example
913
914 @noindent
915 Esto parece un poco enrevesado; los márgenes están descuadrados.  Esto tiene
916 fácil solución.  Presentamos aquí la plantilla completa para soprano y cello.
917
918 @lilypond[quote,verbatim,ragged-right]
919 \version "2.11.38"
920 sopranoMusic = \relative c' {
921   \clef treble
922   \key c \major
923   \time 4/4
924
925   a4 b c d
926 }
927
928 sopranoLyrics = \lyricmode {
929   Aaa Bee Cee Dee
930 }
931
932 celloMusic = \relative c {
933   \clef bass
934   \key c \major
935   \time 4/4
936
937   d4 g fis8 e d4
938 }
939
940 \score{
941   <<
942     <<
943       \new Voice = "one" {
944         \autoBeamOff
945         \sopranoMusic
946       }
947       \new Lyrics \lyricsto "one" \sopranoLyrics
948     >>
949     \new Staff \celloMusic
950   >>
951   \layout { }
952   \midi { }
953 }
954 @end lilypond
955
956 @menu
957 * Soprano and cello::           
958 * Four-part SATB vocal score::  
959 * Building a score from scratch::  
960 @end menu 
961 @node Soprano and cello
962 @subsection Soprano and cello
963
964 UNTRANSLATED NODE: IGNORE ME
965
966 @node Four-part SATB vocal score
967 @subsection Four-part SATB vocal score
968
969 UNTRANSLATED NODE: IGNORE ME
970
971 @node Building a score from scratch
972 @subsection Building a score from scratch
973
974 UNTRANSLATED NODE: IGNORE ME
975
976
977 -- SKELETON FILE --
978 When you actually translate this file, please remove these lines as
979 well as all `UNTRANSLATED NODE: IGNORE ME' lines.