]> git.donarmstrong.com Git - lilypond.git/commitdiff
Merge branch 'master' into translation
authorJean-Charles Malahieude <lilyfan@orange.fr>
Tue, 21 Feb 2017 14:32:06 +0000 (15:32 +0100)
committerJean-Charles Malahieude <lilyfan@orange.fr>
Tue, 21 Feb 2017 14:32:06 +0000 (15:32 +0100)
Documentation/fr/changes.tely
Documentation/fr/learning/fundamental.itely
Documentation/fr/notation/changing-defaults.itely
Documentation/fr/notation/editorial.itely
Documentation/fr/notation/percussion.itely
Documentation/fr/notation/pitches.itely
Documentation/fr/notation/staff.itely
Documentation/fr/texidocs/transposing-pitches-with-minimum-accidentals-smart-transpose.texidoc
Documentation/fr/web/community.itexi

index 16e47f70748167fc4a1680a5c8cbe28b13e4c5da..b0d7469d00c72757ef0cd10233ed8b3eb1d0efd5 100644 (file)
@@ -1,6 +1,6 @@
 \input texinfo @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 @ignore
-    Translation of GIT committish: a9bf7727fb66d7a17abe31b9004c846fc781fcf9
+    Translation of GIT committish: 04597b1cc93b4f1bf365506dc5badc08f34b84e8
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
index 87bcfe5baecf6dea934b6a5f052260496f64102b..307daf8b3e7225cf9c2ae7b5731cf798afe83f75 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 
 @ignore
-   Translation of GIT committish: a1267e20afa61258ce3031f07d916e0e66ac6582
+   Translation of GIT committish: 64c8064154e24ff2a07e553ecdbda409f1726487
 
    When revising a translation, copy the HEAD committish of the
    version that you are working on.  For details, see the Contributors'
@@ -1758,32 +1758,33 @@ Avant de déterminer l'une de ces propriétés, nous devons savoir dans
 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 de manière incontestable membre du contexte @code{Staff}, puisque
-c'est bien la portée que l'on va nommer.
-Dans l'exemple suivant, la première portée affiche effectivement un nom,
-alors que ce n'est pas le cas pour la deuxième dans la mesure où le
-contexte n'a pas été spécifié.
+attendu n'est pas au rendez-vous.  Par exemple, le @code{clefGlyph} est
+de manière incontestable membre du contexte @code{Staff}, puisque c'est
+bien le glyphe de clef de la portée qui doit être changé.
+Dans l'exemple suivant, la première portée affiche effectivement la
+bonne clef, alors que ce n'est pas le cas pour la deuxième -- qui porte
+la clef de sol par défaut au lieu d'une clef de basse (clef de fa) --
+dans la mesure où le contexte n'a pas été spécifié.
 
 @lilypond[quote,verbatim,ragged-right]
 <<
   \new Staff \relative {
-    \set Staff.instrumentName = #"Soprano"
+    \set Staff.clefGlyph = "clefs.C"
     c''4 c
  }
   \new Staff \relative {
-  \set instrumentName = #"Alto"  % Wrong!
+    \set clefGlyph = "clefs.F"  % Wrong!
   d'4 d
  }
 >>
 @end lilypond
 
 Dans la mesure où le nom de contexte par défaut est @code{Voice}, la
-deuxième commande @code{\set} a défini @qq{Alto} comme propriété
-@code{instrumentName} du contexte de voix.  Puisque LilyPond n'ira pas
-chercher une telle propriété dans le contexte @code{Voice}, celle-ci ne
-sera pas interprétée.  Il ne s'agit pas d'une erreur, aucun message
-d'erreur ne sera ni émis ni enregistré.
+deuxième commande @code{\set} a défini la propriété @code{clefGlyph}
+dans le contexte de voix.  Puisque LilyPond n'ira pas chercher une telle
+propriété dans le contexte @code{Voice}, celle-ci ne sera pas
+interprétée.  Il ne s'agit pas d'une erreur, aucun message d'erreur ne
+sera ni émis ni enregistré.
 
 De la même manière, une faute d'orthographe dans le nom de la propriété
 ne générera aucun message d'erreur et l'action escomptée ne se produira
@@ -1800,7 +1801,7 @@ recommandons de vérifier le nom des propriétés que vous manipulez dans
 la Référence des propriétés internes -- voir
 @rinternals{Tunable context properties}, ou @rinternals{Contexts}.
 
-La propriété @code{instrumentName} ne sera prise en compte que si elle
+La propriété @code{clefGlyph} ne sera prise en compte que si elle
 est définie dans un contexte @code{Staff} ; d'autres propriétés
 peuvent par contre être définies dans plusieurs contextes différents.
 C'est le cas de la propriété @code{extraNatural} qui est définie par
