La propiedad stencil (sello)

Esta propiedad controla la apariencia de las barras de compás mediante la especificación del símbolo (o «glifo») que se debe imprimir. Igual que como otras muchas propiedades, se puede establecer de forma que no imprima nada ajustando su valor a #f. Vamos a probarlo, como antes, omitiendo el Contexto implícito, Voice:

\relative {
  \time 12/16
  \override BarLine.stencil = ##f
  c''4 b8 c d16 c d8 |
  g,8 a16 b8 c d4 e16 |
  e8
}

[image of music]

Las barras de compás todavía se imprimen. ¿Qué es lo que está mal? Vuelva al RFI y mire de nuevo la página que ofrece las propiedades del objeto BarLine. Al principio de la página dice “Barline objects are created by: Bar_engraver” (los objetos Barline se crean por el grabador Bar_engraver). Vaya a la página del grabador Bar_engraver siguiendo el enlace. Al final da una lista de contextos en los que el grabador de líneas divisorias opera. Todos ellos son del tipo Staff, y así la razón de que la instrucción \override no funcionara como esperábamos, es porque Barline no se encuentra en el contexto predeterminado Voice. Si el contexto no se especifica correctamente, la instrucción simplemente no funciona. No se produce ningún mensaje de error, y no se registra nada en el archivo log de registro. Vamos a intentar corregirlo escribiendo el contexto correcto:

\relative {
  \time 12/16
  \override Staff.BarLine.stencil = ##f
  c''4 b8 c d16 c d8 |
  g,8 a16 b8 c d4 e16 |
  e8
}

[image of music]

Ahora las barras de compás han desaparecido. La operación de fijar la propiedad stencil al valor #f es tan frecuente que existe una abreviatura para ella, llamada \omit (omitir):

\relative {
  \time 12/16
  \omit Staff.BarLine
  c''4 b8 c d16 c d8 |
  g,8 a16 b8 c d4 e16 |
  e8
}

[image of music]

Sin embargo, observe que el establecimiento de la propiedad stencil al valor #f produce errores cuando las se requieren las dimensiones del objeto para un procesamiento correcto. Por ejemplo, se generan errores si la propiedad stencil del objeto NoteHead se establece al valor #f. Si es el caso, podemos en vez de ello utilizar la función point-stencil, que establece el sello a un objeto con tamaño nulo:

\relative {
  c''4 c
  \once \override NoteHead.stencil = #point-stencil
  c4 c
}

[image of music]


Manual de aprendizaje de GNU LilyPond v2.25.14 (rama de desarrollo).