La propriété stencil

Cette propriété contrôle l’apparence des barres de mesure en précisant le type de symbole (glyphe) à imprimer. Comme pour de nombreuses autres propriétés, on peut lui indiquer de ne rien imprimer en lui attribuant la valeur #f. Essayons en laissant de côté, une fois encore, le contexte concerné (Voice en l’occurrence) :

\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 mesure sont encore là ! Pourquoi ? Retournons à la RPI et regardons de nouveau la page qui traite des propriétés de BarLine. En haut de la page, il est précisé que « Les objets BarLine sont créés par le graveur Bar_engraver ». Allons à la page de Bar_engraver. Tout en bas se trouve la liste des contextes dans lesquels fonctionne ce graveur. Tous sont du type Staff, de sorte que, si la commande \override n’a pas fonctionné comme prévu, c’est parce que BarLine n’appartient pas au contexte par défaut, Voice. Si le contexte spécifié est erroné, la commande ne fonctionne pas. Cela n’entraîne pas de message d’erreur, et rien n’apparaît dans le fichier log. Essayons de corriger en mentionnant le bon contexte :

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

Cette fois, les barres de mesure ont disparu. Désactiver la propriété stencil est une opération tellement fréquente que LilyPond dispose d’un raccourci – \omit (pour « oublier ») – à cet effet :

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

Vous remarquerez que l’affectation de la valeur #f à la propriété stencil déclenchera une erreur dès lors que l’objet en question se doit d’avoir des dimensions pour les nécessités du traitement. Ce sera le cas, par exemple, si vous effacez le stencil d’un objet NoteHead. Il vaut mieux, en pareil cas, utiliser la fonction point-stencil qui, quant à elle, attribue à l’objet une taille à zéro :

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

[image of music]


GNU LilyPond – Manuel d’initiation v2.25.14 (branche de développement).