Manual de aprendizaje de GNU LilyPond: 4.4.2 Objetos interiores al pentagrama

### 4.4.2 Objetos interiores al pentagrama

Ya hemos visto cómo las instrucciones `\voiceXXX` afectan a la dirección de las ligaduras de expresión y de unión, digitaciones y todo lo demás que dependa de la dirección de las plicas (véase Voces explícitas). Cuando se escribe música polifónica, estas instrucciones son esenciales para que puedan distinguirse varias líneas melódicas entrelazadas. Pero ocasionalmente puede ser necesario sobreescribir este comportamiento automático. Se puede hacer por secciones de música completas o incluso para una nota individual. La propiedad que controla este comportamiento es la propiedad de `direction` (dirección) de cada objeto de presentación. En primer lugar explicaremos qué hace esto, y luego introduciremos algunas instrucciones listas para usar que le evitarán tener que codificar sobreescrituras explícitas para las modificaciones más comunes.

Algunos objetos de presentación como las ligaduras se curvan hacia arriba o hacia abajo; otros como las plicas y los corchetes también se mueven a la derecha o a la izquierda cuando apuntan hacia arriba o hacia abajo. Esto se controla automáticamente cuando está establecida la propiedad `direction`.

#### La propiedad `direction` (dirección)

El ejemplo siguiente muestra en el primer compás la colocación predeterminada de las ligaduras de expresión, estando por encima las que comienzan en notas agudas y por debajo las que comienzan en notas graves, seguido de un compás con ambas ligaduras forzadas hacia abajo, otro compás con las dos forzadas hacia arriba y por último un compás con las ligaduras devueltas a su comportamiento predeterminado.

