5.1.2 Création et référencement d’un contexte

LilyPond crée automatiquement des contextes de bas niveau lorsque l’expression musicale intervient avant qu’un contexte adéquat n’existe, ce qui peut être pratique dans le cadre d’une partition simple ou de courts fragments tels ceux inclus dans cette documentation. Dès que la structure s’étoffe, il devient nécessaire de créer explicitement tous les contextes, à l’aide des commandes \new ou \context. Leur syntaxe est très similaire :

[\new | \context] Contexte [= nom] [musique]

où peuvent intervenir aussi bien \new que \context. Le Contexte est le nom du contexte à créer, qui éventuellement s’appellera plus particulièrement nom ; il contient l’expression musicale unique musique qui devra être interprétée dans ce contexte par les graveurs ou exécutants.

Le préfixe \new non suivi d’un nom s’utilise principalement pour créer une partition avec plusieurs portées :

<<
  \new Staff \relative {
    % leave the Voice context to be created implicitly
    c''4 c
  }
  \new Staff \relative {
    d''4 d
}
>>

[image of music]

et pour regrouper des voix sur une même portée :

\new Staff <<
  \new Voice \relative {
    \voiceOne c''8 c c4 c c
  }
  \new Voice \relative {
    \voiceTwo g'4 g g g
  }
>>

[image of music]

\new est à priviliégier lorsque les contextes ne sont pas nommés.

La différence entre les commandes \new et \context se situe au niveau de leurs effets :

Un contexte auquel il est ultérieurement fait référence doit impérativement être nommé. C’est le cas par exemple lorsque des paroles sont associées à de la musique :

\new Voice = "tenor" musique
…
\new Lyrics \lyricsto "tenor" paroles

L’association de paroles à de la musique est abordée en détails à la rubrique Durée automatique des syllabes.

Les propriétés de tous les contextes d’un même type se modifient au sein d’un bloc \layout, selon une syntaxe différente – see Modification de tous les contextes d’un même type. Une telle construction permet de séparer mise en forme et contenu musical. Lorsque un seul contexte requiert une adaptation, mieux vaut recourir à un bloc \with – see Modification d’un contexte particulier.

Voir aussi

Manuel d’initiation : Organisation du code source avec des variables.

Manuel de notation : Durée automatique des syllabes, Modification d’un contexte particulier.


GNU LilyPond – Manuel de notation v2.25.22 (development-branch).