5.1.5 Modification des réglages par défaut d’un contexte
Les propriétés des contextes et objets graphiques se modifient à l’aide
des commandes \set
et \override
, comme indiqué à la
rubrique Modification de propriétés. Ces commandes créent des
événements musicaux qui feront que la modification produira ses effets
dès l’instant où la musique est traitée.
Le propos est ici de voir comment modifier les valeurs par défaut des propriétés de contexte ou d’objet graphique dès la création de ces contextes. Deux manières de procéder sont envisageables : l’une consiste à modifier les valeurs pour tous les contextes d’un même type, l’autre s’attache à adapter les valeurs par défaut d’une instance particulière d’un contexte.
Modification de tous les contextes d’un même type | ||
Modification d’un contexte particulier | ||
Ordre de préséance |
Modification de tous les contextes d’un même type
L’adaptation des réglages par défaut d’un contexte, qu’il s’agisse de
Score
, Staff
ou Voice
, peut se réaliser
indépendamment de la musique dans un bloc \layout
– placé dans
le bloc \score
auquel ces modifications doivent s’appliquer – au
moyen d’un bloc \context
.
Les réglages dévolus à la sortie MIDI viendront quant à eux se placer
dans un bloc \midi
– voir
Définitions de la sortie – hiérarchie des contextes.
\layout { \context { \Voice [réglage de contexte pour tous les contextes Voice] } \context { \Staff [réglage de contexte pour tous les contextes Staff] } }
La spécification des adaptations peut se faire de différentes manières :
-
à l’aide d’une commande
\override
, sans lui adjoindre le nom du contexte :\score { \relative { a'4^"Hampes épaisses" a a a a4 a a\ff a } \layout { \context { \Staff \override Stem.thickness = #4.0 } } }
-
en définissant directement une propriété de contexte :
\score { \relative { a'4^"Fontes plus petites" a a a a4 a a\ff a } \layout { \context { \Staff fontSize = #-4 } } }
-
à l’aide d’une commande prédéfinie comme
\dynamicUp
, ou bien une expression musicale telle que\accidentalStyle dodecaphonic
:\score { \relative { a'4^"Nuance en surplomb" a a a a4 a a\ff a } \layout { \context { \Voice \dynamicUp } \context { \Staff \accidentalStyle dodecaphonic } } }
-
à l’aide d’une variable personnalisée contenant un bloc
\with
; pour de plus amples informations sur le bloc\with
, voir Modification d’un contexte particulier.StaffDefauts = \with { fontSize = #-4 } \score { \new Staff { \relative { a'4^"Petite police" a a a a4 a a a } } \layout { \context { \Staff \StaffDefauts } } }
Les instructions destinées à modifier les propriétés peuvent se placer
dans un bloc \layout
sans pour autant être incluses dans un bloc
\context
. Expliciter des réglages de la sorte équivaut à inclure
les commandes de modification des propriétés au début de chacun des
contextes du type en question. Lorsque le contexte n’est pas spécifié,
tous les contextes de bas niveau seront affectés – voir
Contextes de bas niveau – les voix. La syntaxe appropriée répond
aux mêmes critères que si la commande était écrite dans le flot
musical.
\score { \new Staff { \relative { a'4^"Petite police" a a a a4 a a a } } \layout { \accidentalStyle dodecaphonic \set fontSize = #-4 \override Voice.Stem.thickness = #4.0 } }
Modification d’un contexte particulier
Dans le cas d’un contexte pris individuellement, ses propriétés se
modifient à l’aide d’un bloc \with
. Toutes les autres instances
de contexte appartenant au même type seront affectées des réglages
prédéfinis par LilyPond, modifiés le cas échéant au sein d’un bloc
\layout
. Le bloc \with
se place directement à la suite de
la commande \new
type-de-contexte.
\new Staff \with { [réglages pour ce contexte pris individuellement] } { … }
De la même manière, si la musique est saisie à la suite d’une commande
abrégée, telle que \chords
au lieu de \chordmode
,
l’instruction \with
viendra se placer juste après la commande
spécifiant le mode :
\chords \with { [réglages pour ce contexte (implicite) pris individuellement] } { … }
puisque c’est le contexte implicite alors créé qui devra être modifié.
Cette manière de procéder s’applique à toutes les autres formes abrégées
de spécification du mode de saisie (\drums
, \figures
) –
voir Modes de saisie.
Dans la mesure où une telle « modification de contexte » est spécifiée au sein même de la musique, ses effets toucheront toutes les sorties (imprimable et Midi), contrairement à ce qui se passe lorsque les adaptations sont réalisées dans la définition d’une sortie.
La spécification des adaptations peut se faire de différentes manières :
-
à l’aide d’une commande
\override
, sans lui adjoindre le nom du contexte :\score { \new Staff { \new Voice \with { \override Stem.thickness = #4.0 } { \relative { a'4^"Hampes épaisses" a a a a4 a a a } } } }
-
en définissant directement une propriété de contexte :
\score { << \new Staff { \relative { a'4^"Default font" a a a a4 a a a } } \new Staff \with { fontSize = #-4 } { \relative { a'4^"Smaller font" a a a a4 a a a } } >> }
-
à l’aide d’une commande prédéfinie comme
\dynamicUp
:\score { << \new Staff { \new Voice { \relative { a'4^"Nuances en dessous" a a a a4 a a\ff a } } } \new Staff \with { \accidentalStyle dodecaphonic } { \new Voice \with { \dynamicUp } { \relative { a'4^"Nuances en surplomb" a a a a4 a a\ff a } } } >> }
Voir aussi
Manuel de notation : Modes de saisie.
Ordre de préséance
La valeur d’une propriété qui doit s’appliquer à un instant particulier est déterminée comme suit :
-
s’il y a une instruction
\override
ou\set
active dans le flot d’information, sa valeur s’applique, -
en l’absence de quoi sera utilisée la valeur par défaut telle que
définie dans une clause
\with
stipulée à l’initialisation du contexte, -
en l’absence de quoi sera retenue la valeur par défaut issue du bloc
\context
approprié le plus récent dans les blocs\layout
ou\midi
, - en l’absence de quoi s’appliqueront les réglages prédéfinis de LilyPond.
Voir aussi
Manuel d’initiation : Modification des propriétés d'un contexte.
Manuel de notation :
Contextes de bas niveau – les voix,
La commande de dérogation \override
,
La commande de fixation \set
,
Le bloc \layout
,
Tout savoir sur les contextes.