[ << Trucar la salida ] | [Top][Contents][Index] | [ Plantillas >> ] |
[ < Objetos fuera del pentagrama ] | [ Up : Objetos fuera del pentagrama ] | [ La instrucción \textLengthOn > ] |
La propiedad outside-staff-priority
(prioridad fuera del pentagrama)
Los objetos fuera-del-pentagrama se colocan automáticamente para
evitar las colisiones. Los objetos que tienen el valor más bajo
de la propiedad outside-staff-priority
se sitúan más cerca
del pentagrama, y entonces otros objetos fuera-del-pentagrama se
elevan tanto como sea necesario para evitar la colisión. La
prioridad outside-staff-priority
se defina en el
grob-interface
y así es una propiedad de todos los objetos
de presentación. De forma predeterminada se establece a #f
para todos los objetos dentro-del-pentagrama, y a un valor
numérico adecuado a cada objeto fuera-del-pentagrama cuando se
crea el objeto. La tabla siguiente presenta los valores numéricos
predeterminados para algunos de los objetos fuera-del-pentagrama
más comunes.
Observe los nombres algo inusuales de algunos de los objetos: los
objetos de extensión se crean automáticamente para controlar el
posicionamiento vertical de los grobs que (quizá) comienzan y
terminan en distintos momentos musicales, de manera que cualquier
modificación a la prioridad outside-staff-priority
del grob
subyacente no tiene ningún efecto. Por ejemplo, cambiar la
outside-staff-priority
del objeto de regulador
Hairpin
no tiene efecto sobre la posición vertical de los
reguladores: en lugar de eso, tenemos que cambiar la
outside-staff-priority
del objeto asociado
DynamicLineSpanner
. Esta sobreescritura se debe escribir
al comienzo del objeto de extensión, que podría incluir varios
reguladores o matices dinámicos encadenados.
Objeto de presentación | Prioridad | Controla la posición de: |
---|---|---|
RehearsalMark | 1500 | Letras de ensayo |
MetronomeMark | 1000 | Indicaciones metronómicas |
VoltaBracketSpanner | 600 | Cajetines de primera y segunda vez |
TextScript | 450 | Texto en elementos de marcado |
MultiMeasureRestText | 450 | Texto sobre silencios de compás completo |
OttavaBracket | 400 | Corchetes de octava alta y baja |
TextSpanner | 350 | Objetos de extensión de texto |
DynamicLineSpanner | 250 | Todas las indicaciones dinámicas |
VoltaBracketSpanner | 100 | Números de compás |
TrillSpanner | 50 | Trinos mantenidos |
He aquí un ejemplo que muestra la situación predeterminada de algunos de ellos.
% Set details for later Text Spanner \override TextSpanner.bound-details.left.text = \markup { \small \bold Slower } % Place dynamics above staff \dynamicUp % Start Ottava Bracket \ottava #1 c''4 \startTextSpan % Add Dynamic Text and hairpin c''4\pp\< c''4 % Add Text Script c''4^Text | c''4 c'' % Add Dynamic Text and terminate hairpin c''4\ff c'' \stopTextSpan | % Stop Ottava Bracket \ottava #0 c'4 c' c' c' |
Este ejemplo también muestra cómo crear textos con extensión (Text
Spanners): textos con líneas extensoras por encima de una sección
de música. El extensor abarca desde la instrucción
\startTextSpan
hasta la instrucción \stopTextSpan
, y
el formado del texto se define por medio de la instrucción
\override TextSpanner
. Para ver más detalles, consulte
Extensiones de texto.
También muestra la manera de crear corchetes de octava alta y baja.
Si los valores predeterminados de outside-staff-priority
no
le ofrecen las colocaciones deseadas se puede sobreescribir la
prioridad de cualquiera de los objetos. Suponga que quisiéramos
que el corchete de octava estuviera situado por debajo del
elemento extensor de texto en el ejemplo de arriba. Todo lo que
debemos hacer es localizar la prioridad de OttavaBracket
en
el RFI o en las tablas anteriores, y reducirlo a un valor inferior
al de TextSpanner
, recordando que OttavaBracket
se
crea dentro del contexto de Staff
:
% Set details for later Text Spanner \override TextSpanner.bound-details.left.text = \markup { \small \bold Slower } % Place dynamics above staff \dynamicUp % Place following Ottava Bracket below Text Spanners \once \override Staff.OttavaBracket.outside-staff-priority = #340 % Start Ottava Bracket \ottava #1 c''4 \startTextSpan % Add Dynamic Text c''4\pp % Add Dynamic Line Spanner c''4\< % Add Text Script c''4^Text | c''4 c'' % Add Dynamic Text c''4\ff c'' \stopTextSpan | % Stop Ottava Bracket \ottava #0 c'4 c' c' c' |
Observe que algunos de estos objetos, concretamente los números de
compás, las indicaciones metronómicas y las letras de ensayo, se
alojan de forma predeterminada dentro del contexto Score
;
así pues, debe asegurarse de que utiliza el contexto adecuado
cuando se sobreescriben sus propiedades.
De forma predeterminada, las ligaduras de expresión están
clasificadas como objetos dentro-del-pentagrama, pero con
frecuencia aparecen encima del pentagrama si las notas que une son
muy agudas. Ello puede empujar a una posición muy elevada a los
objetos fuera-del-pentagrama como las articulaciones, pues la
ligadura se colocará en primer lugar. La propiedad
avoid-slur
de la articulación se puede establecer al valor
'inside
(por dentro) para llevarla al interior de la
ligadura, pero la propiedad avoid-slur
es efectiva
solamente si la prioridad outside-staff-priority
está
también ajustada al valor #f
. De forma alternativa, la
prioridad outside-staff-priority
de la ligadura se puede
fijar en un valor numérico para hacer que se sitúe en línea con
otros objetos fuera del pentagrama de acuerdo con este valor. He
aquí un ejemplo que muestra el efecto de los dos métodos:
\relative c'' { c4( c^\markup { \tiny \sharp } d4.) c8 | c4( \once \override TextScript.avoid-slur = #'inside \once \override TextScript.outside-staff-priority = ##f c4^\markup { \tiny \sharp } d4.) c8 | \once \override Slur.outside-staff-priority = #500 c4( c^\markup { \tiny \sharp } d4.) c8 | }
Los cambios en outside-staff-priority
también se pueden
emplear para controlar la situación vertical de los objetos
individuales, aunque los resultados pueden no siempre ser
deseables. Suponga que quiere que “Text3” se sitúe por encima
de “Text4” en el ejemplo bajo el epígrafe Comportamiento
Automático de más arriba (véase Comportamiento automático).
Todo lo que debemos hacer es localizar la prioridad de
TextScript
en el RFI o en las tablas de arriba, y aumentar
la prioridad de “Text3” hasta un valor superior:
c''2^"Text1" c''2^"Text2" | \once \override TextScript.outside-staff-priority = #500 c''2^"Text3" c''2^"Text4" |
Esto, ciertamente, eleva a “Text3” por encima de “Text4”
pero también lo eleva por encima de “Text2”, y “Text4” ahora
se desploma hacia abajo. Quizá no sea tan buena idea. ¿Y si lo
que realmente queremos hacer es posicionar todas las anotaciones a
la misma distancia por encima del pentagrama? Para hacerlo, vamos
a necesitar claramente espaciar las notas en sentido horizontal
para hacer sitio para el texto. Esto se hace empleando la
instrucción textLengthOn
.
[ << Trucar la salida ] | [Top][Contents][Index] | [ Plantillas >> ] |
[ < Objetos fuera del pentagrama ] | [ Up : Objetos fuera del pentagrama ] | [ La instrucción \textLengthOn > ] |