Uso de \alterBroken

Cuando un “spanner” u objeto extenso atraviesa uno o varios saltos de línea, cada fragmento hereda los atributos del objeto de extensión original. Así, el trucado ordinario de un objeto dividido aplica las mismas modificaciones a todos y cada uno de sus segmentos. En el ejemplo que aparece a continuación, la sobreescritura de thickness (grosor) afecta a la ligadura a ambos lados del salto de línea.

\relative c'' {
  r2
  \once\override Slur.thickness = 10
  c8( d e f
  \break
  g8 f e d) r2
}

[image of music]

Es posible modificar de forma independiente el aspecto de los fragmentos individuales de un objeto de extensión dividido, con la instrucción \alterBroken. Esta instrucción puede producir un \override o bien un \tweak de una propiedad del objeto de extensión.

La sintaxis de \alterBroken es

[-]\alterBroken propiedad valores elemento

El argumento valores es una lista de valores, uno por cada fragmento. Si elemento el el nombre de un grob como Slur o Staff.PianoPedalBracket, el resultado es una instrucción de sobreescritura \override del tipo de grob especificado. Si elemento es una expresión musical como “(” o “[” el resultado es la misma expresión musical con el correspondiente truco aplicado.

El guión inicial se debe utilizar con la forma de trucaje, \tweak. No lo escriba cuando utilice \alterBroken como una operación de sobreescritura, \override.

En su uso como \override, \alterBroken puede ir precedido de \once o \temporary y ser revertido con \revert con el argumento propiedad (véase Funciones de sustitución intermedias).

EL código siguiente aplica un \override independiente a cada uno de los fragmentos de la ligadura del ejemplo anterior:

\relative c'' {
  r2
  \alterBroken thickness #'(10 1) Slur
  c8( d e f
  \break
  g8 f e d) r2
}

[image of music]

La instrucción \alterBroken se puede usar con cualquier objeto de extensión, incluidos Tie, PhrasingSlur, Beam y TextSpanner. Por ejemplo, un editor que está preparando una edición académica podría desear indicar la ausencia de parte de una ligadura de fraseo en una fuente haciendo discontinuo solamente el segmento que se ha añadido. El siguiente ejemplo ilustra de qué manera se puede hacer esto, en este caso usando la forma \tweak de la instrucción:

% The empty list is conveniently used below, because it is the
% default setting of dash-definition, resulting in a solid curve.
\relative {
  c''2-\alterBroken dash-definition #'(() ((0 1.0 0.4 0.75))) \(e
  \break
  g2 e\)
}

[image of music]

Es importante comprender que \alterBroken fija cada pieza del objeto fragmentado al valor correspondiente dentro del argumento valores. Cuando hay menos valores que piezas, cualquier fragmento adicional recibe la asignación de la lista vacía. Esto puede conllevar resultados no deseados si la propiedad de disposición no está establecida a la lista vacía de forma predeterminada. En estos casos, se debe asignar a cada segmento un valor adecuado.

Advertencias y problemas conocidos

Los saltos de línea pueden ocurrir en distintos lugares según cambia la disposición de la música. Los ajustes elegidos para \alterBroken podrían no ser adecuados para un objeto de extensión que ya no está dividido o que se fragmenta en más piezas que antes. El uso explícito (manual) de saltos de línea mediante \break puede prevenir situaciones como ésta.

La instrucción \alterBroken no es efectiva para propiedades de los objetos extensos accedidas antes del salto de línea, como direction.

Véase también

Extender LilyPond: Trucos difíciles.


Referencia de la notación de GNU LilyPond v2.25.22 (development-branch).