Siguiente: Crear contextos, Arriba: Contextos y grabadores
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:
cis4 cis2. g4
La entrada es bastante escueta, pero en la salida se añaden líneas divisorias, alteraciones accidentales, la clave y la indicación de compás. LilyPond interpreta la entrada. En esta fase se inspecciona la información musical en orden temporal, de forma parecida a la lectura de una partitura de izquierda a derecha. Mientras se lee la entrada, el programa recuerda dónde se encuentran los límites de los compases, y qué notas requieren alteraciones explícitas. Esta información se puede presentar sobre varios niveles. Por ejemplo, el efecto de una alteración accidental se encuentra limitada a un solo pentagrama, mientras que una barra divisoria debe estar sincronizada a través de la partitura de arriba a abajo.
Dentro de LilyPond, estas reglas y pequeñas porciones de información
se agrupan en Contexts. Algunos ejemplos de contextos son
Voice
(Voz), 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 pentagraamas, 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
.
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.