Siguiente: La partitura es una (única) expresión musical compuesta, Arriba: Cómo funcionan los archivos de LilyPond
Un ejemplo básico de archivo de entrada de LilyPond es el siguiente:
\version "2.11.58" \score { ...expresión musical compuesta... % toda la música viene aquí \header { } \layout { } \midi { } }
Existen muchas variaciones de este esquema básico, pero el ejemplo constituye un útil punto de partida.
Hasta el momento, ninguno de los ejemplos que ha podido ver utiliza la
instrucción \score{}
. Esto es así a causa de que LilyPond
añade automáticamente las órdenes adicionales que se requieren cuando
le proporcionamos una entrada sencilla. LilyPond trata una entrada
como esta:
\relative c'' { c4 a d c }
como una abreviatura de esta otra:
\book { \score { \new Staff { \new Voice { \relative c'' { c4 a b c } } } \layout { } } }
En otras palabras, si la entrada consta de una única expresión musical, LilyPond interpreta el archivo como si la expresción musical estuviera rodeada por un envoltorio hecho por las instrucciones que acabamos de ver.
¡Advertencia! Muchos de los ejemplos que aparecen en la
documentación de LilyPond omiten las instrucciones \new Staff
y
\new Voice
, dejando que se creen de forma implícita. Esto
funciona bien para ejemplos sencillos, pero para ejemplos más
complicados, especialmente cuando se usan instrucciones adicionales,
la creación implícita de los contextos puede dar lugar a resultados
inesperados, incluso en ocasiones crear pentagramas no deseados. La
forma de crear contextos de forma explícita se explica en
Contextos y grabadores.
Nota: Cuando se escriben más de unas pocas líneas de música, se recomienda crear siempre los pentagramas y las voces de forma explícita. |
De todas formas, por ahora vamos a volver al primer ejemplo para
examinar la instrucción \score
, dejando las demás en su forma
predeterminada.
Un bloque \score
siempre debe contener una expresión musical
única, que debe aparecer inmediatamente después de la instrucción
\score
. Recuerde que una expresión musical podía ser cualquier
cosa entre una sola nota hasta una enorme expresión compuesta como
{ \new GrandStaff << ...inserte aquí la partitura completa de una ópera de Wagner... >> }
Puesto que todo se encuentra dentro de { ... }
, cuenta como
una expresión musical.
Como vimos anteriormente, el bloque \score
puede contener otras
cosas, tales como
\score { { c'4 a b c' } \header { } \layout { } \midi { } }
Observe que estas tres instrucciones (\header
, \layout
y
\midi
) son especiales: a diferencia del resto de las
instrucciones que comienzan con una barra invertida (\
),
no son expresiones musicales y no forman parte de ninguna
expresión musical. Por tanto, se pueden situar dentro de un bloque
\score
o fuera de él. De hecho, estas instrucciones se sitúan
por lo general fuera del bloque \score
(por ejemplo,
\header
se suele colocar antes de la instrucción \score
porque las cabeceras aparecen de forma natural al principio de la
partitura. Es tan sólo otra abreviatura que LilyPond acepta.
Dos instrucciones más que no hemos visto aún son \layout { }
y \midi {}
. Si aparecen tal y como se muestran aquí, hacen
que LilyPond produzca una salida impresa y una salida MIDI,
respectivamente. Se describen con todo detalle en el manual de
Referencia de la notación, en Disposición de la partitura y en
Crear archivos MIDI.
Podemos escribir varios bloques \score
. Cada uno de ellos
recibirá el mismo tratamiento que una partitura independiente, pero se
combinarán todos juntos en un archivo de salida único. No se necesita
ninguna instrucción \book
, se creará una implícitamente. Sin
embargo, si quiere archivos de salida separados a partir de un único
archivo .ly
, entonces es necesario utilizar la instrucción
\book
para separar las distintas secciones: cada bloque
\book
produce un archivo de salida distinto.
En resumen:
Cada bloque \book
crea un archivo de salida distinto (por
ejemplo, un archivo PDF). Si no hemos escrito uno de forma explícita,
LilyPond envuelve todo nuestro código de entrada dentro de un bloque
\book
de forma implícita.q
Cada bloque \score
es un trozo de música separado dentro de un
bloque \book
.
Cada bloque \layout
afecta al bloque \score
o
\book
dentro del cual aparece (es decir, un bloque
\layout
dentro de un bloque \score
afecta solamente a
ese bloque \score
, pero un bloque \layout
fuera de un
bloque \score
(que por ello está dentro de un bloque
\book
, ya sea explícita o implícitamente) afecta a los bloques
\score
que están dentro de ese \book
.
Cada bloque \context
afecta al contexto con nombre (por
ejemplo, \StaffGroup
) a todo lo largo del bloque (\score
o \book
) en que aparece.
Para ver más detalles, consulte Varias partituras en un libro.
Otro atajo genial es la posibilidad de definir variables. Todas las plantillas emplean lo siguiente:
melodia = \relative c' { c4 a b c } \score { \melodia }
Cuando LilyPond examina este archivo, toma el valor de melodia
(todo lo que está después del signo igual) y lo inserta dondequiera
que ve \melodia
. No se requiere un cuidado especial con los
nombres (puede ser melodia
, global
,
CompasArmadura
, manoderechadelpiano
o
fulanomengano
). Para ver más detalles, consulte Ahorrar tecleo mediante variables y funciones. Recuerde que puede usar casi
cualquier nombre que se le ocurra, en la medida en que contenga
solamente caracteres alfabéticos y sea diferente de cualquiera de los
nombres de instrucción de LilyPond. Las limitaciones exactas que
afectan a los nombres de variable se detallan en structure
Estructura del archivo.
Para ver una definición completa del formato del código de entrada, consulte Estructura del archivo.
Esta página corresponde a LilyPond-2.11.58 (rama de desarrollo).
Informe de los fallos a través de la lista en español lilypond-es, o en inglés a través de http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs.
Se agradecen las sugerencias para la documentación.