5.1.5 Cambiar los valores por omisión de los contextos
Se pueden cambiar las propiedades de contexto y de grob con las
instrucciones \set
y \override
, tal y como se
describe en Modificar las propiedades. Estas instrucciones
crean eventos musicales, haciendo que los cambios tengan efecto en
el punto temporal en que la música se está procesando.
Por contra, esta sección explica la forma de cambiarlos valores predeterminados de las propiedades de contexto y de grob en el momento en que se crea el contexto. Existen dos formas de hacerlo. Una modifica los valores predeterminados en todos los contextos de un tipo dado, y el otro modifica los valores predeterminados solamente en una instancia concreta de un contexto.
Cambiar todos los contextos del mismo tipo | ||
Cambiar solamente un contexto determinado | ||
Orden de precedencia |
Cambiar todos los contextos del mismo tipo
Los ajustes de contexto predeterminados que se han de usar para la
composición tipográfica dentro de Score
, Staff
,
Voice
y otros contextos se pueden especificar en un bloque
\context
dentro de cualquier bloque \layout
.
Los ajustes para la salida MIDI, al contrario que para la
composición tipográfica, se tendrán que especificar aparte en
bloques \midi
(véase
Definiciones de salida - estructura de los contextos).
El bloque \layout
se debe colocar dentro del bloque
\score
al que se aplica, después de la música.
\layout { \context { \Voice [ajustes de contexto para todos los contextos Voice] } \context { \Staff [ajustes de contexto para todos los contextos Staff] } }
Se pueden especificar los siguientes tipos de ajustes:
-
Una instrucción
\override
, pero omitiendo el nombre del contexto\score { \relative { a'4^"Thicker stems" a a a a4 a a\ff a } \layout { \context { \Staff \override Stem.thickness = #4.0 } } }
-
Estableciendo una propiedad de contexto directamente
\score { \relative { a'4^"Smaller font" a a a a4 a a\ff a } \layout { \context { \Staff fontSize = #-4 } } }
-
Una instrucción predefinida tal como
\dynamicUp
o una expresión musical como\accidentalStyle dodecaphonic
\score { \relative { a'4^"Dynamics above" a a a a4 a a\ff a } \layout { \context { \Voice \dynamicUp } \context { \Staff \accidentalStyle dodecaphonic } } }
-
Una variable definida por el usuario que contenga un bloque
\with
; para ver detalles acerca del bloque\with
, consulte Cambiar solamente un contexto determinado.StaffDefaults = \with { fontSize = #-4 } \score { \new Staff { \relative { a'4^"Smaller font" a a a a4 a a a } } \layout { \context { \Staff \StaffDefaults } } }
Las instrucciones de ajuste de propiedades se pueden disponer
dentro de un bloque \layout
sin que estén encerradas en un
bloque \context
. Tales ajustes son equivalentes a incluir
las mismas instrucciones de ajuste de propiedades al comienzo de
cada uno de los contextos del tipo especificado. Si no se
especifica ningún contexto, todos y cada uno de los
contextos del nivel inferior quedan afectados, véase
Contextos del nivel más bajo. Voces. La sintaxis de una
instrucción de ajuste de propiedades dentro de un bloque
\layout
es la misma que si la misma instrucción estuviera
escrita en el propio flujo musical.
\score { \new Staff { \relative { a'4^"Smaller font" a a a a4 a a a } } \layout { \accidentalStyle dodecaphonic \set fontSize = #-4 \override Voice.Stem.thickness = #4.0 } }
Cambiar solamente un contexto determinado
Las propiedades de contexto de una única instancia de contexto
pueden cambiarse dentro de un bloque \with
. Todas las
demás instancias de contexto del mismo tipo retienen los ajustes
predeterminados que LilyPond tiene programados y que se modifican
por parte de cualquier bloque \layout
que se encuentre
dentro del ámbito. El bloque \with
se debe situar
inmediatamente después de las instrucciones \new
context-type:
\new Staff \with { [ajustes de contexto para esta instancia de contexto solamente] } { … }
De forma alternativa, si la música se escribe usando la forma
corta de las instrucciones de especificación de modo, como por
ejemplo \chords
en lugar de \chordmode
, la
instrucción \with
se debe colocar inmediatamente después de
la instrucción que especifica el modo:
\chords \with { [ajustes de contexto para esta instancia de contexto (implícita) solamente] } { … }
dado que es el contexto implícito creado por estas formas breves
el que se quiere modificar. Se aplica la misma consideración a
las otras formas cortas de especificar el modo de entrada
(\drums
, \figures
), véase Modos de entrada.
Dado las modificaciones de contexto especificadas en bloques
\with
están dentro de la música, afectarán a todas
las salidas (tipografía y también el MIDI), a diferencia de
los cambios que se hacen dentro de una definición de salida.
Se pueden especificar los siguientes tipos de ajustes:
-
Una instrucción
\override
, pero omitiendo el nombre del contexto\score { \new Staff { \new Voice \with { \override Stem.thickness = #4.0 } { \relative { a'4^"Thick stems" a a a a4 a a a } } } }
-
Estableciendo una propiedad de contexto directamente
\score { << \new Staff { \relative { a'4^"Default font" a a a a4 a a a } } \new Staff \with { fontSize = #-4 } { \relative { a'4^"Smaller font" a a a a4 a a a } } >> }
-
Una instrucción predefinida tal como
\dynamicUp
\score { << \new Staff { \new Voice { \relative { a'4^"Dynamics below" a a a a4 a a\ff a } } } \new Staff \with { \accidentalStyle dodecaphonic } { \new Voice \with { \dynamicUp } { \relative { a'4^"Dynamics above" a a a a4 a a\ff a } } } >> }
Véase también
Referencia de la notación: Modos de entrada
Orden de precedencia
El valor de una propiedad que se aplica en un momento determinado se determina de la siguiente forma:
-
si está en efecto una instrucción
\override
o\set
dentro del flujo musical, se usa dicho valor, -
de lo contrario, se usa el valor predeterminado tomado de un
enunciado
\with
en las instrucciones de inicio del contexto, -
de lo contrario, se usa el valor tomado del bloque
\context
más reciente que corresponda dentro de los bloques\layout
o\midi
, - de lo contrario se usa el valor predeterminado que LilyPond lleva preprogramado.
Véase también
Manual de aprendizaje: Modificar las propiedades de los contextos.
Referencia de la notación:
Explicación de los contextos,
Contextos del nivel más bajo. Voces,
La instrucción \set
,
La instrucción \override
,
El bloque \layout
.