GNU LilyPond – Manuel d'initiation: 4.3.5 Ajout et suppression de graveurs

### 4.3.5 Ajout et suppression de graveurs

Nous avons vu que chaque contexte met en œuvre plusieurs graveurs et que chacun de ces graveurs est chargé de générer une composante particulière du fichier de sortie, qui les barres de mesure, qui la portée, qui les têtes de note, les hampes, etc. Le fait de supprimer un graveur d’un contexte éliminera sa contribution au fichier de sortie. Bien que ce soit là un moyen radical de modifier le résultat, cette pratique est dans quelques cas fort utile.

#### Modification d’un seul contexte

Nous utilisons, pour supprimer un graveur d’un contexte, la commande `\with` dès la création du-dit contexte, comme nous l’avons vu dans la section précédente.

Illustrons notre propos en reprenant un exemple du chapitre précédent, duquel nous supprimerons les lignes de la portée. Pour mémoire, les lignes d’une portée sont générées par le `Staff_symbol_engraver`.

>     \new Staff \with {
>       \remove Staff_symbol_engraver
>     }
>     \relative {
>       c'4 d
>       \set fontSize = #-4  % make note heads smaller
>       e4 f |
>       \set fontSize = #2.5  % make note heads larger
>       g4 a
>       \unset fontSize  % return to default size
>       b4 c |
>     }

Vous pouvez aussi ajouter individuellement un graveur à un contexte. La commande se formule ainsi :

`\consists Nom_du_graveur`

et se place dans un bloc `\with`. Certaines partitions vocales font apparaître un ambitus au début de la portée, afin d’indiquer ses notes extrêmes. L’ambitus est généré par l’`Ambitus_engraver`, que l’on peut adjoindre à n’importe quel contexte. Si nous l’ajoutons au contexte `Voice`, seule la tessiture de cette voix sera calculée :

>     \new Staff <<
>       \new Voice \with {
>         \consists Ambitus_engraver
>       } {
>         \relative {
>           \voiceOne
>           c''4 a b g
>         }
>       }
>       \new Voice {
>         \relative {
>           \voiceTwo
>           c'4 e d f
>         }
>       }
>     >>

alors que si nous l’ajoutons au contexte `Staff`, l’`Ambitus_engraver` calculera l’écart maximal à partir de toutes les notes de toutes les voix de la portée :

>     \new Staff \with {
>       \consists Ambitus_engraver
>     }
>     <<
>       \new Voice {
>         \relative {
>           \voiceOne
>           c''4 a b g
>         }
>       }
>       \new Voice {
>         \relative {
>           \voiceTwo
>           c'4 e d f
>         }
>       }
>     >>

#### Modification de tous les contextes d’un même type

Les exemples ci-dessus nous ont montré comment ajouter ou retirer des graveurs à des contextes individuels. Nous pourrions aussi ajouter ou supprimer des graveurs à tous les contextes d’un même type en insérant les commandes pour le contexte approprié au sein d’un bloc `\layout`. Si nous voulions afficher un ambitus pour chacune des portées d’un système à quatre portées, il nous suffirait d’écrire :

>     \score {
>       <<
>         \new Staff {
>           \relative {
>             c''4 a b g
>           }
>         }
>         \new Staff {
>           \relative {
>             c'4 a b g
>           }
>         }
>         \new Staff {
>           \clef "G_8"
>           \relative {
>             c'4 a b g
>           }
>         }
>         \new Staff {
>           \clef "bass"
>           \relative {
>             c4 a b g
>           }
>         }
>       >>
>       \layout {
>         \context {
>           \Staff
>           \consists Ambitus_engraver
>         }
>       }
>     }

Vous réglerez de la même manière les propriétés de tous les contextes d’un type particulier si vous insérez les commandes `\set` dans un bloc `\context`.

#### Voir aussi

Manuel de notation : Modification des greffons de contexte, Modification des réglages par défaut d'un contexte.

#### Problèmes connus et avertissements

Dans la mesure où les `Stem_engraver` et `Beam_engraver` rattachent à des têtes de note les objets qu’ils créent, désactiver le `Note_heads_engraver` entraîne l’absence de hampe et de ligature.

#### LilyPond — Manuel d’initiation v2.24.4 (branche stable).