5.1.7 Ordonnancement des contextes

Les contextes viennent en principe se positionner selon leur ordre d’apparition dans le fichier source. Lorsque plusieurs contextes sont imbriqués, le contexte englobant supportera les différents contextes mentionnés dans le fichier source, à la stricte condition qu’ils soient dûment « agréés ». Les contextes imbriqués qui ne font pas partie de la « liste d’agréments » du contexte englobant se retrouveront en dessous de celui-ci au lieu d’y être imbriqués.

La liste des « agréments » d’un contexte se gère à l’aide des instructions \accepts et \denies\accepts pour ajouter un contexte à la liste, et \denies pour retirer l’agrément. Il est par exemple peu conventionnel que les accords nommés apparaissent dans un contexte Staff ; autrement dit, le contexte ChordNames ne fait pas partie de la « liste d’agréments » du contexte Staff par défaut. Néanmoins, et s’il devait en être ainsi, vous pourriez le spécifier.

\score {
  \new Staff {
    c' d' e' f'
    \chords { d1:m7 b1:min7.5- }
  }
}

[image of music]

\score {
  \new Staff {
    c' d' e' f'
    \chords { d1:m7 b1:min7.5- }
  }
  \layout {
    \context {
      \Staff
      \accepts "ChordNames"
    }
  }
}

[image of music]

L’instruction \denies permet, lorsqu’un nouveau contexte reprend les définitions d’un contexte existant, d’en ajuster les composantes. C’est par exemple le cas du contexte VaticanaStaff, réplique du contexte Staff au sein duquel le contexte VaticanaVoice se substitue au contexte Voice dans la « liste d’agrément ».

Gardez à l’esprit que, face à une instruction qui ne s’appliquerait à aucun contexte déjà existant, LilyPond créera un nouveau contexte implicite. Ceci peut engendrer une nouvelle portée ou une autre partition.

Il arrive qu’un contexte ne doive exister que pendant un court instant, ce qui est le cas par exemple pour une ossia. Le plus simple consiste alors à initialiser la définition d’un contexte à l’endroit approprié, en parallèle avec le fragment correspondant dans la musique principale. Ce contexte temporaire sera par défaut positionné sous les autres contextes existants. Le repositionner au-dessus du contexte « principal » demande de le définir ainsi :

\new Staff \with { alignAboveContext = #"principal" } 

Il en va de même pour les contextes temporaires de paroles au sein d’un système à plusieurs portées comme un ChoirStaff lorsque, par exemple, un couplet supplémentaire apparaît à l’occasion d’une reprise. Ce contexte de paroles temporaire se place par défaut sous les portées inférieures. Lui adjoindre une instruction alignBelowContext dès son initialisation permet de l’accoler au contexte de paroles (nommé) qui contient le premier couplet.

Des exemples de repositionnement de contexte temporaire sont disponibles aux rubriques Expressions musicales imbriquées, Modification de portées individuelles et Situations particulières en matière de paroles.

Voir aussi

Manuel d’initiation : Expressions musicales imbriquées.

Manuel de notation : Modification de portées individuelles, Situations particulières en matière de paroles.

Manuel d’utilisation : Apparition d'une portée supplémentaire.

Fichiers d’initialisation : ‘ly/engraver-init.ly’.


Autres langues : English, deutsch, español, italiano, 日本語.
About automatic language selection.

LilyPond — Manuel de notation