La propietat stencil (segell)

Aquesta propietat controla l’aparença de les barres de compàs mitjançant l’especificació del símbol (o «glif») que s’ha d’imprimir. Igual que com altres moltes propietats, es pot establir de forma que no imprimeixi res ajustant el seu valor a #f. El provarem, com abans, ometent el Context implícit, pVoice:

\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]

Les barres de compàs encara s’imprimeixen. Què és el que està malament? Torneu al RFI i mireu un altre cop la pàgina que ofereix les propietats de l’objecte Barline. Al principi de la pàgina diu “Barline objects are created by the following engraver(s): Bar_engraver” (els objectes Barline es creen pel gravador Bar_engraver). Aneu a la pàgina del gravador Bar_engraver seguint l’enllaç. Al final dóna una llista de contextos en els quals el gravador de línies divisòries opera. Tots ells són del tipus Staff, i així la raó que l’ordre \override no funcionés com esperàvem, és perquè Barline no es troba en el context predeterminat Voice. Si el context no s’especifica correctament, l’ordre simplement no funciona. No es produeix cap missatge d’error, i no es registra res al fitxer log de registre. Intentarem corregir-lo escrivint el context correcte:

\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]

Ara les barres de compàs han desaparegut. L’operació d’establir la propietat stencil al valor #f és tan freqüent que hi ha una abreviatura per a ella, anomenada \omit (ometre):

\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]

Malgrat això, observeu que l’establiment de la propietat stencil al valor #f produeix error quan es requereixen les dimensions de l’objecte per un processament correcte. Per exemple, es generen errors si la propietat stencil de l’objecte NoteHead s’estableix al valor #f. Si és el cas, podem en comptes d’això utilitzar la funció point-stencil, que estableix el segell a un objecte amb mida nul·la:

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

[image of music]


Manual d’aprenentatge del GNU LilyPond v2.25.22 (development-branch).