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 |
}

[image of music]

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
    }
  }
>>

[image of music]

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
    }
  }
>>

[image of music]

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
    }
  }
}

[image of music]

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.23.82 (branche de développement).