[ << Conceptos fundamentales ] | [Arriba][Índice general][Índice] | [ Trucar la salida >> ] |
[ < Contextos y grabadores ] | [ Subir : Contextos y grabadores ] | [ Crear contextos > ] |
4.3.1 Explicación de los contextos
Cuando se imprime la música, se tienen que añadir a la salida una gran cantidad de elementos notacionales que no aparecen explícitamente en el archivo de entrada. Por ejemplo, compare la entrada y la salida del siguiente ejemplo:
\relative { cis''4 cis2. | a4 a2. | }
La entrada es bastante escueta, pero en la salida se han añadido las líneas divisorias, las alteraciones, la clave y la armadura de la tonalidad. Cuando LilyPond interpreta la entrada, la información musical se analiza de izquierda a derecha de igual forma que un intérprete lee la partitura. Mientras se lee el código de entrada, el programa recuerda dónde están los límites de los compases, y qué alturas requieren alteraciones accidentales explícitas. Esta información se debe conservar a varios niveles. Por ejemplo, una alteración accidental afecta solamente a un pentagrama, mientras que una línea divisoria debe estar sincronizada a lo largo de todo el sistema.
Dentro de LilyPond, estas reglas y pequeñas porciones de
información se agrupan en Contexts. Ya hemos visto el
contexto de voz, Voice
. Otros ejemplos de contextos son
Staff
(Pauta o pentagrama) y Score
(Partitura).
Los contextos son jerárquicos, de forma que reflejan la
naturaleza jerárquica de una partitura musical. Por ejemplo: un
contexto de Staff
contener muchos contextos de
Voice
, y un contexto de Score
puede contener muchos
contextos de Staff
.
Cada contexto asume la responsabilidad de imponer algunas reglas
de notación, creando ciertos objetos de notación y manteniendo
las propiedades asociadas. Por ejemplo, el contexto Voice
puede introducir una alteración accidental y entonces el contexto
Staff
mantiene la regla de mostrar o suprimir la
alteración para el resto del compás.
Otro ejemplo lo constituye el hecho de que la sincronización de
las líneas divisorias se gestiona dentro del contexto de la
partitura, Score
, de forma predeterminada. Sin embargo,
en algunas músicas posiblemente no queramos que las líneas
divisorias estén sincronizadas (pensemos en una partitura
polimétrica en compases de 4/4 y de 3/4). En tales casos,
debemos modificar los ajustes por omisión de los contextos
Score
y Staff
.
Para partituras muy sencillas, los contextos se crean implícitamente y no debemos preocuparnos por ellos. Para piezas mayores, como por ejemplo cualquiera que tenga más de un pentagrama, los contextos se deben crear explícitamente para asegurarnos de que tendremos la cantidad exacta de pentagramas que necesitamos, y que están en el orden correcto. Para tipografiar piezas con notación especializada, es frecuente la modificación de contextos existentes o incluso definir unos completamente nuevos.
Además de los contextos Score,
Staff
y
Voice
, hay contextos que se sitúan entre los niveles de
partitura y de pentagrama para controlar los grupos de
pentagramas, como los contextos PianoStaff
y
ChoirStaff
. También existen contextos alternativos de
pentagrama y de voz, y contextos para la letra, la percusión,
diagramas de trastes, bajo cifrado, etc.
Los nombres de todos los tipos de contextos se componen de una o
más palabras que comienzan con mayúscula y que están unidas unas
a otras sin guión ni barra baja, por ejemplo:
GregorianTranscriptionStaff
.
Véase también
Referencia de la notación: Explicación de los contextos.
[ << Conceptos fundamentales ] | [Arriba][Índice general][Índice] | [ Trucar la salida >> ] |
[ < Contextos y grabadores ] | [ Subir : Contextos y grabadores ] | [ Crear contextos > ] |