@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@c This file is part of lilypond-learning.tely
@ignore
- Translation of GIT committish: a4836ce5ec9488d795344735f2febc880fbb6a2f
+ Translation of GIT committish: db53c05f11bea8831733b1fdf7ebe32cb1f491f4
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
@end ignore
-@c \version "2.11.61"
+@c \version "2.12.0"
@c Translators: Valentin Villenave, Jean-Charles Malahieude
@c Translation checkers: John Mandereau
+@c Translation status: post-GDP
@node Fundamental concepts
@chapter Fundamental concepts
@example
\version @w{"@version{}"}
+\header @{ @}
\score @{
@var{...expression musicale composite...} % c'est là qu'est la musique !
- \header @{ @}
\layout @{ @}
\midi @{ @}
@}
musicale simple, LilyPond interprètera le fichier tout comme si cette
expression était incluse dans les commandes de notre premier exemple.
-@cindex implicit contexts
+@cindex contextes implicites
+@cindex implicites, contextes
@strong{Attention :} de nombreux exemples, dans la documentation de
LilyPond, ne font pas apparaître les commandes @code{\new Staff} ou
@example
@{
- \new GrandStaff <<
+ \new StaffGroup <<
@var{...collez ici la partition complète d'un opéra de Wagner...}
>>
@}
@funindex \header
@funindex \layout
@funindex \midi
+@funindex midi
@cindex header
@cindex en-tête
@cindex layout
@cindex mise en forme
@cindex midi
+@noindent
Gardez à l'esprit que ces trois commandes -- @code{\header},
-@code{\layout} et @code{\midi} -- sont spécifiques : à l'inverse de
-toutes les commandes débutant par une oblique inversée (@emph{backshash}
-pour @code{\}), @emph{elles ne constituent pas} des expressions
-musicales et ne seront donc pas interprétées comme telles. Elles
-peuvent de ce fait être mentionnées à l'intérieur du bloc @code{\score},
-tout comme à l'extérieur. En réalité, ces commandes sont la plupart du
-temps indépendantes du bloc @code{\score} -- par exemple, la commande
-@code{\header} intervient bien souvent avant le bloc @code{\score} tout
-simplement parce que les en-têtes apparaissent au début de la partition.
-C'est donc l'un des raccourcis que LilyPond prendra en considération.
+@code{\layout} et @code{\midi} -- sont spécifiques : à l'inverse de
+toutes les commandes débutant par une oblique inversée @code{\}
+(@emph{backslash} en anglais), @strong{elles ne constituent pas} des
+expressions musicales et ne peuvent pas faire partie d'expressions
+musicales. Elles peuvent de ce fait être placées à l'intérieur du
+bloc @code{\score}, ou bien à l'extérieur. En réalité, ces commandes
+sont la plupart du temps indépendantes du bloc @code{\score} -- par
+exemple, la commande @code{\header} intervient souvent avant le bloc
+@code{\score}, comme le montre l'exemple ci-dessus.
Les deux autres commandes -- @code{\layout @{ @}} et @code{\midi @{@}}
-que nous n'avons pas détaillées pour l'instant -- auront respectivement
+-- que nous n'avons pas détaillées pour l'instant, auront respectivement
pour effet, lorsqu'elles interviennent, de produire une sortie
imprimable et un fichier MIDI. Nous nous y intéressons plus
-particulièrement dans le manuel de notation, aux chapitres @ruser{Score
-layout} et @ruser{Creating MIDI files}.
+particulièrement dans le manuel de notation, aux chapitres
+@ruser{Score layout} et @ruser{Creating MIDI files}.
-@cindex scores, multiples
+@cindex partitions multiples
+@cindex book, bloc implicite
+@cindex implicite, bloc book
+@funindex \book
+@funindex book
Vous pouvez tout à fait mentionner plusieurs blocs @code{\score}. Ils
seront traités comme autant de partitions indépendantes qui seront
@code{laTeteAToto}, tant qu'il ne s'agit pas de @qq{mot réservé}. Pour
plus de détails, voir @ref{Saving typing with variables and functions}.
-@seealso
+@seealso
Pour une description complète du format des fichiers d'entrée, voir
@ruser{File structure}.
@subsection Score is a (single) compound musical expression
@funindex \score
+@funindex score
@cindex partition
+@cindex bloc score, contenu
@cindex Expression musicale composite
Dans la section précédente,
diable peut-on savoir quoi mettre après @code{\score} ?
En fait, nous ne l'avons pas éludée du tout : le grand mystère est
-tout simplement qu'il n'y a @emph{pas} de mystère. Allez,
+tout simplement qu'@strong{il n'y a pas} de mystère. Allez,
expliquons-le en une ligne :
@quotation
@example
\score @{
@{ % cette accolade marque le début de l'expression musicale
- \new GrandStaff <<
+ \new StaffGroup <<
@var{...insérez ici l'intégralité d'un opéra de Wagner...}
>>
@} % cette accolade marque la fin de l'expression musicale
@end example
Un opéra de Wagner multiplierait facilement la longueur de ce manuel
-par deux ou trois, alors faisons-le en version chant/piano. On n'a
-plus besoin d'une partition d'orchestre --- @code{GrandStaff}, qui sert
-à regrouper les portées au moyen d'une accolade sur la gauche --- donc
-laissons cela de côté. Par contre, un chanteur et un piano
-@emph{pourraient} nous être utiles.
+par deux ou trois, alors contentons-nous d'une voix et d'un piano. On
+n'a plus besoin d'une partition d'orchestre --- @emph{i.e.} des
+portées regroupées en @code{StaffGroup} --- donc laissons cela de
+côté. Par contre, nous voulons bien une voix et un piano.
@example
\score @{
Mais si l'on procédait ainsi, la section @code{\score} deviendrait
vite assez touffue, et très rapidement on ne s'y retrouverait plus.
C'est pourquoi on utilisera plutôt des variables, ou identificateurs.
-avec quelques notes de plus, nous pourrions avoir :
+Avec quelques notes de plus, nous pourrions avoir :
@lilypond[verbatim,quote,ragged-right]
melody = \relative c'' { r4 d8\noBeam g, c4 r }
assurez-vous que chaque élément d'un même niveau a le même décalage
horizontal dans votre éditeur de texte !
-@seealso
+@seealso
Manuel de notation : @ruser{Structure of a score}.
<<
{ f c c }
\new Staff \with {
- alignAboveContext = "main" }
+ alignAboveContext = #"main" }
{ f8 f c }
>>
r4 |
@subsection On the un-nestedness of brackets and ties
@cindex crochets, imbrication
+@cindex crochets, types de
Nous avons déjà rencontré plusieurs types de crochets au fil de nos
fichiers LilyPond. Ils obéissent à des règles différentes qui peuvent
@item @code{< .. >}
@tab Délimite les notes d'un accord
@item @code{<< .. >>}
- @tab Délimite des sections simultanées
+ @tab Délimitent des sections simultanées
@item @code{( .. )}
- @tab Marquent le début et la fin d'une liaison
+ @tab Marque le début et la fin d'une liaison
@item @code{\( .. \)}
- @tab Marquent le début et la fin d'une liaison de phrasé
+ @tab Marque le début et la fin d'une liaison de phrasé
@item @code{[ .. ]}
- @tab Marquent le début et la fin d'une ligature manuelle
+ @tab Marque le début et la fin d'une ligature manuelle
@end multitable
D'autres constructions permettent d'obtenir des lignes regroupant ou en
-travers des notes : les liaisons de prolongation (indiquées par un
-tilde, @code{~}), les marques de nolet avec
-@code{\times@tie{}x/y@tie{}@{..@}} ou
+travers des notes : les liaisons de prolongation indiquées par un
+tilde (@code{~}), les marques de nolet avec
+@code{\times@tie{}x/y@tie{}@{..@}}, ou
encore les notes d'ornement avec @code{\grace@{..@}}.
En dehors de LilyPond, l'imbrication correcte de différents types de
crochets exige un strict respect des conventions, telles que
-@code{<< [ @{ ( .. ) @} ] >>}, où les marques de fermeture interviennent
+@code{<<@tie{}[@tie{}@{@tie{}(@tie{}..@tie{})@tie{}@}@tie{}]@tie{}>>},
+où les marques de fermeture interviennent
obligatoirement dans l'ordre exactement inverse à celles d'ouverture.
Ceci @strong{doit} être rigoureusement respecté pour les trois
-types de crochets utilisés pour @emph{délimiter} comme l'indique le
+types de crochets utilisés pour @strong{délimiter} comme l'indique le
tableau ci-dessus.
Une telle rigueur dans l'imbrication n'est @strong{pas} requise pour les
-types de crochets dont la fonction est de @emph{marquer}, selon le
+types de crochets dont la fonction est de @strong{marquer}, selon le
tableau ci-dessus, lorsqu'il sont utilisés en combinaison avec des
liaisons de prolongation ou des nolets. En effet, il ne s'agit pas
de crochets ayant pour fonction de borner quelque chose ; ils agissent
@cindex contexte de voix
@cindex musique simultanée
@cindex musique concurrente
+@cindex voix ou accords
+@cindex accords ou voix
Dans une partition gérée par LilyPond, le niveau le plus bas, ou bien
-élémentaire ou fondamental, est le @q{contexte de voix} -- @emph{Voice
+élémentaire ou fondamental, est le @qq{contexte de voix} -- @emph{Voice
context} en anglais --. Pour d'autres logiciels, on fait tantôt
-référence à la notion de @q{couche} ou de @q{calque}.
+référence à la notion de @qq{couche} ou de @qq{calque}.
En réalité, le contexte de voix est le seul à pouvoir contenir de la
musique. S'il n'est pas déclaré explicitement, il sera créé
Le plus sûr moyen de saisir un fragment où plusieurs voix cohabitent
sur la même portée, consiste à saisir chacune des voix séquentiellement
(avec @code{@{...@}}), puis à les combiner en simultané à l'aide de
-doubles chevrons geuche/droite, @code{<<...>>}. Les fragments
+doubles chevrons gauche/droite, @code{<<...>>}. Les fragments
devront être séparés par une double oblique inversée, @code{\\}, pour
les affecter à des voix séparées. Dans le cas contraire, les notes
seraient toutes affectées à une même voix, ce qui pourait générer des
@end lilypond
+@cindex voix, nomage
+@cindex voix et constructions simultanées
+@cindex liaisons et constructions simultanées
+
Cet exemple ne comporte que deux voix, mais il peut être étendu pour
traiter trois voix ou plus en ajoutant autant de séparateurs @code{\\}
que de besoin.
}
@end lilypond
-Ces voix sont séparées de la voix principale laquelle contient les notes en
+Ces voix sont séparées de la voix principale, laquelle contient les notes en
dehors de la construction @code{<< .. >>} -- que nous appellerons
@emph{construction simultanée}. Les liaisons, de prolongation ou non,
ne peuvent relier des notes que si elles appartiennent à la même voix ;
couleur des hampes et ligatures et le style de tête des notes, pour
permettre une meilleure distinction entre les différentes voix. La
première voix comporte des têtes en losange rouge, la deuxième en
-triangle bleu, la troisième en cercles barré vert, la quatrième (non
+triangle bleu, la troisième en cercle barré vert, la quatrième (non
utilisée ici) en croix magenta ; @code{\voiceNeutralStyle} (non utilisé
ici) revient au style par défaut. Nous verrons plus tard comment créer
de telles commandes.
La direction des hampes sert souvent à indiquer dans la continuité deux
lignes mélodiques simultanées. Ici, les hampes des notes les plus
hautes vont vers le haut, et celles des notes plus basses vers le
-bas. C'est une première incation que nous avons eu recours à plus d'une
-voix.
+bas. C'est une première indication que nous avons eu recours à plus
+d'une voix.
Mais le réel besoin de multiples voix se fait sentir dès lors que
plusieurs notes qui débutent en même temps ont des durées différentes.
C'est évident au troisième temps de la première mesure : le la bémol est
une noire pointée, le fa une noire, et le ré bémol une blanche. On ne
peut les grouper dans un accord, puisque toutes les notes composant un
-accord doivent être de même durée. On ne peut non plus les ecrire
+accord doivent être de même durée. On ne peut non plus les écrire
séquentiellement, puisqu'elles débutent toutes au même instant. Ce
fragment de mesure nécessite trois voix, et une bonne pratique voudrait
que l'intégralité de la mesure soit sur trois voix, comme ci-dessous où
-nous avons une allure et une couleur différentes aux motes de chacune
+nous avons une allure et une couleur différentes aux notes de chacune
d'entre elles. Une fois de plus, nous reviendrons plus tard sur le code
que vous ne comprendriez pas.
moyens d'ajuster le positionnement horizontal des notes. Nous ne sommes
pas encore tout à fait prêts pour voir comment corriger cela, aussi nous
examinerons ce problème dans un autre chapitre (voir la propriété
-@code{force-hshift} dans @ref{Fixing overlapping notation}).
+@code{force-hshift} dans @ref{Fixing overlapping notation}).
-@seealso
+@seealso
Manuel de notation : @ruser{Multiple voices}.
@subsection Explicitly instantiating voices
@funindex \voiceOne
+@funindex voiceOne
@funindex \voiceTwo
+@funindex voiceTwo
@funindex \voiceThree
+@funindex voiceThree
@funindex \voiceFour
+@funindex voiceFour
@funindex \oneVoice
+@funindex oneVoice
@funindex \new Voice
@cindex Voice, création de contextes
>>
@end lilypond
+@cindex Voice, retour à un seul contexte
+@cindex retour à un contexte Voice unique
+
Les commandes @code{\voiceXXX} fixent la direction des hampes, des
liaisons de prolongation et de phrasé, des articulations, des
annotations, des points d'augmentation des notes pointées et des
critères normaux.
Voyons, à l'aide de ces exemples simples, les effets respectifs de
-@code{\oneVoice}, @code{\voiceOne} et @code{voiceTwo} sur les
+@code{\oneVoice}, @code{\voiceOne} et @code{\voiceTwo} sur les
annotations, liaisons de prolongation ou de phrasé, et sur les nuances.
@lilypond[quote,ragged-right,verbatim]
}
@end lilypond
-@cindex spacing notes
+@cindex espacement des notes
Cette manière de brièvement imbriquer des voix est bien utile pour de
courts fragments de musique polyphonique. Mais lorsqu'une portée est
@cindex note column
@cindex empilement de notes
+@cindex collisions de notes
@cindex shift, commandes
@cindex décalage, commandes
@funindex \shiftOff
+@funindex shiftOff
@funindex \shiftOn
+@funindex shiftOn
@funindex \shiftOnn
+@funindex shiftOnn
@funindex \shiftOnnn
+@funindex shiftOnnn
Les notes rapprochées d'un accord, ou des notes de différentes voix qui
tombent ensemble, seront rangées sur deux colonnes, voire plus, pour
l'attribution d'un décalage à une voix en particulier s'appliquera à
l'empilement en question s'il y avait risque de collision.
Nous en avons une illustration à la deuxième mesure de l'exemple
-ci-dessus : le do de la deuxième voix est décalé à droite du ré de la
+ci-dessus : le do de la deuxième voix est décalé à droite du ré de la
première voix et, dans l'accord final, le do de la troisième voix est
lui aussi décalé à droite des autres notes.
Les commandes @code{\shiftOn}, @code{\shiftOnn}, @code{\shiftOnnn}, et
@code{\shiftOff} spécifient le degré nécessaire de décalage qui sera
-appliqué aux notes au accords de la voix en question afin d'éviter une
+appliqué aux notes ou accords de la voix en question afin d'éviter une
collision. Par défaut, les voix extérieures -- normalement les
première et deuxième -- se verront attribuer @code{\shiftOff}, alors que
les voix intérieures -- trois et quatre -- se verront attribuer
@code{\shiftOnn} et @code{\shiftOnnn} définissent des degrés augmentés
de décalage auquel on peut devoir temporairement recourir dans des
-situations complexes -- voir Real music example
-@ref{Real music example}.
+situations complexes -- voir @ref{Real music example}.
Un empilement peut ne contenir qu'une note ou un accord dans une voix
aux hampes vers le haut, et une note ou un accord dans une voix
identiques, LilyPond vous le signalera par le message @qq{Trop
d'empilements en conflit}.
-@seealso
+@seealso
Manuel de notation : @ruser{Multiple voices}.
@funindex \new Lyrics
@funindex \lyricsto
+@funindex lyricsto
+@funindex Lyrics
@cindex Lyrics, création d'un contexte
@cindex paroles, affectation à une voix
@end lilypond
Notez bien que les paroles sont liées à un contexte de voix
-(@code{Voice}), @emph{non} à un contexte de portée (@code{Staff}). Il
+(@code{Voice}), @strong{non} à un contexte de portée (@code{Staff}). Il
est donc nécessaire de créer explicitement les contextes @code{Staff}
et @code{Voice}.
@cindex paroles et ligatures
@cindex ligatures et paroles
@funindex \autoBeamOff
+@funindex autoBeamOff
Si la ligature automatique que LilyPond applique par défaut
est pleinement adaptée en matière de musique instrumentale, il
afin de désactiver les ligatures automatiques.
@funindex \new ChoirStaff
+@funindex ChoirStaff
@funindex \lyricmode
+@funindex lyricmode
@cindex structure d'une partition vocale
+@cindex chœur, partie de
Nous allons reprendre un extrait de Judas Maccabæus pour illustrer ce
que cette technique apporte en flexibilité. Nous commençons par
-utiliser des variables afin de séparer de la structure d'une portée
+utiliser des variables afin de séparer de la structure de la portée
aussi bien la musique que les paroles. Nous ajoutons par la même
occasion un crochet spécifique aux portées pour chœur
(@code{ChoirStaff}). Quant aux blocs de paroles, nous les faisons
indépendants dès lors que leur longueur devient conséquente.
@cindex structure d'hymne
+@cindex SATB, structure
+@cindex partition vocale avec plusieurs couplets
+@cindex couplets multiples et musique vocale
Voici maintenant la première ligne d'une hymne pour chœur à quatre voix
mixtes, comportant quatre couplets. Les paroles sont ici identiques
pour les quatre voix. Vous remarquerez le recours aux variables afin de
séparer de la structure de portée les notes et les paroles. Vous
noterez aussi une variable particulière, que nous avons appelée
-@q{MetriqueArmure}, et qui contient plusieurs commandes que nous
+@qq{MetriqueArmure}, et qui contient plusieurs commandes que nous
utiliserons dans les deux portées. Dans de nombreux autres exemples,
-elle s'appelle @q{global}.
+elle s'appelle @qq{global}.
@lilypond[quote,verbatim]
TimeKey = { \time 4/4 \partial 4 \key c \major}
One two three four five six
}
\score {
- \new Choirstaff {
+ \new ChoirStaff {
\new Staff <<
\new Voice = "verse" {
\versenotes \break
<<
\refrainnotesA
\new Lyrics \lyricsto verse @{
- \refrainwordsA
+ \refrainparolesA
@}
\new Staff <<
\new Voice = "refrainB" @{
\refrainnotesB
@}
\new Lyrics \lyricsto "refrainB" @{
- \refrainwordsB
+ \refrainparolesB
@}
>>
>>
@cindex book, exemple d'utilisation
@cindex recueil, exemple d'utilisation
@funindex \book
+@funindex book
Bien que ce que nous venons de voir constitue un exercice intéressant et
fort utile pour comprendre comment s'articulent des blocs séquentiels et
}
@end lilypond
-@seealso
+@seealso
Manuel de notation : @ruser{Vocal music}.
En plus des contextes @code{Score,} @code{Staff} et @code{Voice} sont
disponibles d'autres contextes intermédiaires entre les niveaux
partition et portée, chargés de gérer certains regroupement, tels que
-@code{PianoStaff} ou @code{ChoirStaff}. Sont aussi disponibles d'autres
+@code{PianoStaff} ou @code{ChoirStaff}. Vous disposez aussi d'autres
contextes de portée ou de voix alternatifs, ainsi que des contextes
spécifiques pour les paroles, les percussions, les tablatures
-d'instruments frettés, la basse chifrée, etc.
+d'instruments frettés, la basse chiffrée, etc.
Le nom de chacun des contextes est formé d'un ou plusieurs mots aux
-initiales en majuscule et directements accolés les uns aux autres sans
+initiales en majuscule et directement accolés les uns aux autres sans
ponctuation, comme par exemple @code{GregorianTranscriptionStaff}.
-@seealso
+@seealso
Manuel de notation : @ruser{Contexts explained}.
@subsection Creating contexts
@funindex \new
+@funindex new
@cindex nouveaux contextes
@cindex Contextes, création de
Vous noterez la distinction entre le nom du type de contexte,
@code{Staff}, @code{Voice}, etc, et le nom -- une simple suite de
lettres au bon gré de l'utilisateur -- permettant d'identifier une
-instance particulière du type en question. Comme nous l'avons déjà vu
-dans le chapitre consacré aux paroles (@ref{Voices and vocals}),
-cet identifiant permettra ensuite de se référer à ce contexte particulier.
+instance particulière du type en question. Vous pouvez utiliser des
+chiffres et espaces, à la stricte condition d'englober le tout dans des
+guillemets ; l'identificateur suivant est tout à fait valide :
+@code{\new Staff = "MaPortee 1" @var{expression-musicale}}.
+Comme nous l'avons déjà vu dans le chapitre consacré aux paroles
+(@ref{Voices and vocals}), cet identifiant permettra ensuite de se
+référer à ce contexte particulier.
+
+
+@seealso
+Manuel de notation : @ruser{Creating contexts}.
@node Engravers explained
Nous verrons plus avant comment le résultat de LilyPond peut changer
lorsqu'on modifie l'action des graveurs.
-@seealso
+@seealso
Références internes : @rinternals{Engravers and Performers}.
@cindex propriétés d'un contexte, modification
@cindex modification des propriétés d'un contexte
@funindex \set
+@funindex set
@funindex \unset
+@funindex unset
Les contextes gèrent les différentes valeurs des nombreuses
@emph{propriétés} qui leur sont attachées. Beaucoup d'entre elles
@tab @code{50}
@item doubleSlurs
@tab Booléen
- @tab Si vrai, imprime les liaisons au-dessous et au-dessus des notes
+ @tab Si vrai, imprime les liaisons au-dessous @strong{et} au-dessus des notes
@tab @code{#t}, @code{#f}
@item instrumentName
@tab Texte
Il faudra donc, dans le cas d'une valeur boléenne, ne pas oublier de
saisir deux signes dièse -- par exemple @code{##t}.
+@cindex propriétés et contextes
+@cindex réglage de propriétés au sein des contextes
+
Avant de déterminer l'une de ces propriétés, nous devons savoir dans
-quel contexte elles interviennent. Si cela est bien souvent évident, il
+quel contexte elle intervient. Si cela est bien souvent évident, il
peut arriver que cela tourne au cauchemar. Lorsque vous ne spécifiez
pas le bon contexte, aucun message d'erreur ne s'affiche et l'effet
attendu n'est pas au rendez-vous. Par exemple, le @code{instrumentName}
est inconnu de LilyPond, rien ne se passera. Certains éditeurs de texte
disposent d'une prise en charge spécifique aux fichiers source LilyPond,
à l'instar de LilyPondTool couplé à JEdit et qui documente les noms des
-pripriétés dans une infobulle lorsque vous les survolez à la souris, ou
+propriétés dans une infobulle lorsque vous les survolez à la souris, ou
les souligne différemment s'ils sont inconnus, comme ConTEXT. Dans le
cas où votre éditeur ne dispose pas de ces fonctionnalités, nous vous
recommandons de vérifier le nom des propriétés que vous manipulez dans
@end lilypond
Nous venons de voir comment déterminer la valeur de différents types de
-propriétés. N'oubliez pas que les nombres, entiers ou réels, doivent
+propriété. N'oubliez pas que les nombres, entiers ou réels, doivent
être précédés d'un signe dièse (@code{#}) et les valeurs vrai ou faux de
deux signes dièse -- respectivement ##t et ##f --. Une valeur textuelle
doit être encadrée de guillemets anglais, @code{``@dots{ }''}, bien que,
@unnumberedsubsubsec Setting context properties with @code{\with}
@funindex \with
+@funindex with
@cindex propriétés d'un contexte, définition avec \with
Les propriétés d'un contexte peuvent aussi être réglées lors de la
de façon dynamique grâce à @code{\set} ; un @code{\unset} les ramènera à
leur valeur par défaut.
+@cindex fontSize, valeur par défaut et réglage
+
La propriété @code{fontSize} constitue une exception : lorsqu'elle est
déterminée au sein d'un bloc @code{\with}, cela redéfinit la valeur par
défaut de la taille de fonte. Une modification est possible par la
@unnumberedsubsubsec Setting context properties with @code{\context}
+@cindex propriétés d'un contexte, définition avec \context
+@funindex \context
+@funindex context
+
Vous pouvez régler les valeurs des propriétés de contexte en une seule
fois pour tous les contextes d'un même type, par exemple tous les
contextes @code{Staff}. Le type du contexte doit être donné
chacun des contextes en particulier grâce à un bloc @code{\with} ou bien
une commande @code{\set} au fil des notes.
-@seealso
-Manuel de notation : @ruser{Changing context default settings},
-@ruser{The set command}.
+@seealso
+Manuel de notation :
+@ruser{Changing context default settings},
+@c uncomment when backslash-node-name issue is resolved -pm
+@c @ruser{The set command}.
-Références internes : @rinternals{Contexts},
+Références internes :
+@rinternals{Contexts},
@rinternals{Tunable context properties}.
+
@node Adding and removing engravers
@subsection Adding and removing engravers
@cindex graveurs, suppression
@funindex \consists
+@funindex consists
@funindex \remove
+@funindex remove
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
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.
+lignes d'une portée sont générées par le @code{Staff_symbol_engraver}.
@lilypond[quote,verbatim,ragged-right]
\new Staff \with {
Vous pouvez aussi ajouter individuellement un graveur à un contexte. La
commande se formule ainsi :
-@code{\consists @emph{Nom_du_graveur}}
+@code{\consists @var{Nom_du_graveur}}
et se place dans un bloc @code{\with}. Certaines partitions vocales
font apparaître un @rglos{ambitus} au début de la portée, afin
@subsubheading Changing all contexts of the same type
@funindex \layout
+@funindex layout
Les exemples ci-dessus nous ont montré comment ajouter ou retirer des
graveurs à des contextes individuels. Nous pourrions aussi ajouter ou
d'un type particulier si vous insérez les commandes @code{\set} dans un
bloc @code{\context}.
-@seealso
+@seealso
Manuel de notation : @ruser{Modifying context plug-ins},
@ruser{Changing context default settings}.
Commencez par le modèle qui vous semblera le plus proche de ce à quoi
vous voulez aboutir. Disons par exemple que vous voulez écrire une pièce
-pour soprano et violoncelle : dans ce cas, l'on pourrait commencer par les
+pour soprano et violoncelle : dans ce cas, on pourrait commencer par les
@qq{notes et paroles}, pour la partie de soprano.
@example
@end example
On n'a pas besoin de deux commandes @code{\version}. Ce dont on a besoin,
-c'est dela section @code{melodie}. De même, on n'a pas besoin de deux
-sections @code{\score} --- si nous les gardions toutes les deux, on
-obtiendrait deux parties séparées ; mais nous voulons un vrai duo, avec
-les deux parties ensemble. Dans la section @code{\score}, on n'a pas
-besoin non plus de deux @code{\layout} ni de deux @code{\midi}.
+c'est de la section @code{melodie}. De même, on n'a pas besoin de deux sections
+@code{\score} --- si nous les gardions toutes les deux, on obtiendrait deux
+parties séparées ; mais nous voulons un vrai duo, avec les deux
+parties ensemble. Dans la section @code{\score}, on n'a pas besoin
+non plus de deux @code{\layout} ni de deux @code{\midi}.
Si on se contente de couper et coller les sections @code{melodie}, on se
retrouvera avec deux sections de ce nom ; il nous faut donc les renommer.
}
@end lilypond
-@seealso
+@seealso
Les patrons originaux sont disponibles à l'annexe @qq{Modèles}, voir
@ref{Single staff}.
<< % combine ChoirStaff and PianoStaff in parallel
\new ChoirStaff <<
\new Staff = "sopranos" <<
- \set Staff.instrumentName = "Soprano"
+ \set Staff.instrumentName = #"Soprano"
\new Voice = "sopranos" { \global \sopranoMusic }
>>
\new Lyrics \lyricsto "sopranos" { \sopranoWords }
\new Staff = "altos" <<
- \set Staff.instrumentName = "Alto"
+ \set Staff.instrumentName = #"Alto"
\new Voice = "altos" { \global \altoMusic }
>>
\new Lyrics \lyricsto "altos" { \altoWords }
\new Staff = "tenors" <<
- \set Staff.instrumentName = "Tenor"
+ \set Staff.instrumentName = #"Tenor"
\new Voice = "tenors" { \global \tenorMusic }
>>
\new Lyrics \lyricsto "tenors" { \tenorWords }
\new Staff = "basses" <<
- \set Staff.instrumentName = "Bass"
+ \set Staff.instrumentName = #"Bass"
\new Voice = "basses" { \global \bassMusic }
>>
\new Lyrics \lyricsto "basses" { \bassWords }
>> % end ChoirStaff
\new PianoStaff <<
- \set PianoStaff.instrumentName = "Piano"
+ \set PianoStaff.instrumentName = #"Piano"
\new Staff = "upper" \upper
\new Staff = "lower" \lower
>>
@end lilypond
Aucun des modèles ne permet d'arriver exactement à cette mise en forme.
-Celui qui s'en rapprocherait le plus est @q{SATB vocal score and
+Celui qui s'en rapprocherait le plus est @qq{SATB vocal score and
automatic piano reduction} -- voir @ref{Vocal ensembles} -- mais encore
faudrait-il en modifier la mise en forme et refaire la partie de
piano qui n'est plus une simple reprise des parties vocales. Les
@example
\new ChoirStaff <<
\new Staff = "sopranos" <<
- \set Staff.instrumentName = "Soprano"
+ \set Staff.instrumentName = #"Soprano"
\new Voice = "sopranos" @{ \global \sopranoMusique @}
>>
\new Lyrics \lyricsto "sopranos" @{ \sopranoParoles @}
\new Staff = "altos" <<
- \set Staff.instrumentName = "Alto"
+ \set Staff.instrumentName = #"Alto"
\new Voice = "altos" @{ \global \altoMusique @}
>>
\new Lyrics \lyricsto "altos" @{ \altoParoles @}
\new Staff = "tenors" <<
- \set Staff.instrumentName = "Tenor"
+ \set Staff.instrumentName = #"Tenor"
\new Voice = "tenors" @{ \global \tenorMusique @}
>>
\new Lyrics \lyricsto "tenors" @{ \tenorParoless @}
\new Staff = "basses" <<
- \set Staff.instrumentName = "Bass"
+ \set Staff.instrumentName = #"Bass"
\new Voice = "basses" @{ \global \basseMusique @}
>>
\new Lyrics \lyricsto "basses" @{ \basseParoles @}
@example
\new PianoStaff <<
- \set PianoStaff.instrumentName = "Piano "
+ \set PianoStaff.instrumentName = #"Piano "
\new Staff = "upper" \superieur
\new Staff = "lower" \inferieur
>>
>> % end ChoirStaff
\new PianoStaff <<
- \set PianoStaff.instrumentName = "Piano"
+ \set PianoStaff.instrumentName = #"Piano"
\new Staff = "upper" \superieur
\new Staff = "lower" \inferieur
>>
<< % combine ChoirStaff and PianoStaff in parallel
\new ChoirStaff <<
\new Staff = "sopranos" <<
- \set Staff.instrumentName = "Soprano"
+ \set Staff.instrumentName = #"Soprano"
\new Voice = "sopranos" { \global \sopranoMusic }
>>
\new Lyrics \lyricsto "sopranos" { \sopranoWords }
\new Staff = "altos" <<
- \set Staff.instrumentName = "Alto"
+ \set Staff.instrumentName = #"Alto"
\new Voice = "altos" { \global \altoMusic }
>>
\new Lyrics \lyricsto "altos" { \altoWords }
\new Staff = "tenors" <<
- \set Staff.instrumentName = "Tenor"
+ \set Staff.instrumentName = #"Tenor"
\new Voice = "tenors" { \global \tenorMusic }
>>
\new Lyrics \lyricsto "tenors" { \tenorWords }
\new Staff = "basses" <<
- \set Staff.instrumentName = "Bass"
+ \set Staff.instrumentName = #"Bass"
\new Voice = "basses" { \global \bassMusic }
>>
\new Lyrics \lyricsto "basses" { \bassWords }
>> % end ChoirStaff
\new PianoStaff <<
- \set PianoStaff.instrumentName = "Piano "
+ \set PianoStaff.instrumentName = #"Piano "
\new Staff = "upper" \upper
\new Staff = "lower" \lower
>>
@subsection Building a score from scratch
@cindex modèles, création
+@cindex squelettes, création
Après avoir acquis une certaine dextérité dans l'écriture de code
LilyPond, vous devez vous sentir suffisament prêt à vous lancer dans
@example
\new PianoStaff <<
- \new Staff = "ManualOne" <<
+ \new Staff = "ManuelUn" <<
\new Voice @{ \ManuelUnVoixUnMusique @}
\new Voice @{ \ManuelUnVoixDeuxMusique @}
>> % fin du contexte de portée ManuelUn
- \new Staff = "ManualTwo" <<
+ \new Staff = "ManuelDeux" <<
\new Voice @{ \ManuelDeuxMusique @}
>> % fin du contexte de portée ManuelDeux
>> % fin du contexte PianoStaff
Négliger ceci nous renverrait une erreur, et personne n'est à l'abri de
cette faute ! Pour preuve, il vous suffit de copier l'exemple complet en
fin de chapitre, de supprimer ces @code{<<} et @code{>>}, et de le
-compiler, pour savoir de quoi il retourne.
+compiler, pour voir de quoi il retourne.
@example
<< % Système pianistique et portée de pédalier sont synchrones
\new PianoStaff <<
- \new Staff = "ManualOne" <<
+ \new Staff = "ManuelUn" <<
\new Voice @{ \ManuelUnVoixUnMusique @}
\new Voice @{ \ManuelUnVoixDeuxMusique @}
>> % fin du contexte de portée ManuelUn
- \new Staff = "ManualTwo" <<
+ \new Staff = "ManualDeux" <<
\new Voice @{ \ManuelDeuxMusique @}
>> % fin du contexte de portée ManuelDeux
>> % fin du contexte PianoStaff
- \new Staff = "PedalOrgan" <<
+ \new Staff = "PedalierOrgue" <<
\new Voice @{ \PedalierOrgueMusique @}
>>
>>
\score @{
<< % Système pianistique et portée de pédalier sont synchrones
\new PianoStaff <<
- \new Staff = "ManualOne" <<
+ \new Staff = "ManuelUn" <<
\TimeKey % définition de la métrique et de l'armure
\clef "treble"
\new Voice @{ \voiceOne \ManuelUnVoixUnMusique @}
\new Voice @{ \voiceTwo \ManuelUnVoixDeuxMusique @}
>> % fin du contexte de la portée ManuelUn
- \new Staff = "ManualTwo" <<
+ \new Staff = "ManuelDeux" <<
\TimeKey
\clef "bass"
\new Voice @{ \ManuelDeuxMusique @}
>> % fin du contexte de la portée ManuelDeux
>> % fin du contexte PianoStaff
- \new Staff = "PedalOrgan" <<
+ \new Staff = "PedalierOrgue" <<
\TimeKey
\clef "bass"
\new Voice @{ \PedalierOrgueMusique @}