@@ -2452,8 +2453,9 @@ lower = \relative {
 \score {
   <<  % combine ChoirStaff and PianoStaff in parallel
     \new ChoirStaff <<
-      \new Staff = "sopranos" <<
-        \set Staff.instrumentName = #"Soprano"
+      \new Staff = "sopranos"
+      \with { instrumentName = #"Soprano" }
+      <<
         \new Voice = "sopranos" {
           \global
           \sopranoMusic
@@ -2462,24 +2464,31 @@ lower = \relative {
       \new Lyrics \lyricsto "sopranos" {
         \sopranoWords
       }
-      \new Staff = "altos" <<
-        \set Staff.instrumentName = #"Alto"
+      \new Staff = "altos"
+      \with { instrumentName = #"Alto" }
+      <<
         \new Voice = "altos" {
           \global
           \altoMusic
         }
       >>
-      \new Lyrics \lyricsto "altos" { \altoWords }
-      \new Staff = "tenors" <<
-        \set Staff.instrumentName = #"Tenor"
+      \new Lyrics \lyricsto "altos" {
+        \altoWords
+      }
+      \new Staff = "tenors"
+      \with { instrumentName = #"Tenor" }
+      <<
         \new Voice = "tenors" {
           \global
           \tenorMusic
         }
       >>
-      \new Lyrics \lyricsto "tenors" { \tenorWords }
-      \new Staff = "basses" <<
-        \set Staff.instrumentName = #"Bass"
+      \new Lyrics \lyricsto "tenors" {
+        \tenorWords
+      }
+      \new Staff = "basses"
+      \with { instrumentName = #"Bass" }
+      <<
         \new Voice = "basses" {
           \global
           \bassMusic
@@ -2489,8 +2498,8 @@ lower = \relative {
         \bassWords
       }
     >>  % end ChoirStaff
-    \new PianoStaff <<
-      \set PianoStaff.instrumentName = #"Piano"
+    \new PianoStaff \with { instrumentName = #"Piano" }
+    <<
       \new Staff = "upper" \upper
       \new Staff = "lower" \lower
     >>
@@ -2530,47 +2539,51 @@ Une fois tout ceci accompli, voici notre @code{ChoirStaff} :
 
 @example
 \new ChoirStaff <<
-  \new Staff = "sopranos" <<
-    \set Staff.instrumentName = #"Soprano"
+  \new Staff = "sopranos"
+  \with @{ instrumentName = #"Soprano" @}
+  <<
     \new Voice = "sopranos" @{
       \global
-      \sopranoMusique
+      \sopranoMusic
     @}
   >>
   \new Lyrics \lyricsto "sopranos" @{
-    \sopranoParoles
+    \sopranoWords
   @}
-  \new Staff = "altos" <<
-    \set Staff.instrumentName = #"Alto"
+  \new Staff = "altos"
+  \with @{ instrumentName = #"Alto" @}
+  <<
     \new Voice = "altos" @{
       \global
-      \altoMusique
+      \altoMusic
     @}
   >>
   \new Lyrics \lyricsto "altos" @{
-    \altoParoles
+    \altoWords
   @}
-  \new Staff = "tenors" <<
-    \set Staff.instrumentName = #"Tenor"
+  \new Staff = "tenors"
+  \with @{ instrumentName = #"Tenor" @}
+  <<
     \new Voice = "tenors" @{
       \global
-      \tenorMusique
+      \tenorMusic
     @}
   >>
   \new Lyrics \lyricsto "tenors" @{
-    \tenorParoles
+    \tenorWords
   @}
-  \new Staff = "basses" <<
-    \set Staff.instrumentName = #"Bass"
+  \new Staff = "basses"
+  \with @{ instrumentName = #"Bass" @}
+  <<
     \new Voice = "basses" @{
       \global
-      \bassMusique
+      \bassMusic
     @}
   >>
   \new Lyrics \lyricsto "basses" @{
-    \bassParoles
+    \bassWords
   @}
->>  % fin du ChoirStaff
+>>  % end ChoirStaff
 @end example
 
 Il nous faut maintenant nous occuper de la partie de piano.  Nous allons
@@ -2578,8 +2591,8 @@ nous contenter de récupérer la partie de piano du modèle @qq{Solo
 piano} :
 
 @example
-\new PianoStaff <<
-  \set PianoStaff.instrumentName = #"Piano  "
+\new PianoStaff \with @{ instrumentName = #"Piano" @}
+<<
   \new Staff = "upper" \superieur
   \new Staff = "lower" \inferieur
 >>
@@ -2592,52 +2605,52 @@ Les systèmes pour chœur et pour piano doivent être combinés à l'aide de
 doubles chevrons gauche/droite puisqu'ils doivent s'empiler :
 
 @example
-<<  % combine ChoirStaff et PianoStaff l'un au-dessus de l'autre
+<<  % combine ChoirStaff and PianoStaff one above the other
   \new ChoirStaff <<
     \new Staff = "sopranos" <<
       \new Voice = "sopranos" @{
         \global
-        \sopranoMusique
+        \sopranoMusic
       @}
     >>
     \new Lyrics \lyricsto "sopranos" @{
-      \sopranoParoles
+      \sopranoWords
      @}
     \new Staff = "altos" <<
       \new Voice = "altos" @{
         \global
-        \altoMusique
+        \altoMusic
       @}
     >>
     \new Lyrics \lyricsto "altos" @{
-      \altoParoles
+      \altoWords
     @}
     \new Staff = "tenors" <<
       \clef "G_8"  % tenor clef
       \new Voice = "tenors" @{
         \global
-        \tenorMusique
+        \tenorMusic
       @}
     >>
     \new Lyrics \lyricsto "tenors" @{
-      \tenorParoles
+      \tenorWords
     @}
     \new Staff = "basses" <<
       \clef "bass"
       \new Voice = "basses" @{
         \global
-        \bassMusique
+        \bassMusic
       @}
     >>
     \new Lyrics \lyricsto "basses" @{
-      \bassParoles
+      \bassWords
     @}
-  >>  % fin du ChoirStaff
+  >>  % end ChoirStaff
 
-  \new PianoStaff <<
-    \set PianoStaff.instrumentName = #"Piano"
-    \new Staff = "upper" \superieur
-    \new Staff = "lower" \inferieur
+  \new PianoStaff \with @{ instrumentName = #"Piano" @}
+  <<
+    \new Staff = "upper" \upper
+    \new Staff = "lower" \lower
   >>
 >>
 @end example
@@ -2687,8 +2700,9 @@ lower = \relative {
 \score {
   <<  % combine ChoirStaff and PianoStaff in parallel
     \new ChoirStaff <<
-      \new Staff = "sopranos" <<
-        \set Staff.instrumentName = #"Soprano"
+      \new Staff = "sopranos"
+      \with { instrumentName = #"Soprano" }
+      <<
         \new Voice = "sopranos" {
           \global
           \sopranoMusic
@@ -2697,8 +2711,9 @@ lower = \relative {
       \new Lyrics \lyricsto "sopranos" {
         \sopranoWords
       }
-      \new Staff = "altos" <<
-        \set Staff.instrumentName = #"Alto"
+      \new Staff = "altos"
+      \with { instrumentName = #"Alto" }
+      <<
         \new Voice = "altos" {
           \global
           \altoMusic
@@ -2707,8 +2722,9 @@ lower = \relative {
       \new Lyrics \lyricsto "altos" {
         \altoWords
       }
-      \new Staff = "tenors" <<
-        \set Staff.instrumentName = #"Tenor"
+      \new Staff = "tenors"
+      \with { instrumentName = #"Tenor" }
+      <<
         \new Voice = "tenors" {
           \global
           \tenorMusic
@@ -2717,8 +2733,9 @@ lower = \relative {
       \new Lyrics \lyricsto "tenors" {
         \tenorWords
       }
-      \new Staff = "basses" <<
-        \set Staff.instrumentName = #"Bass"
+      \new Staff = "basses"
+      \with { instrumentName = #"Bass" }
+      <<
         \new Voice = "basses" {
           \global
           \bassMusic
@@ -2729,8 +2746,9 @@ lower = \relative {
       }
     >>  % end ChoirStaff
 
-    \new PianoStaff <<
-      \set PianoStaff.instrumentName = #"Piano  "
+    \new PianoStaff
+    \with { instrumentName = #"Piano  " }
+    <<
       \new Staff = "upper" \upper
       \new Staff = "lower" \lower
     >>
index 41b8d48977d32c6507acd185ce9d6578f0c8021e..9e42db3b0c6b878e3fae44cff5a35b8d967d65c0 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 
 @ignore
-   Translation of GIT committish: 553410afdd9496f7d9f1498e755ea18de8e70596
+   Translation of GIT committish: 04597b1cc93b4f1bf365506dc5badc08f34b84e8
 
    When revising a translation, copy the HEAD committish of the
    version that you are working on.  For details, see the Contributors'
@@ -1948,6 +1948,7 @@ qu'est-ce qui est propre à LilyPond ?
 * La commande de dérogation (override)::
 * La commande d'affinage (tweak)::
 * set ou override::
+* La commande de décalage (offset)::
 * Modification de listes associatives::
 @end menu
 
@@ -2663,11 +2664,345 @@ ordinaires -- elles commencent par une minuscule -- se manipulent avec
 Les instructions spéciales @code{\tweak} et @code{\overrideProperty}
 modifient les propriétés de @emph{grob} en court-circuitant totalement
 les propriétés de contexte.  En fait, elles capturent les @emph{grobs}
-au moment de leur création pour y injecter directement des propriétés soit
-émanant d'un événement musical retouché par un @code{\tweak}, soit
+au moment de leur création pour y injecter directement des propriétés
+soit émanant d'un événement musical retouché par un @code{\tweak}, soit
 lorsqu'ils sont d'une qualité particulière (un @code{\overrideProperty}).
 
 
+@node La commande de décalage (offset)
+@subsection La commande de décalage @code{\offset}
+@translationof The offset command
+
+@funindex \offset
+@cindex décalage
+@cindex offset (décalage)
+
+Bien qu'il soit possible d'affecter de nouvelles valeurs aux propriétés
+d'un objet graphique à l'aide des commandes @code{\override},
+@code{\tweak} ou @code{\overrideProperty}, il est souvent plus pratique
+de modifier de telles propriétés par rapport à une valeur par défaut.
+Ceci est la raison d'être de la commande @code{\offset}.
+
+La commande @code{\offset} répond à la syntaxe suivante :
+
+@example
+[-]\offset @var{propriété} @var{décalages} @var{élément}
+@end example
+
+La commande @code{\offset} agit par addition du contenu de
+@var{décalage} au réglage par défaut de la propriété @var{propriété} de
+l'objet graphique indiqué par @var{élément}.
+
+Selon la manière dont la commande est formulée, @code{\offset} agira
+tantôt comme un @code{\tweak}, tantôt comme un @code{\override}.  Les
+différences entre ces utilisations seront abordées après avoir recensé
+les propriétés qui peuvent être soumises à un @code{\offset}.
+
+@subsubsubheading Propriétés acceptant des décalages
+@c VO Properties which may be offset
+
+Bon nombre de propriétés d'objet graphique, mais pas toutes, peuvent
+faire l'objet d'un décalage. Si d'aventure @var{propriété} ne peut être
+affectée, l'objet restera inchangé et sera émis un message
+d'avertissement.  En pareil cas, l'objet doit être modifié par un
+@code{\override} ou un @code{\tweak}.
+
+Il est toujours possible de procéder à tâtons et laisser les
+avertissement indiquer si tel objet peut ou ne peut pas être soumis à
+@code{\offset}.  Néanmoins, une approche plus systématique est possible.
+
+Les critères énoncés ci-après déterminent l'égibilité d'une propriété à
+être modifiée par la commande @code{\offset}.
+
+@itemize
+
+@item
+La propriété possède un « réglage par défaut » au niveau de la
+définition de l'objet graphique.  Les propriétés en question sont
+listées, pour chacun des @emph{grobs}, dans
+@rinternalsnamed{All layout objects, Tous les objets de rendu} -- on les
+trouvera aussi dans le fichier @file{scm/define-grobs.scm}.
+
+@item
+La propriété prend une valeur numérique.  Les valeurs numériques
+comprennent @code{number}, liste de @code{number}s, @code{number-pair}
+et @code{number-pair-list}. Les pages de
+@rinternalsnamed{All layout objects, Tous les objets de rendu}
+répertorient le type de donnée propre à chaque propriété.  Peu importe
+que le réglage par défaut soit une fonction.
+
+@item
+La propriété ne saurait constituer une « sous-propriété » -- une
+propriété résidant au sein d'une autre propriété.
+
+@item
+Les propriétés réglées sur des valeurs infinies ne peuvent faire l'objet
+d'un décalage.  Il n'y a aucun moyen d'influencer l'infini, qu'il soit
+positif ou négatif.
+@end itemize
+
+Les exemples qui suivent s'arrêtent sur plusieurs propriétés d'objet
+graphique au regard des critères énoncés ci-dessus.
+
+@itemize
+
+@item Propriétés qui peuvent être décalées
+
+@table @asis
+
+@item @code{Hairpin.height}
+Cette propriété n'est pas une sous-propriété, et est référencée à
+@rinternalsnamed{Hairpin, Soufflet}.  En tant que valeur, elle prend une
+« dimension, exprimée en espace de portée » réglée à @code{0.6666} --
+clairement une valeur @code{number} non infini.
+
+@item @code{Arpeggio.positions}
+La page @rinternalsnamed{Arpeggio, Arpeggio} référence une propriété
+@code{positions} qui accepte une « paire de nombres ». Sa valeur par
+défaut est @code{ly:arpeggio::positions} -- une fonction de rappel qui
+sera évaluée au cours de la phase de typographie pour donner une paire
+de nombres pour tout objet @code{Arpeggio}.
+
+@end table
+
+@item Propriétés qui ne peuvent être décalées
+
+@table @asis
+
+@item @code{Hairpin.color}
+Aucune référence à @code{color} n'est mentionnée dans
+@rinternalsnamed{Hairpin, Soufflet}.
+
+@item @code{Hairpin.circled-tip}
+La référence à @code{Hairpin.circled-tip} dans
+@rinternalsnamed{Hairpin, Soufflet} indique que cette propriété prend une
+valeur @code{boolean}. Les boléens ne sont pas des nombres.
+
+@item @code{Stem.details.lengths}
+Bien que mentionnée dans @rinternalsnamed{Stem, Hampe} et ayant par
+défaut une liste de @code{number}s, il s'agit d'une « sous-propriété ».
+Il n'existe à ce jour aucune prise en charge des « propriétés
+imbriquées ».
+
+@end table
+
+@end itemize
+
+
+@subsubsubheading @code{\offset} en tant que dérogation
+@c VO \offset as an override
+
+Lorsque @var{élément} est un nom d'objet graphique comme @code{Arpeggio}
+ou @code{Staff.OttavaBracket}, le comportement de la commande
+@code{\offset} est assimilable à un @code{\override} sur le type d'objet
+spécifié.
+
+@example
+\offset @var{propriété} @var{décalages} [@var{contexte}.]@var{NomGrob}
+@end example
+
+Notez bien qu'il n'y a jamais de tiret avant un comportement
+« dérogatoire », tout comme il n'y en a jamais avec la commande
+@code{\override} elle-même.
+
+L'exemple suivant utilise la forme « dérogation » pour allonger les
+arpeggios affichés dans la première mesure, jusqu'à couvrir l'accord
+dans son intégralité.  Les arpeggios sont étirés d'un demi espace de
+portée à leur sommet ainsi qu'à leur base.  Est aussi indiquée la même
+opération sur le premier accord à l'aide d'une simple dérogation
+appliquée à la propriété @code{positions}.  Cette méthode n'est pas la
+plus illustrative pour « étirer d'un demi espace de portée » dans la
+mesure où les extrémités doivent être spécifiées en coordonnées absolues
+plutôt que relatives.  De plus, des dérogations individuelles seraient
+nécessaires pour les autres accords en raison de leurs différentes
+amplitude et position.
+
+@lilypond[quote,verbatim]
+arpeggioMusic = {
+  <c' e' g'>\arpeggio <a' c'' e''>\arpeggio
+  <d' f' a' c''>\arpeggio <c' e' g' b' d'' f'' a''>\arpeggio
+}
+
+{
+  \arpeggioMusic
+  \bar "||"
+  \offset positions #'(-0.5 . 0.5) Arpeggio
+  \arpeggioMusic
+  \bar "||"
+  \once \override Arpeggio.positions = #'(-3.5 . -0.5)
+  <c' e' g'>1\arpeggio
+  \bar "||"
+}
+@end lilypond
+
+Dans cette utilisation d'@emph{override}, @code{\offset} peut se
+préfixer de @code{\once} ou @code{\temporary} et être annulé à l'aide
+d'un @code{\revert} suivi de @var{propriété}.  Ceci tient au fait que
+@code{\offset} crée effectivement un @code{\override} de
+@var{propriété}.
+
+@lilypond[quote,verbatim]
+music = { c'8\< d' e' f'\! }
+
+{
+  \music
+  \offset height 1 Hairpin
+  \music
+  \music
+  \revert Hairpin.height
+  \music
+  \bar "||"
+  \once \offset height 1 Hairpin
+  \music \music
+  \bar "||"
+  \override Hairpin.height = 0.2
+  \music
+  \temporary \offset height 2 Hairpin
+  \music
+  \music
+  \revert Hairpin.height
+  \music
+  \bar "||"
+}
+@end lilypond
+
+Tout comme @code{\override}, la forme « dérogation » de @code{\offset}
+peut s'utiliser avec @code{\undo} et @code{\single}.
+
+@lilypond[quote,verbatim]
+longStem = \offset length 6 Stem
+
+{
+ \longStem c'4 c''' c' c''
+ \bar "||"
+ \undo \longStem c'4 c''' c' c''
+ \bar "||"
+ \single \longStem c'4 c''' c' c''
+ \bar "||"
+}
+@end lilypond
+
+@subsubsubheading @code{\offset} en tant qu'affinage
+@c VO offset as a tweak
+
+Lorsque @var{élément} est une expression musicale, comme @code{(} ou
+@code{\arpeggio}, le résultat sera la même expression musicale à
+laquelle aura été appliqué un affinage.
+@c closing )
+
+@example
+[-]\offset [@var{NomGrob}.]@var{propriété} @var{décalages} @var{expression-musicale}
+@end example
+
+La syntaxe de @code{\offset} dans sa forme « affinage » est en tout
+point analogue à la commande @code{\tweak}, autant dans l'ordre des
+arguments que dans la présence ou non du tiret l'introduisant.
+
+L'exemple suivant utilise la forme « affinage » pour ajuster le
+positionnement vertical de l'objet @code{BreathingSign}.  Les effets de
+la simple commande @code{\tweak} sont présent à titre de comparaison.
+Leur syntaxe est équivalente.  Néanmoins, le résultat de @code{\tweak}
+est moins intuitif dans la mesure où @code{BreathingSign.Y-offset} est
+calculé en référence à la ligne médiane.  Il n'est pas nécessaire de
+savoir comment se calcule @code{Y-offset} dans le cas d'un
+@code{\offset}.
+
+@lilypond[quote,verbatim]
+{
+  c''4
+  \breathe
+  c''4
+  \offset Y-offset 2 \breathe
+  c''2
+  \tweak Y-offset 3 \breathe
+}
+@end lilypond
+
+Dans cet exemple, les objets affinés étaient créés directement à partir
+du code saisi : la commande @code{\breathe} était une instruction
+explicite pour renvoyer un objet @code{BreathingSign}.  Puisque la cible
+de la commande était sans ambiguïté, point n'était besoin de spécifier
+le nom de l'objet.  Cependant, lorsqu'un objet est créé
+@emph{indirectement}, mention du nom de l'objet devient requise.  Il en
+va de même pour la commende @code{\tweak}.
+
+Dans l'exemple qui suit, l'objet @code{Beam} est abaissé de deux espaces
+de portée par application de @code{\offset} à la propriété
+@code{positions}.
+
+La première application de @code{\offset} requiert mention du nom de
+l'objet puisque rien dans le code ne crée explicitement de ligature.
+Dans la seconde application, la ligature est explicitement créée par
+l'expression musicale @code{[}, ce qui dispense de mentionner le nom de
+l'objet.  Cette deuxième application comporte par ailleurs un
+raccourci : un unique @code{number} s'appliquera aux deux membres d'un
+@code{number-pair}.
+@c close ]
+
+@lilypond[quote,verbatim]
+{
+  c''8 g'' e'' d''
+  \offset Beam.positions #'(-2 . -2)
+  c''8 g'' e'' d''
+  c''8 g'' e'' d''
+  c''8-\offset positions #-2 [ g'' e'' d'']
+}
+@end lilypond
+
+@subsubsubheading @code{\offset} et les bandeaux avec rupture
+@c VO offset with broken spanners
+
+Il est aussi possible de modifier indépendamment les segments d'un objet
+étendu rencontrant des sauts de ligne.  Dans ce cas, @var{décalages} est
+consitué d'une liste de valeurs pour le type de donnée requis par la
+propriété.
+
+Utilisée de telle manière, la commande @code{\offset} est similaire à la
+commande @code{\alterBroken} -- voir
+@ref{Modification de bandeaux avec rupture}.  Cependant, et
+contrairement à la commande @code{\alterBroken}, les valeurs fournies à
+@code{\offset} sont relatives.
+
+Dans l'exemple suivant est déplacé l'objet « segmenté »
+@code{OttavaBracket} au travers de sa propriété @code{staff-padding}.
+Puisque cette propriété est affectée d'un @code{number}, @var{décalages}
+est alimenté d'une liste de @code{number}s afin de prendre en compte les
+deux segments créés par le saut de ligne.  La portion de liaison de la
+première ligne n'est en fait pas touchée puisque @code{0} est ajouté à
+sa valeur par défaut.  Le segment de la deuxième ligne est haussé de
+deux espaces de portée par rapport à sa hauteur par défaut.  La hauteur
+par défaut est de @code{2}, bien que ce ne soit pas nécessaire de le
+savoir.
+
+@lilypond[quote,verbatim]
+{
+ \offset staff-padding #'(0 3) Staff.OttavaBracket
+  \ottava #1
+  c'''2 c'''
+  \break
+  c'''2 c'''
+}
+@end lilypond
+
+L'exemple ci-dessous reproduit les effets de la commande @code{\shape}
+en décalant la propriété @code{control-points} de l'objet @code{Slur}.
+Ici, @var{décalages} est constitué d'une liste de
+@code{number-pair-list}s, une pour chaque segment de la liaison.  Cet
+exemple produit un résultat identique à ce qui est illustré dans
+@ref{Modification de l'allure des éléments}.
+
+@lilypond[quote,verbatim]
+{
+  c'4-\offset control-points #'(
+               ((0 . 0) (0 . 0) (0 . 0) (0 . 1))
+               ((0.5 . 1.5) (1 . 0) (0 . 0) (0 . -1.5))
+              ) ( f'4 g' c''
+  \break
+  d'4 c'' f' c')
+}
+@end lilypond
+
+
 @node Modification de listes associatives
 @subsection Modification de listes associatives
 @translationof Modifying alists
index 24ecee56f5a788a2506483787434946de7e85253..c8eb02369f567c93dd2668ed6c12cd7a5d0364a0 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 
 @ignore
-   Translation of GIT committish: 39912f861693f1c24b8833e6e9e6ba82eb3e6746
+   Translation of GIT committish: 64c8064154e24ff2a07e553ecdbda409f1726487
 
    When revising a translation, copy the HEAD committish of the
    version that you are working on.  For details, see the Contributors'
@@ -528,12 +528,14 @@ elle revient à la couleur par défaut, le noir.  Le problème ressort de
 façon évidente au vu de la partition finale.
 
 @lilypond[verbatim,quote]
-\relative c'' {
-  \override Staff.StaffSymbol.color = #(x11-color 'SlateBlue2)
-  \set Staff.instrumentName = \markup {
-    \with-color #(x11-color 'navy) "Clarinet"
+\new Staff \with {
+  instrumentName = \markup {
+    \with-color #(x11-color 'red) "Clarinet"
+    }
   }
 
+  \relative c'' {
+  \override Staff.StaffSymbol.color = #(x11-color 'SlateBlue2)
   gis8 a
   \override Beam.color = #(x11-color "medium turquoise")
   gis a
@@ -561,12 +563,12 @@ les composantes de la couleur exacte au format rouge-vert-bleu
 l'exemple suivant correspond à 128).
 
 @lilypond[verbatim,quote]
-\relative c'' {
-  \override Staff.StaffSymbol.color = #(x11-color 'SlateBlue2)
-  \set Staff.instrumentName = \markup {
-    \with-color #(x11-color 'navy) "Clarinet"
+\new Staff \with {
+  instrumentName = \markup {
+    \with-color #(x11-color 'red) "Clarinet"
+    }
   }
-
+  \relative c'' {
   \override Stem.color = #(rgb-color 0 0 0)
   gis8 a
   \override Stem.color = #(rgb-color 1 1 1)
index 6fda713f2a472a911f0f2a8430ba257ba9906859..0d714700faed78f7a69432b488f93fd6c572dc12 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 
 @ignore
-    Translation of GIT committish: 553410afdd9496f7d9f1498e755ea18de8e70596
+    Translation of GIT committish: 64c8064154e24ff2a07e553ecdbda409f1726487
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -526,27 +526,20 @@ sujet la rubrique @ref{Symbole de la portée}.
 
 Un tambourin, saisi avec un @qq{tamb} :
 
-@lilypond[quote,verbatim]
+@lilypond[verbatim,quote]
 #(define mydrums '((tambourine default #t 0)))
 
-tambustaff = {
-  \override Staff.StaffSymbol.line-positions = #'( 0 )
-  \override Staff.BarLine.bar-extent = #'(-1.5 . 1.5)
-  \set DrumStaff.instrumentName = #"Tambourine"
-}
+\new DrumStaff \with { instrumentName = #"Tambourine" }
 
-\new DrumStaff {
-  \tambustaff
+\drummode {
   \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
 
-  \drummode {
-    \time 6/8
-    tamb8. 16 8 8 8 8 |
-    tamb4. 8 8 8 |
-    % the trick with the scaled duration and the shorter rest
-    % is neccessary for the correct ending of the trill-span!
-    tamb2.*5/6 \startTrillSpan s8 \stopTrillSpan |
-  }
+  \time 6/8
+  tamb8. 16 8 8 8 8 |
+  tamb4. 8 8 8 |
+  % the trick with the scaled duration and the shorter rest
+  % is neccessary for the correct ending of the trill-span!
+  tamb2.*5/6 \startTrillSpan s8 \stopTrillSpan |
 }
 @end lilypond
 
@@ -555,19 +548,14 @@ Un peu de tam tam, abrégé @qq{tt} :
 @lilypond[quote,verbatim]
 #(define mydrums '((tamtam default #t 0)))
 
-tamtamstaff = {
-  \override Staff.StaffSymbol.line-positions = #'( 0 )
-  \override Staff.BarLine.bar-extent = #'(-1.5 . 1.5)
-  \set DrumStaff.instrumentName = #"Tamtam"
-}
+\new DrumStaff \with { instrumentName = #"Tamtam" }
 
-\new DrumStaff {
-  \tamtamstaff
-  \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
+\drummode {
+\set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
+\override Staff.StaffSymbol.line-positions = #'( 0 )
+\override Staff.BarLine.bar-extent = #'(-1.5 . 1.5)
 
-  \drummode {
-    tt 1 \pp \laissezVibrer
-  }
+  tt 1 \pp \laissezVibrer
 }
 @end lilypond
 
@@ -578,20 +566,16 @@ cloche de quart -- @qq{rb} pour @emph{ridebell} :
 #(define mydrums '((ridebell default #t  3)
                    (cowbell  default #t -2)))
 
-bellstaff = {
-  \override DrumStaff.StaffSymbol.line-positions = #'(-2 3)
+\new DrumStaff \with { instrumentName = #"Different Bells" }
+
+\drummode {
   \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
-  \override Staff.BarLine.bar-extent = #'(-1.5 . 1.5)
-  \set DrumStaff.instrumentName = #"Different Bells"
-}
+  \override DrumStaff.StaffSymbol.line-positions = #'(-2 3)
+   \override Staff.BarLine.bar-extent = #'(-1.5 . 1.5)
 
-\new DrumStaff {
-  \bellstaff
-  \drummode {
-    \time 2/4
-    rb8 8 cb 16 rb-> ~ |
-    16 8 16 cb8 8 |
-  }
+  \time 2/4
+  rb8 8 cb8 16 rb16-> ~ |
+  16 8 16 cb8 8 |
 }
 @end lilypond
 
@@ -637,22 +621,23 @@ drumsB = {
 
 \score {
   \new StaffGroup <<
-    \new DrumStaff {
-      \set DrumStaff.instrumentName = \markup {
+    \new DrumStaff \with {
+      instrumentName = \markup {
         \column {
           "Tambourine"
           "et"
           "caisse claire s. timbre"
         }
       }
-      \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
+      drumStyleTable = #(alist->hash-table mydrums)
+      }
       \drumsA
-    }
 
-   \new DrumStaff {
-     \set DrumStaff.instrumentName = #"Grosse Caisse"
-     \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
-     \drumsB }
+   \new DrumStaff \with {
+     instrumentName = #"Grosse Caisse"
+     drumStyleTable = #(alist->hash-table mydrums)
+     }
+     \drumsB
   >>
 }
 @end lilypond
index d2fbab49ca2a69f2e67c56476a3893ed12b17262..1888031678756c197b018e8a5e708c6aeabf8689 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 
 @ignore
-   Translation of GIT committish: 6a4f1fed7b1be26f0ae29bc500eed7d29bd7659a
+   Translation of GIT committish: 64c8064154e24ff2a07e553ecdbda409f1726487
 
    When revising a translation, copy the HEAD committish of the
    version that you are working on.  For details, see the Contributors'
@@ -1516,26 +1516,24 @@ conducteur.  Les deux instruments sont à l'unisson.
 
 @lilypond[verbatim,quote]
 \new GrandStaff <<
-  \new Staff = "violin" {
-    \relative c'' {
-      \set Staff.instrumentName = #"Vln"
-      \set Staff.midiInstrument = #"violin"
-      % not strictly necessary, but a good reminder
-      \transposition c'
-
-      \key c \major
-      g4( c8) r c r c4
-    }
+  \new Staff = "violin" \with {
+    instrumentName = #"Vln"
+    midiInstrument = #"violin"
+   }
+  \relative c'' {
+    % not strictly necessary, but a good reminder
+    \transposition c'
+    \key c \major
+    g4( c8) r c r c4
   }
-  \new Staff = "clarinet" {
-    \relative c'' {
-      \set Staff.instrumentName = \markup { Cl (B\flat) }
-      \set Staff.midiInstrument = #"clarinet"
-      \transposition bes
-
-      \key d \major
-      a4( d8) r d r d4
-    }
+  \new Staff = "clarinet" \with {
+    instrumentName = \markup { Cl (B\flat) }
+    midiInstrument = #"clarinet"
+  }
+  \relative c'' {
+    \transposition bes
+    \key d \major
+    a4( d8) r d r d4
   }
 >>
 @end lilypond
index 4034cc9690134c6d0fa03d563a6226c9f9f188ad..ba862605717bf0e0eaab659ea1e689816eaa1a1a 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 
 @ignore
-   Translation of GIT committish: ece789bf5f661cb8f16b50f87a248dedd6e1d8d5
+   Translation of GIT committish: 64c8064154e24ff2a07e553ecdbda409f1726487
 
    When revising a translation, copy the HEAD committish of the
    version that you are working on.  For details, see the Contributors'
@@ -231,8 +231,8 @@ qu'il gère automatiquement l'affichage du nom d'instrument -- voir
 @ref{Noms d'instrument} pour plus de détails.
 
 @lilypond[verbatim,quote]
-\new PianoStaff <<
-  \set PianoStaff.instrumentName = #"Piano"
+\new PianoStaff \with { instrumentName = #"Piano" }
+  <<
   \new Staff \relative { c''1 c }
   \new Staff \relative { \clef bass c1 c }
 >>
@@ -992,20 +992,14 @@ nouvel instrument.  Notez cependant que la valeur de
 @lilypond[verbatim,quote,ragged-right]
 prepPiccolo = <>^\markup \italic { muta in Piccolo }
 
+prepFlute = <>^\markup \italic { muta in Flauto }
+
 setPiccolo = {
-  \set Staff.instrumentName = #"Piccolo"
-  \set Staff.shortInstrumentName = #"Picc."
-  \set Staff.midiInstrument = #"piccolo"
   <>^\markup \bold { Piccolo }
   \transposition c''
 }
 
-prepFlute = <>^\markup \italic { muta in Flauto }
-
 setFlute = {
-  \set Staff.instrumentName = #"Flute"
-  \set Staff.shortInstrumentName = #"Flt."
-  \set Staff.midiInstrument = #"flute"
   <>^\markup \bold { Flute }
   \transposition c'
 }
@@ -1013,14 +1007,17 @@ setFlute = {
 \new Staff \with {
   instrumentName = #"Flute"
   shortInstrumentName = #"Flt."
-  midiInstrument = #"flute"
 }
 \relative {
   g'1 g g g \break
   g1 g \prepPiccolo R R \break
+  \set Staff.instrumentName = #"Piccolo"
+  \set Staff.shortInstrumentName = #"Picc."
   \setPiccolo
   g1 g g g \break
   g1 g \prepFlute R R \break
+  \set Staff.instrumentName = #"Flute"
+  \set Staff.shortInstrumentName = #"Flt."
   \setFlute
   g1 g g g
 }
index acc95d0525a59b545f59e9a3ccdb2985675d6721..ef532e57bfe1bc2b7a8f12e3ee8685a98ead957a 100644 (file)
@@ -1,4 +1,4 @@
-%% Translation of GIT committish: 3ad118d6062153701ab613c1b3855911c45214d3
+%% Translation of GIT committish: 64c8064154e24ff2a07e553ecdbda409f1726487
   texidocfr = "
 Cet exemple, grâce à un peu de code Scheme, donne la priorité aux
 enharmoniques afin de limiter le nombre d'altérations supplémentaires.
index a334621b7fcf5907e0a9ecb67d12c747ac283f00..b868c8a30508bd33339b7514594cd6baa96bff47 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage : fr -*-
 @c This file is part of web.texi
 @ignore
-   Translation of GIT committish: a9bf7727fb66d7a17abe31b9004c846fc781fcf9
+   Translation of GIT committish: 941523560c6b37ac820836ba94bbfc898a2f01de
 
    When revising a translation, copy the HEAD committish of the
    version that you are working on.  For details, see the Contributors'
@@ -118,6 +118,7 @@ aux cours des versions précédentes.
 @divClass{column-left-bottom}
 @subheading Discuter entre utilisateurs et demander de l'aide
 @c VO User Discussions and Help
+
 @subsubheading Liste de diffusion des utilisateurs : @code{lilypond-user@@gnu.org}
 
 Cette liste de diffusion @strong{anglophone} est le lieu privilégié des
@@ -316,13 +317,15 @@ Translation mailing list archive}
 
 @divClass{column-center-top}
 @subheading Exemple minimaliste@dots{} mais qu'est-ce donc que cela ?
+@c VO What are @qq{Tiny examples}?
 
 Un exemple minimaliste est un bout de code duquel @strong{plus rien} ne
 peut être retiré.
 @divEnd
 
 @divClass{column-left-bottom}
-@subheading Pourquoi être minimaliste ?
+@subheading Pourquoi être minimaliste@tie{}?
+@c VO Why create them?
 
 @divClass{keep-bullets}
 @itemize
@@ -353,6 +356,7 @@ réellement d'un « bogue ».
 
 @divClass{column-right-bottom}
 @subheading Comment être minimaliste@tie{}?
+@c VO How to create them?
 
 @divClass{keep-bullets}
 @itemize
@@ -392,6 +396,7 @@ Le cas échéant, joignez une image de ce à quoi vous voulez arriver.
 
 @divClass{column-center-bottom}
 @subheading Jusqu'où pousser le minimalisme@tie{}?
+@c VO How tiny should they be?
 
 En voici un exemple :
 
@@ -485,6 +490,7 @@ Voici ce à quoi devrait ressembler tout signalement de bogue :
 
 @divEnd
 
+
 @divClass{column-right-bottom}
 @subheading Étape 3 : Transmission d'un signalement de bogue
 
@@ -530,6 +536,7 @@ liste francophone} ; nous nous chargerons de transmettre un rapport
 @divEnd
 @divEnd
 
+
 @divClass{column-center-bottom}
 @subheading Étape 4: Notification de prise en compte
 
@@ -547,6 +554,7 @@ commentaire et la souscription requièrent d'avoir un identifiant reconnu
 par sourceforge.
 @divEnd
 
+
 @divClass{column-center-bottom}
 @subheading Information complémentaire : indication du comportement escompté
 
@@ -948,22 +956,32 @@ dernière mouture est consultable sur @url{http://lilypond.org}}
 @subheading Le Google Summer of Code
 @c VO What is Google Summer of Code?
 
-Le @uref{https://developers.google.com/open-source/gsoc/, GSoC} est un
+Le @uref{https://summerofcode.withgoogle.com/, GSoC} est un
 programme global, mis en place par Google, qui rémunère des étudiants
 durant la période estivale pour travailler au profit de projets
-@emph{open source}.  Il s'agit là d'une excellente opportunité pour des
-étudiants de vivre une expérience réelle dans le développement de
-logiciels et contribuer ainsi au bien de tous.  Ceci permet aussi de
-recruter de nouveaux contributeurs à LilyPond et motiver des étudiants
-qui y participent déjà d'y être encore plus impliqués.  LilyPond
-participe à ce programme sous l'égide du
+@emph{open source}.  Les étudiants s'attachent durant trois mois et
+sous la direction de mentors expérimentés, à compléter une tâche
+particulière au sein d'un projet communautaire.  Il s'agit là d'une
+excellente opportunité pour des étudiants de vivre une expérience réelle
+dans le développement de logiciels et contribuer ainsi au bien de tous.
+Ceci permet aussi de recruter de nouveaux contributeurs à LilyPond et
+motiver des étudiants qui y participent déjà d'y être encore plus
+impliqués.  LilyPond participe à ce programme sous l'égide du
 @uref{http://www.gnu.org/, projet GNU}.
 
+@strong{Note :} Les organisations retenues seront notifiées le 27
+février, aussi nous ne saurons pas officiellement avant si nous pourrons
+participer au programme de cette année.
+
 Nous avons eu des participants aux sessions de 2012, 2015 et 2016, et
 encourageons les étudiants à candidater pour les sessions à venir.
 
-Si vous avez des questions à ce sujet ou avez envie d'y participer,
-contactez-nous sur la liste des développeurs (voir @ref{Contact}).
+Si vous avez envie de participer à ce programme dans le cadre du projet
+LilyPond, lisez ce qui suit et n'hésitez pas à nous contacter sur la
+liste des développeurs (voir @ref{Contact}).  Les candidatures devront
+être déposées entre le 20 mars et le 3 avril 2017, mais nous vous
+encourageons à d'ores et déjà prendre contact avec notre communauté.
+
 @divEnd
 
 
@@ -973,17 +991,15 @@ contactez-nous sur la liste des développeurs (voir @ref{Contact}).
 
 Voici une liste de projets que nous avons proposés aux étudiants du GSoC
 et à quiconque aurait envie d'améliorer LilyPond.@*
-Dernière mise à jour : novembre 2016.
-
-La disponibilité de tuteurs diffère selon les projets et les années.
-Contactez-nous sur la liste des développeurs -- voir @ref{Contact} -- et
-nous vous aiderons à trouver un mentor pour le projet qui correspond à
-vos envies et aptitudes.
+Dernière mise à jour : juanvier 2017.
 
-Si vous avez d'autres idées de projet dans le cadre du GSoC, n'hésitez
-pas à nous en faire part.  Il y a bien d'autres choses à améliorer dans
-LilyPond et les membres de l'équipe de développement aideront volontiers
-ceux qui aimeraient s'y atteler.
+Si vous avez d'autres idées de projet réalisable sur une période de
+trois mois, n'hésitez pas à nous en faire part sur la liste des
+développeurs (voir @ref{Contact}).  Il y a bien d'autres choses à
+améliorer dans LilyPond et les membres de l'équipe de développement
+aideront volontiers ceux qui aimeraient s'atteler à de tesl projets.
+Dans la mesure où la disponibilité de tuteurs diffère selon les projets
+et les années, nous vous conseilllns de nous contacter au plus tôt.
 
 Une liste exhaustive des problèmes est disponible
 @uref{http://sourceforge.net/p/lilypond/issues/list, ici}.
@@ -995,25 +1011,26 @@ Une liste exhaustive des problèmes est disponible
 @c VO Improve internal chord structure
 
 La structure interne des accords dans LilyPond n'est pas suffisamment
-puissante pour tenir compte de la nomneclature des accords de jazz.
+puissante pour tenir compte de la nomenclature des accords de jazz.
 Pour l'instant, un accord comporte une fondamentale, une basse et un
 renversement.  Il serait souhaitable d'arriver à gérer les amalgames ou
-polyaccords, qu'ils soient majeur ou mineur, etc.  Seule le
+polyaccords, qu'ils soient majeur ou mineur, etc.  Seul le
 développement d'une représentation interne capable de capturer l'essence
 d'accords complexes permettra d'y parvenir.  Cette représentation
 interne une fois développée permettra par ailleurs d'améliorer le rendu
 des accords nommés.
 
-@strong{Difficulté :} moyennement facile
-@strong{Préalables :} Scheme (Guile), mais le niveau nécessaire peut
-s'acquérir aisément.
-@strong{Connaissances appréciées :} Théorie des accords et de leur nommage
-@strong{Mentor :} Carl Sorensen
+@strong{Difficulté :} moyennement facile.@*
+@strong{Préalables :} Scheme (Guile), mais le niveau nécessaire peut
+s'acquérir aisément@*
+@strong{Connaissances appréciées :} Théorie des accords et de leur nommage@*
+@strong{Mentor :} Carl Sorensen.
+
 @divEnd
 
 
 @divClass{column-center-middle-color3}
-+@subheading Adoption du standard SMuFL d'encodage de fontes musicales
+@subheading Adoption du standard SMuFL d'encodage de fontes musicales
 @c VO Adopt the SMuFL music font encoding standard
 
 Depuis quelques années émerge un nouveau standard en matière de fontes
@@ -1035,11 +1052,11 @@ modifier les mécanismes de chargement des fontes dans LilyPond, de telle
 sorte qu'ils ne se cantonnent pas uniquement à l'installation de
 LilyPond.
 
-@strong{Difficulté :} moyennement facile
+@strong{Difficulté :} moyennement facile@*
 @strong{Préalables :} C++ et la volonté de se familiariser avec les
-composantes internes de LilyPond
+composantes internes de LilyPond@*
 @strong{Connaissances appréciées :} intérêt et expérience dans le
-maniement des fichiers de fonte ; des notions de METAFONT.
+maniement des fichiers de fonte ; des notions de METAFONT@*
 @strong{Mentors :} Werner Lemberg, Abraham Lee
 
 @divEnd
@@ -1064,65 +1081,123 @@ important que l'autre.
 @end itemize
 @divEnd
 
-@strong{Difficulté :} facile
-@strong{Préalables :} MetaFont, C++, une bonne vue pour les détails
-@strong{Connaissances appréciées :} les bases de LilyPond
-@strong{Mentor potentiel :} Werner Lemberg
+@strong{Difficulté :} facile@*
+@strong{Préalables :} MetaFont, C++, une bonne vue pour les détails@*
+@strong{Connaissances appréciées :} les bases de LilyPond@*
+@strong{Mentor :} Werner Lemberg
+
 @divEnd
 
 
 @divClass{column-center-middle-color3}
-@subheading Notes d'ornement @emph{(grace notes)}
+@subheading Notation contemporaine
+@c VO Contemporary Notation
+
+LilyPond excelle dans la création de notation non standard.  La
+nécessité de @emph{coder} chaque élément graphique plutôt que de
+simplement les @emph{dessiner} peut paraître fastidieuse mais se révèle
+être un investissement solide.  De nouvelles fonctionnalités en matière
+de notation ainsi fournies permettront une apparence uniforme, un tracé
+automatisé et une interface syntaxique naturelle.
+
+Au sein du système de bibliothèque
+@uref{https://github.com/openlilylib/oll-core, openLilyLib}, l'étudiant
+créera une infrastructure de base et construira des blocs aux fins de
+faciliter la création de notation contemporaine.  Accessoirement se
+développe @emph{un} paquet couvrant certains aspect de la notation
+contemporaine comme, par exemple, le style d'un compositeur donné, des
+techniques étendues d'exécution pour un instrument particulier ou une
+certaine catégorie d'effets.
+
+@strong{Difficulté :} moyenne@*
+@strong{Préalables :} Scheme (interaction avec les arcanes de LilyPond),
+techniques de notation contemporaine@*
+@strong{Connaissances appréciées :} sens de la construction d'ossatures
+hiérarchisées@*
+@strong{Mentors :} @strong{NN,} Urs Liska
 
-Résolution des problèmes de synchronisation des notes d'ornement.  Les
-notes d'ornement peuvent venir perturber LilyPond dans sa gestion du
-temps et entraîner des effets indésirables tout particulièrement
-lorsqu'elles interviennent dans une portée seulement.
-Il s'agit @uref{https://sourceforge.net/p/testlilyissues/issues/34/, là}
-de l'un des bogues les plus vieux et embarrassants pour LilyPond.
-
-@strong{Difficulté :} moyenne
-@strong{Préalables :} C++, MIDI
-@strong{Connaissances appréciées :} familiarité avec les arcanes de
-LilyPond
-@strong{Mentors potentiels :} Mike Solomon (indisponible pour le GSoc
-2016), Carl Sorensen
 @divEnd
 
-
 @divClass{column-center-middle-color3}
-@subheading Amélioration du positionnement par défaut des ligatures
-@c VO Improve default beam positioning
+@subheading Réécriture en Python de l'extension LilyPond pour LibreOffice
+@c VO Rewrite LibreOffice LilyPond Extension with Python
+
+L'extension @uref{http://ooolilypond.sourceforge.net/, OOoLilyPond}
+a permis d'inclure de façon agréable des extraits de partition LilyPond
+dans les documents OpenOffice.org/LibreOffice Writer, Draw et Impress
+tout en conservant ensemble le code et l'image.  Après plusieurs années
+de suspension dans son développement, un effort a vu le jour pour
+rendre cette extension à nouveau compatible avec les nouvelles versions
+de LibreOffice et LilyPond.
+
+Toutefois, l'écosystème de LibreOffice s'est modifié substanciellement,
+et il est désormais possible de récrire cette extension avec Python et
+PyQt.  Ceci sera non seulement plus puissant de manière générale, mais
+permettra aussi l'intégration de fonctionnalités de
+@uref{http://frescobaldi.org, Frescobaldi} comme, par exemple, la
+coloration syntaxique, des aides à la saisie, des assistants à la
+creation de partition ou des transformations de musique.
 
-Une ligature, qu'elle soit rectiligne, passe d'une portée à l'autre,
-discontinue ou coudée, devrait dépendre du contexte et des notes
-adjacentes (voir
-@uref{http://imslp.org/wiki/Repository_of_Music-Notation_Mistakes_%28Coulon%2C_Jean-Pierre%29,
-la section 2.2 de cet article}).  Dans la mesure du possible, raccourcir
-le temps de calcul nécessaire à la génération des ligatures.
+@strong{Difficulté :} moyennement facile@*
+@strong{Préalables :} Python, PyQt, les base de LilyPond, les base des
+extensions de LibreOffice@*
+@strong{Connaissances appréciées :} familiarité avec les bases du code
+de Frescobaldi ou l'envie de l'apprendre sur la période@*
+@strong{Mentors :} Urs Liska, (Thorsten Behrens/LibreOffice)
 
-@strong{Difficulté :} moyenne
-@strong{Préalables :} C++, expérience dans l'écriture d'heuristiques
-@strong{Connaissance appréciée :} sens de l'esthétique
-@strong{Mentors potentiels :} Mike Solomon (indisponible pour le GSoc
-2016), Carl Sorensen
 @divEnd
 
 
 @divClass{column-center-middle-color3}
-@subheading Aide à l'amélioration du comportement lors de la compilation
-@c VO Help improve compilation behavior
+@subheading Automatisation des tests et documentation d'openLilyLib
+@c VO Automated testing and documentation for openLilyLib
+
+@uref{https://github.com/openlilylib, openLilyLib} constitue une
+infrastructure d'extension au code de LilyPond en fournissant un dépôt
+de courts extraits ainsi qu'une collection de paquets intégrés tels que,
+par exemple, des outils de mise en page ou un système d'annotations pour
+édition critique.  Cette bibliothèque est très puissante et prometteuse,
+mais souffre de deux lacunes pour pouvoir réellement décoller : des
+tests automatisés et la génération d'une documentation.
+
+L'automatisation des tests est une nécéssité si l'on veut s'assurer que
+des modifications fonctionnelles ne cassent pas d'autres fonctions au
+sein de la bibliothèque.  Certains tests automatiques sont en place au
+niveau des extraits sur le serveur Github de Travis, mais ils demandent
+à être revus et étendus pour couvrir aussi les paquetages indépendants.
+
+Afin d'être couramment exploitable par une majorité d'utilisateurs de
+LilyPond, openLilyLib a besoin de sa propre documentation.  Cette
+documentation, qui doit être générée directement à partir des sources,
+nécessite un système qui requiert des auteurs de paquetage qu'ils
+documentent leurs sources et fournissent des exemples concrets à partir
+desquels la documentation sera générée.  Dans l'idéal, bien que pas
+nécessairement, il devra être implémenté en connexion directe à Git,
+autrement dit s'exécuter à chaque mise à jour du dépôt.  Aucun outil ni
+approche ne sont arrêtés, mais il faut savoir que le langage le plus
+répendu dans l'univers LilyPond est Python, ce qui pourrait être un
+parti pris.  Une solution à base de Scheme pourrait tout aussi bien
+générer la documentation en étant déclanchée par la « compilation » d'un
+fichier LilyPond particulier.  Il est généralement conseillé de se
+reposer sur des concepts et des outils qui ont fait leurs preuves
+lorsqu'ils sont issus d'autres langages.
+
+Le résultat de la documentation devrait se présenter sous la forme d'un
+site HTML statique, consultable en local ou disponible sur un site web.
+Il serait toutefois souhaitable que cet outil génère une représenttation
+intermédiaire -- tel un fichier JSON et ses fichiers associés par
+exemple -- à partir de laquelle une application génératrice de page
+unique saurait retrouver le contenu pour affichage sur le site
+d'@uref{https://openlilylib.org, openLilyLib}.  Le développement d'un
+tel générateur de page unique @emph{peut} éventuellement s'intégrer au
+projet GSoC.
+
+@strong{Difficulté :} moyenne@*
+@strong{Préalables :} Python ou Scheme, générateur(s) de site statique
+ou technologie d'application web dynamique (basée sur Node.js) ;
+intégration continue (peut s'acquérir sur la période)@*
+@strong{Mentors :} Urs Liska, Matteo Ceccarello
 
-Les outils d'analyse comme @emph{valgrind} pour la détection de fuites
-de mémoire ou @emph{callgrind} pour le profilage du code, fournissent
-des informations précieuses quant à d'éventuelles faiblesses du
-code C++.  Faire le ménage dans tous ces messages nous permettrait de
-rejeter tout patch qui introduirait des messages superflus.
-
-@strong{Difficulté :} moyenne
-@strong{Préalable :} C++
-@strong{Mentors potentiels :} Joe Neeman, Reinhold Kainhofer
-(indisponible pour le GSoc 2016)
 @divEnd
 
 
@@ -1160,33 +1235,97 @@ de mise en forme pour tout objet de rendu dans les  balises XML.
 @end itemize
 @divEnd
 
-@strong{Difficulté :} moyenne
-@strong{Préalables :} MusicXML, Python, Scheme, les bases de LilyPond
-@strong{Mentors potentiels :} Reinhold Kainhofer, Mike Solomon (tous
-deux indisponibles pour le GSoc 2016)
-
-La connaissance d'autres éditeurs de partition, dans un but de tests
-comparatifs, constituerait une aide.
+@strong{Difficulté :} moyenne@*
+@strong{Préalables :} MusicXML, Python, Scheme, les bases de LilyPond@*
+@strong{Connaissances appréciées :} connaissance d'autres éditeurs de
+partition, dans un but de tests comparatifs@*
+@strong{Mentor :} Jan-Peter Voigt
 
 @divEnd
 
 
 @divClass{column-center-middle-color3}
-@subheading Amélioration des liaisons
+@subheading Information à l'attention des candidats et participants
+@c VO Information for Applicants/Participants
 
-Le galbe par défaut des liaisons n'est souvent pas pleinement
-satisfaisant.  La « coupure » d'une liaison par un changement de clef ou
-de ligne n'est pas totalement fonctionnelle.  Ce projet comporte entre
-autres un recensement d'exemples de résultats défectueux, l'appréciation
-du résultat optimal et l'écriture du code approprié.
+Afin que l'expérience du GSoC se révèle satisfaisante et enrichissante,
+les candidats sont fortements encouragés à porter toute leur attention
+aux recommandations qui suivent.  Certaines d'entre elles concernent la
+procédure de candidature, d'autres la période du stage au sein du projet.
 
-@strong{Difficulté :} difficile
-@strong{Préalables :} C++, expérience dans l'écriture d'heuristiques
-@strong{Connaissances appréciées :} LilyPond, sens de l'esthétique
-@strong{Mentor potentiel :} Mike Solomon, Janek Warchoł (tous deux
-indisponibles pour le GSoc 2016)
+@divClass{keep-bullets}
+@itemize
+
+@item
+Lisez toute information appropriée sur le site du programme, et tout
+particulièrement le
+@uref{https://developers.google.com/open-source/gsoc/resources/manual,
+students' manual}.  Assurez-vous de répondre à toutes les conditions
+d'éligibilité de Google, et de votre volonté de rejoindre le programme
+par un recrutement à plein temps sur les trois mois que dure la période
+de codage.
+
+@item
+Prenez contact avec nous dès que possible si vous avez envie de vous
+porter candidat à un projet.  La disponibilité de tuteur peut changer
+sans préavis, les projets proposés peuvent nécessiter d'être affinés, et
+de nombreuses autres raisons peuvent nous conduire à rejeter ou ignorer
+toute candidature qui n'aurait pas été auparavant discutée.
+
+@item
+Nous ne savons pas à l'avance combien de « ressources » nous seront
+alloués pour des projets ; soyez conscient que vous pourriez vous
+retrouver en compétition avec d'autres stagiaires.  Une réponse
+intéressée, voire même enthousiaste de la part de l'un de nos tuteurs ne
+saurait en aucun cas être garantie d'une candidature retenue.  Ne pas
+être accepté ne signifie pas l'évaluation négative d'une candidature et,
+si nous avions à choisir entre plusieurs stagiaires, de nombreux
+critères pourraient entrer en ligne de compte.
+
+@item
+L'intégration dans la communauté LilyPond est une composante
+fondamentale du GSoC et nous engageons tous nos étudiants à s'investir
+dans notre communauté.  Nous vous engageons aussi à rédiger durant la
+« période de boursier » un billet de @emph{blog} autour de votre projet,
+que ce soit sur @uref{http://lilypondblog.org, Scores of Beauty} ou
+ailleurs, et à être actif sur nos listes de diffusion, non seulement
+pour vous présenter mais aussi pour communiquer sur d'autres sujets.
+Ceci va bien au-delà de la simple mise en place d'un environnement de
+travail et la familiarisation avec le code concerné, mais nous croyons
+indispensable que le projet GSoC soit bénéfique à tous.
+
+@item
+Dès lors que vous aurez été retenu pour le programme, un tuteur sera
+explicitement assigé à votre projet.  Vous devrez vous entendre avec ce
+tuteur quant à une stratégie de communication, que ce soit par courriel,
+salons de clavardage, outil de suivi de problèmes, communication audio
+ou vidéo.  Une communication régulière est une composante primordiale
+pour le succès d'un projet GSoC, aussi nous vous enjoignons à toujours
+rester en contact avec votre tuteur.  Gardez cependant à l'esprit que le
+tuteur qui a explicitement endossé la responsabilité d'encadrer votre
+projet le fait, lui, à titre purement gracieux et qu'il portera toute
+son attention à vos travaux.
+
+@item
+Votre mentor ne pourra vous aider et vous assister que si vous lui
+procurez l'occasion de suivre vos efforts et votre progression.  Il est
+donc très important de valider régulièrement vos modifications sur le
+dépôt de versionnage avec lequel vous travaillez.  N'hésirez pas à
+divulguer du code non abouti par peur des critiques et ne gardez pas
+pour vous un questionnement, considérant qu'il serait qualifié de
+stupide.  Dans tous les cas, votre code devrait toujours être accompagné
+d'un test compatible.  Votre tuteur ne saura pas forcément évaluer
+correctement votre code à sa @emph{simple lecture} si vous ne lui
+procurez pas un exemple concret de son efficacité.
+
+@end itemize
 @divEnd
 
+Une liste des projets inactifs est disponible au @rwebnamed{Grenier,
+grenier}.  Y sont recensés des projets toujours considérés comme
+d'actualité mais pour lesquels aucun mentor n'est à ce jour disponible.
+
+@divEnd
 
 
 @node Auteurs