>     a'4( g') c''( a') |
>     \override Slur.direction = #DOWN
>     a'4( g') c''( a') |
>     \override Slur.direction = #UP
>     a'4( g') c''( a') |
>     \revert Slur.direction
>     a'4( g') c''( a') |

Aquí hemos usado las constantes `DOWN` (abajo) y `UP` (arriba). Éstos tienen los valores `-1` y `+1` respectivamente, y dichos valores numéricos también se pueden usar directamente. El valor `0` también se puede usar en algunos casos. Se trata simplemente con el significado de `UP` para las ligaduras de expresión, pero para algunos objetos tiene el significado de ‘centrado’. Existe una constante `CENTER` que tiene el valor `0`.

Sin embargo, estas sobreescrituras no se usan muy a menudo porque están disponibles instrucciones predefinidas equivalentes más sencillas. Aquí podemos ver una tabla de las más comunes. Se menciona el significado de cada una allí donde no es obvio.

Abajo o Izquierda | Arriba o Derecha | Anular | Efecto
--- | --- | --- | ---
`\arpeggioArrowDown` | `\arpeggioArrowUp` | `\arpeggioNormal` | La flecha está abajo, arriba o no hay flecha
`\dotsDown` | `\dotsUp` | `\dotsNeutral` | Dirección del desplazamiento para evitar las líneas del pentagrama
`\dynamicDown` | `\dynamicUp` | `\dynamicNeutral` |
`\phrasingSlurDown` | `\phrasingSlurUp` | `\phrasingSlurNeutral` | Nota: diferente de las instrucciones de ligaduras de expresión
`\slurDown` | `\slurUp` | `\slurNeutral` |
`\stemDown` | `\stemUp` | `\stemNeutral` |
`\textSpannerDown` | `\textSpannerUp` | `\textSpannerNeutral` | El texto introducido como objeto de extensión está debajo o encima del pentagrama
`\tieDown` | `\tieUp` | `\tieNeutral` |
`\tupletDown` | `\tupletUp` | `\tupletNeutral` | Los grupos especiales están debajo o encima de las notas

Las variantes neutras o normales de estas instrucciones están implementadas usando `\revert` y éstas no pueden ir precedidas de `\once`. Si quiere limitar el efecto de las otras instrucciones (que están implementadas usando `\override`) a un solo paso de tiempo, puede precederla de `\once` de la misma forma en que lo haría con las sobreescrituras explícitas.

O bien, si un único objeto de presentación necesita forzarse hacia arriba o hacia abajo, pueden usarse los indicadores de dirección, `^` o `_`:

>     a'4( g') c''( a') |
>     a'4^( g') c''_( a') |

#### Digitaciones

La colocación de las digitaciones sobre notas sueltas también se puede controlar mediante la propiedad `direction`, pero los cambios sobre `direction` no tienen ningún efecto sobre las notas de los acordes. Como veremos, existen instrucciones especiales que permiten controlar las digitaciones de notas individuales, situando la digitación encima, debajo, a la izquierda o a la derecha de cada nota.

En primer lugar, he aquí el efecto de `direction` sobre las digitaciones aplicadas a notas sueltas. Se muestra en el primer compás el comportamiento predeterminado, y en los dos compases siguiente el efecto de especificar `DOWN` y `UP`:

>     \relative {
>       c''4-5 a-3 f-1 c'-5 |
>       \override Fingering.direction = #DOWN
>       c4-5 a-3 f-1 c'-5 |
>       \override Fingering.direction = #UP
>       c4-5 a-3 f-1 c'-5 |
>     }

Sin embargo, la sobreescritura de la propiedad `direction` no es la forma más sencilla de especificar manualmente la digitación por encima o por debajo de las notas; suele ser preferible usar `_` o `^` en lugar de `-`, antes del número de la digitación. Este es el ejemplo anterior utilizando este método:

>     \relative {
>       c''4-5 a-3 f-1 c'-5 |
>       c4_5 a_3 f_1 c'_5 |
>       c4^5 a^3 f^1 c'^5 |
>     }

La propiedad `direction` se ignora para los acordes, pero los prefijos direccionales `_` y `^` sí funcionan. De forma predeterminada, las digitaciones se colocan automáticamente encima y debajo de las notas de un acorde, como se muestra aquí:

>     \relative {
>       <c''-5 g-3>4
>       <c-5 g-3 e-2>4
>       <c-5 g-3 e-2 c-1>4
>     }

pero se puede forzar de manera que todos o algunos de los números de digitación estén por encima o por debajo:

>     \relative {
>       <c''-5 g-3 e-2 c-1>4
>       <c^5 g_3 e_2 c_1>4
>       <c^5 g^3 e^2 c_1>4
>     }

Es posible ejercer un control aún mayor sobre la colocación de las digitaciones mediante la utilización de la instrucción `\set fingeringOrientations`. El formato de esta instrucción es:

>     \set fingeringOrientations = #'([up] [left/right] [down])

se utiliza `\set` porque `fingeringOrientations` es una propiedad del contexto `Voice`, creado y usado por el grabador `New_fingering_engraver`.

La propiedad se puede establecer al valor de una lista de entre uno y tres valores. Controla si las digitaciones se pueden colocar por encima (si `up` aparece en la lista), por debajo (si aparece `down`), a la izquierda (si aparece `left`) o a la derecha (si aparece `right`). A la inversa, si una colocación no está en la lista, no se sitúa ninguna digitación en dicho lugar. LilyPond coma estas restricciones y se trabaja la mejor colocación para la digitación de las notas de los acordes que siguen. Observe que `left` y `right` son mutuamente excluyentes: las digitaciones pueden situarse en un lado o en el otro, no en los dos.

Nota: Para controlar la colocación de la digitación de una sola nota usando esta instrucción es necesario escribirla como un acorde de una sola nota encerrándola entre ángulos simples.

Aquí podemos ver algunos ejemplos:

>     \relative {
>       \set fingeringOrientations = #'(left)
>       <f'-2>4
>       <c-1 e-2 g-3 b-5>4
>       \set fingeringOrientations = #'(left)
>       <f-2>4
>       <c-1 e-2 g-3 b-5>4 |
>       \set fingeringOrientations = #'(up left down)
>       <f-2>4
>       <c-1 e-2 g-3 b-5>4
>       \set fingeringOrientations = #'(up left)
>       <f-2>4
>       <c-1 e-2 g-3 b-5>4 |
>       \set fingeringOrientations = #'(right)
>       <f-2>4
>       <c-1 e-2 g-3 b-5>4
>     }

Si la digitación parece un poco superpoblada, se puede reducir el tamaño `font-size`. El valor predeterminado puede verse en el objeto `Fingering` del RFI que es `-5`, así que probaremos `-7`:

>     \relative {
>       \override Fingering.font-size = #-7
>       \set fingeringOrientations = #'(left)
>       <f'-2>4
>       <c-1 e-2 g-3 b-5>4
>       \set fingeringOrientations = #'(left)
>       <f-2>4
>       <c-1 e-2 g-3 b-5>4 |
>       \set fingeringOrientations = #'(up left down)
>       <f-2>4
>       <c-1 e-2 g-3 b-5>4
>       \set fingeringOrientations = #'(up left)
>       <f-2>4
>       <c-1 e-2 g-3 b-5>4 |
>       \set fingeringOrientations = #'(right)
>       <f-2>4
>       <c-1 e-2 g-3 b-5>4
>     }

#### LilyPond — Manual de aprendizaje v2.22.2 (rama estable).