]> git.donarmstrong.com Git - lilypond.git/commitdiff
Merge branch 'paco' into lilypond/translation
authorFrancisco Vila <francisco.vila@hispalinux.es>
Tue, 12 Jan 2010 21:22:46 +0000 (22:22 +0100)
committerFrancisco Vila <francisco.vila@hispalinux.es>
Tue, 12 Jan 2010 21:22:46 +0000 (22:22 +0100)
17 files changed:
Documentation/css/lilypond-web.css
Documentation/fr/learning/common-notation.itely
Documentation/fr/learning/fundamental.itely
Documentation/fr/learning/working.itely
Documentation/fr/notation/keyboards.itely
Documentation/fr/notation/unfretted-strings.itely
Documentation/lilypond-texi2html.init
Documentation/snippets/displaying-complex-chords.ly
Documentation/snippets/new/displaying-complex-chords.ly [new file with mode: 0644]
Documentation/snippets/simple-lead-sheet.ly
ROADMAP
input/regression/scheme-engraver.ly
lily/pango-font.cc
lily/program-option-scheme.cc
lily/text-interface.cc
scm/lily.scm
scripts/lilypond-book.py

index 207897a319fc7ca37d770c29271d0b57a174626f..25d90befd13f8fba15e74287f445889f574f8d50 100644 (file)
@@ -248,18 +248,14 @@ div#tocframe {
   background: #fad58c url(../pictures/color4-bg.png) repeat-x top left;
 }
 
-#tocframe .toc .toc li.toc_current a,
-#tocframe .toc .toc li.toc_current a:hover {
-  color: #000;
-  text-decoration: underline;
+#tocframe .toc .toc li.colorDefault a {
+  background: #8cbc6c url(../pictures/nav-bg-2.png) repeat-x top left;
+  color: #fff;
 }
 
-/* having this useless style makes the perl init file easier */
-#tocframe .toc .toc li.colorDefault a,
 #tocframe .toc .toc li.colorDefault a:hover {
-  background: #8cbc6c url(../pictures/nav-active-2.png) repeat-x top left;
+  background: #8cbc6c url(../pictures/nav-hover-2.png) repeat-x top left;
   color: #fff;
-  text-decoration: underline;
 }
 
 #tocframe .toc .toc li.color1 a:hover {
@@ -278,6 +274,19 @@ div#tocframe {
   background: #fbe69d url(../pictures/color4-hover.png) repeat-x top left;
 }
 
+#tocframe .toc .toc li.toc_current a,
+#tocframe .toc .toc li.toc_current a:hover {
+  color: #000;
+  text-decoration: underline;
+}
+
+#tocframe .toc .toc li.colorDefault.toc_current a,
+#tocframe .toc .toc li.colorDefault.toc_current a:hover {
+  background: #8cbc6c url(../pictures/nav-active-2.png) repeat-x top left;
+  color: #fff;
+  text-decoration: underline;
+}
+
 #tocframe .toc .toc li.color1.toc_current a,
 #tocframe .toc .toc li.color1.toc_current a:hover {
   background: #beee9e url(../pictures/color1-active.png) repeat-x top left;
index db9a96064ad7d312a7dd918a4e1e698c6c118b9a..434a8d74a96465aa22b31e542a3d858f058e5036 100644 (file)
@@ -1,6 +1,6 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 @ignore
-   Translation of GIT committish: 95e6825ee09ca7f8eea87580301c8819ff1d571b
+   Translation of GIT committish: 5a1312de54bc66dfe10a08670db976354e9ae5c3
 
    When revising a translation, copy the HEAD committish of the
    version that you are working on.  See TRANSLATION for details.
@@ -80,7 +80,8 @@ Cette section présente la notation courante dont on a besoin pour
 @funindex eses
 @funindex isis
 
-Glossaire musical : @rglos{sharp}, @rglos{flat}, @rglos{double sharp},
+Glossaire musicologique :
+@rglos{sharp}, @rglos{flat}, @rglos{double sharp},
 @rglos{double flat}, @rglos{accidental}.
 
 Dans la notation par défaut, on obtient un @notation{dièse} en
@@ -120,7 +121,8 @@ cis1 ees fisis, aeses
 @funindex \minor
 @funindex minor
 
-Glossaire musical : @rglos{key signature}, @rglos{major},
+Glossaire musicologique :
+@rglos{key signature}, @rglos{major},
 @rglos{minor}.
 
 L'armure est déterminée par la commande @code{\key}, suivie d'une
@@ -137,7 +139,8 @@ a
 
 @subheading Attention aux armures et aux hauteurs
 
-Glossaire musical : @rglos{accidental}, @rglos{key signature},
+Glossaire musicologique :
+@rglos{accidental}, @rglos{key signature},
 @rglos{pitch}, @rglos{flat}, @rglos{natural}, @rglos{sharp},
 @rglos{transposition}.
 
@@ -196,7 +199,8 @@ Manuel de notation : @ruser{Noms de note dans d'autres langues},
 @ruser{Altérations}, @ruser{Altérations accidentelles automatiques},
 @ruser{Armure}.
 
-Glossaire musical : @rglos{Pitch names}.
+Glossaire musicologique :
+@rglos{Pitch names}.
 
 
 @node Liaisons
@@ -215,7 +219,8 @@ Glossaire musical : @rglos{Pitch names}.
 
 @subheading Liaisons de prolongation
 
-Glossaire musical : @rglos{tie}.
+Glossaire musicologique :
+@rglos{tie}.
 
 Pour créer une liaison de prolongation@footnote{parfois aussi appelée
 liaison de tenue}, on ajoute un tilde @code{~} à la première note
@@ -237,7 +242,8 @@ c4 ~ c8 a8 ~ a2
 @c slur = "il zon" (articulation). jcm
 @c phrasing slur = "ils ont des chapeaux ronds" (phrase). jcm
 
-Glossaire musical : @rglos{slur}, @rglos{phrasing}.
+Glossaire musicologique :
+@rglos{slur}, @rglos{phrasing}.
 
 Une liaison d'articulation ou @emph{legato} peut englober
 plusieurs notes.  Les notes de départ et d'arrivée sont suivies
@@ -265,7 +271,8 @@ a8(\( ais b c) cis2 b'2 a4 cis,\)
 @cindex liaisons d'articulation et de prolongation, différences
 @subheading Attention aux types de liaison
 
-Glossaire musical : @rglos{articulation}, @rglos{slur}, @rglos{tie}.
+Glossaire musicologique :
+@rglos{articulation}, @rglos{slur}, @rglos{tie}.
 
 Une liaison d'articulation ou de phrasé ressemble à une liaison de
 prolongation, mais n'a pas la même signification.  Alors qu'une
@@ -295,7 +302,8 @@ Manuel de notation : @ruser{Liaisons de prolongation},
 @cindex accents
 @cindex staccato
 
-Glossaire musical : @rglos{articulation}.
+Glossaire musicologique :
+@rglos{articulation}.
 
 Des @notation{articulations} peuvent être ajoutées à une note, au moyen
 d'un tiret @code{-} suivi d'un caractère :
@@ -311,7 +319,8 @@ c-. c-- c-> c-^ c-+ c-_
 @funindex ^
 @funindex _
 
-Glossaire musical : @rglos{fingering}.
+Glossaire musicologique :
+@rglos{fingering}.
 
 De même, des indications de doigté peuvent être ajoutées à une note en
 utilisant un tiret (@samp{-}) et le chiffre à écrire :
@@ -346,7 +355,8 @@ c_-^1 d^. f^4_2-> e^-_+
 @funindex \!
 @funindex !
 
-Glossaire musical : @rglos{dynamics}, @rglos{crescendo},
+Glossaire musicologique :
+@rglos{dynamics}, @rglos{crescendo},
 @rglos{decrescendo}.
 
 On obtient un signe de @notation{nuance} en ajoutant à la note les
@@ -427,7 +437,8 @@ Manuel de notation : @ruser{Ajout de texte}.
 @funindex \autoBeamOn
 @funindex autoBeamOn
 
-Glossaire musical : @rglos{beam}.
+Glossaire musicologique :
+@rglos{beam}.
 
 Toutes les barres de ligature sont dessinées automatiquement :
 
@@ -475,7 +486,7 @@ Manuel de notation : @ruser{Barres de ligature automatiques},
 @funindex \partial
 @funindex partial
 
-Glossaire musical : @rglos{anacrusis}.
+Glossaire musicologique : @rglos{anacrusis}.
 
 On crée une levée (ou anacrouse) avec la commande @code{\partial},
 suivie d'une durée : @code{\partial 4} produit une levée d'une noire
@@ -494,7 +505,7 @@ f8 c2 d
 @funindex \times
 @funindex times
 
-Glossaire musical : @rglos{note value}, @rglos{triplet}.
+Glossaire musicologique : @rglos{note value}, @rglos{triplet}.
 
 Les @notation{nolets} sont créés avec la commande @code{\times}, qui
 prend deux arguments : une fraction et une expression musicale.  La
@@ -524,7 +535,7 @@ donc de 2/3 pour les triolets :
 @funindex \appoggiatura
 @funindex acciaccatura
 
-Glossaire musical : @rglos{grace notes}, @rglos{acciaccatura},
+Glossaire musicologique : @rglos{grace notes}, @rglos{acciaccatura},
 @rglos{appoggiatura}.
 
 Des @notation{notes d'ornement} s'obtiennent en appliquant la commande
@@ -643,7 +654,7 @@ de la musique polyphonique.
 @funindex >>
 @funindex << ... >>
 
-Glossaire musical : @rglos{polyphony}.
+Glossaire musicologique : @rglos{polyphony}.
 
 Cette technique est utile pour de la musique @notation{polyphonique}.
 Pour entrer une musique avec plusieurs voix ou plusieurs portées, nous
@@ -785,7 +796,7 @@ la musique polyrythmique.
 @funindex GrandStaff
 @funindex ChoirStaff
 
-Glossaire musical : @rglos{brace}.
+Glossaire musicologique : @rglos{brace}.
 
 La musique pour piano s'écrit sur deux portées reliées par une
 @notation{accolade}.  La gravure de ce type de portée est semblable à
@@ -836,7 +847,7 @@ Manuel de notation : @ruser{Instruments utilisant des portées multiples},
 @funindex >
 @funindex < ... >
 
-Glossaire musical : @rglos{chord}.
+Glossaire musicologique : @rglos{chord}.
 
 Nous avons vu précédemment comment combiner des notes simultanément,
 en les encadrant par des chevrons doubles @code{<<} et @code{>>}.  Pour
@@ -909,7 +920,7 @@ Cette section présente l'écriture vocale et les partitions de variété.
 @funindex \addlyrics
 @funindex addlyrics
 
-Glossaire musical : @rglos{lyrics}.
+Glossaire musicologique : @rglos{lyrics}.
 
 Prenons une mélodie toute simple, la comptine @emph{Girls and boys
 come out to play}.
@@ -957,7 +968,7 @@ produisent en même temps.
 @cindex alignement des paroles
 @cindex paroles, mot de plusieurs syllabes
 
-Glossaire musical : @rglos{melisma}, @rglos{extender line}.
+Glossaire musicologique : @rglos{melisma}, @rglos{extender line}.
 
 La deuxième ligne de la comptine précédente est @emph{The moon doth
 shine as bright as day}.  Ajoutons-la au code.
index de67a5da46c85a48387c47f6d6c1cf12064d639d..f7818ea8709f40678f682f8dab01bf5274cb5c7e 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 
 @ignore
-    Translation of GIT committish: c0ea3a158b80f5f6201e3ebebb82730827431000
+    Translation of GIT committish: 5a1312de54bc66dfe10a08670db976354e9ae5c3
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
@@ -73,7 +73,9 @@ Il existe de nombreuses variantes à ce schéma simpliste, mais cet
 exemple est un préambule à notre propos.
 
 @funindex \book
+@funindex book
 @funindex \score
+@funindex score
 @cindex book, livre, ouvrage
 @cindex livre
 @cindex score, partition
@@ -119,7 +121,7 @@ expression était incluse dans les commandes de notre premier exemple.
 LilyPond, ne font pas apparaître les commandes @code{\new Staff} ou
 @code{\new Voice}, qui sont créées implicitement.  Ce qui
 n'est pas primordial pour des exemples simples le devient dès que la
-situation devient un peu plus complexe.  Le fait de ne pas déclarer
+situation se complexifie un tant soit peu.  Le fait de ne pas déclarer
 explicitement un contexte peut alors amener à des résultats quelque peu
 surprenants, comme la création d'une portée supplémentaire et
 indésirable.  La manière de créer explicitement des contextes est
@@ -161,7 +163,9 @@ d'autres informations :
 @end example
 
 @funindex \header
+@funindex header
 @funindex \layout
+@funindex layout
 @funindex \midi
 @funindex midi
 @cindex header
@@ -187,7 +191,8 @@ Les deux autres commandes -- @code{\layout @{@}} et @code{\midi @{@}}
 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{Mise en forme de la partition} et @ruser{Création de fichiers MIDI}.
+@ruser{Mise en forme de la partition} et 
+@ruser{Création de fichiers MIDI}.
 
 @cindex partitions multiples
 @cindex book,  bloc implicite
@@ -213,6 +218,8 @@ un bloc @code{\book}.
 Tout bloc @code{\score} inclus dans un bloc @code{\book} constitue un
 fragment de musique.
 
+@cindex layout, effets selon l'emplacement
+
 Tout bloc @code{\layout} affecte le bloc @code{\score} ou @code{\book}
 au sein duquel il intervient : si c'est à l'intérieur d'un bloc
 @code{\score}, seul celui-ci en sera affecté.  Dans le cas où le bloc
@@ -266,7 +273,7 @@ Pour une description complète du format des fichiers d'entrée, voir
 @funindex score
 @cindex partition
 @cindex bloc score, contenu
-@cindex Expression musicale composite
+@cindex expression musicale composite
 
 Dans la section précédente, 
 @ref{Introduction à la structure de fichier LilyPond},  nous
@@ -411,7 +418,8 @@ horizontal dans votre éditeur de texte !
 
 
 @seealso
-Manuel de notation : @ruser{Structure d'une partition}.
+Manuel de notation : 
+@ruser{Structure d'une partition}.
 
 
 @node Expressions musicales imbriquées
@@ -687,7 +695,7 @@ traiter trois voix ou plus en ajoutant autant de séparateurs @code{\\}
 que de besoin.
 
 Les contextes @code{Voice} portent les noms @code{"1"}, @code{"2"}, etc.
-Pour chacun de ces contextes, la direction et l'orientation des
+Pour chacun de ces contextes, le positionnement et l'orientation des
 liaisons, hampes, nuances, etc. est définie automatiquement.
 
 @lilypond[quote,verbatim,fragment]
@@ -763,10 +771,13 @@ de telles commandes.
 Voir @ref{Visibilité et couleur des objets} et
 @ref{Utilisation de variables dans les retouches}.
 
+@cindex polyphonie et mode relatif
+@cindex mode relatif et polyphonie
+
 La polyphonie ne modifie en rien la relation entre les notes au sein
-d'un bloc @w{@code{\relative @{ @}}}.  Chaque note est calculée par rapport
-à celle qui la précède, ou bien par rapport à la première note de
-l'accord qui précède.  Ainsi, dans
+d'un bloc @w{@code{\relative @{ @}}}.  Chaque note est calculée par
+rapport à celle qui la précède, ou bien par rapport à la première note
+de l'accord qui précède.  Ainsi, dans
 
 @example
 \relative c' @{ noteA << < noteB noteC > \\ noteD >> noteE @}
@@ -873,7 +884,7 @@ que vous ne comprendriez pas.
 
 Essayons à présent de coder cette musique en partant de zéro.  Comme
 nous le verrons, certaines difficultés vont se présenter.  Partons de ce
-que nous avons appris : utilisons la construction @code{<< \\  >>} pour
+que nous avons appris : utilisons la construction @code{<< \\ >>} pour
 saisir la première mesure dans trois voix :
 
 @lilypond[quote,verbatim,fragment,ragged-right]
@@ -890,13 +901,15 @@ saisir la première mesure dans trois voix :
 @cindex hampes en bas
 @cindex stem up
 @cindex hampes en haut
+@cindex voix et direction des hampes
+@cindex direction des hampes et voix
 
 La direction des hampes est attribuée automatiquement : les voix
 impaires portent des hampes vers le haut, les voix paires des hampes
 vers le bas.  Les hampes des voix 1 et 2 sont orientées comme il faut
 mais celles de la voix 3 devraient, dans le cas qui nous occupe, aller
 vers le bas.  Nous pouvons corriger cela en sautant la voix 3 et en
-plaçant la musique dans la voix 4 :
+plaçant la musique dans la voix 4 grâce à un @code{\\} supplémentaire :
 
 @lilypond[quote,verbatim,fragment,ragged-right]
 \new Staff \relative c'' {
@@ -1201,7 +1214,7 @@ expressions différentes -- des notes et des paroles.
 @cindex Lyrics, création d'un contexte
 @cindex paroles, affectation à une voix
 
-Nous avons déjà abordé la commande @code{\addlyrics}, qui permet de
+Nous avons déjà abordé la commande @code{\addlyrics@{@}}, qui permet de
 gérer des partitions simples.  Cette technique est cependant
 relativement limitée.  Pour de la musique un peu plus compliquée, il
 vous faudra contenir les paroles dans un contexte @code{Lyrics}, créé
@@ -1642,16 +1655,18 @@ Manuel de notation : @ruser{Tout savoir sur les contextes}.
 @funindex new
 
 @cindex nouveaux contextes
-@cindex Contextes, création de
+@cindex contextes, création de
 
 Il en va des contextes comme de toute hiérarchie : il faut un sommet -- 
 le contexte @code{Score} en l'occurence.  La commande @code{\score} est
 chargée de le créer, mais pour des partitions simples, il le sera
-automatiquement. 
+automatiquement.  Le bloc @code{score} contient donc une expression
+musicale unique ainsi que la définition des supports à produire --
+@code{\layout} pour du visuel ou @code{\midi} pour de l'acoustique.
 
 Lorsqu'une partition ne comporte qu'une voix et une seule portée, vous
 pouvez laisser LilyPond créer automatiquement les contextes @code{Voice} 
-et @code{Staff} ; mais leur présence explicite devient indispenssable dès
+et @code{Staff} ; mais leur présence explicite devient indispensable dès
 que la situation se complique.  
 Le moyen le plus simple est d'utiliser la commande @code{\new}.  Elle
 doit intervenir avant une expression musicale, ainsi :
@@ -1666,13 +1681,21 @@ où @var{type} correspond au nom du contexte (tels @code{Staff} ou
 interprète l'@var{expression-musicale} contenue dans ledit
 contexte.  
 
-Notez bien qu'il n'existe pas de commande @code{\new Score}, puisque le
-contexte premier que constitue @code{Score} est créé par @code{\score}. 
+Notez bien que la commande @code{\new Score} n'est pas obligatoire,
+puisque le contexte premier que constitue @code{Score} est créé
+automatiquement par l'interprétation de l'@var{expression-musicale}
+contenue dans le bloc @code{\score}.  Le seul cas où il faut créer
+explicitement un contexte @code{Score} à l'aide de la commande
+@code{\new score} est lorsqu'il comprendra un bloc @code{\with} aux fins
+de stipuler les propriétés de certains contextes qui s'appliqueront à
+l'ensemble de la partition.  Vous trouverez plus dinformation sur
+l'utilisation des blocs @code{\with} au chapitre 
+@ref{Modification des propriétés d'un contexte}. 
 
 Nous avons déjà vu au cours des chapitres précédents de nombreux
 exemples où des contextes @code{Staff} ou @code{Voice} étaient créés au
 besoin.  Dans un but didactique, voici maintenant une application
-complète et largement commentée : 
+complète et abondamment commentée : 
 
 @lilypond[quote,verbatim,ragged-right]
 \score {  % start of single compound music expression
@@ -1722,7 +1745,7 @@ double chevron gauche -- nécessaire pour gérer ses deux voix -- alors que la
 portée MD ne contient qu'une seule expression musicale -- il n'y a
 qu'une voix -- bornée par des accolades simples.
 
-@cindex contexte, noms de
+@cindex contexte, nommage
 @cindex nommage des contextes
 
 La commande @code{\new} peut aussi permettre de nommer le contexte créé,
@@ -1756,7 +1779,7 @@ Manuel de notation : @ruser{Création d'un contexte}.
 @cindex graveurs
 
 Tout point qui compose une partition générée par LilyPond est
-produit par un graveur (@emph{Engraver} en anglais).   Ainsi, il y en a
+produit par un graveur (@emph{engraver} en anglais).   Ainsi, il y en a
 un qui imprime les portées, un autre les têtes de note, un autre les
 hampes, un autre encore pour les ligatures, etc.  LilyPond dispose de
 plus de 120 graveurs ! La plupart des partitions ne requièrent de
@@ -1830,7 +1853,8 @@ lorsqu'on modifie l'action des graveurs.
 
 
 @seealso
-Références internes : @rinternals{Engravers and Performers}.
+Référence des propriétés internes : 
+@rinternals{Engravers and Performers}.
 
 
 @node Modification des propriétés d'un contexte
@@ -2074,6 +2098,27 @@ ce qui donnerait :
 >>
 @end lilypond
 
+Dans le cas où ces ajustements de propriété doivent affecter
+toutes les portées de la partition, nous utiliserons alors
+l'instruction @code{\new Score}, comme ici :
+
+@lilypond[quote,verbatim,ragged-right]
+\score {
+  \new Score \with { extraNatural = ##f } <<
+    \new Staff {
+      \relative c'' {
+        gis ges aes ais
+      }
+    }
+    \new Staff {
+      \relative c'' {
+        gis ges aes ais
+      }
+    }
+  >>
+}
+@end lilypond
+
 Les propriétés réglées de cette manière peuvent néanmoins être modifiées
 de façon dynamique grâce à @code{\set} ; un @code{\unset} les ramènera à
 leur valeur par défaut.
@@ -2132,7 +2177,7 @@ Manuel de notation :
 @c uncomment when backslash-node-name issue is resolved -pm
 @c @ruser{La commande de fixation (set)}.
 
-Références internes : 
+Référence des propriétés internes : 
 @rinternals{Contexts},
 @rinternals{Tunable context properties}.
 
@@ -2189,6 +2234,7 @@ commande se formule ainsi :
 
 @code{\consists @var{Nom_du_graveur}}
 
+@noindent
 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
 d'indiquer ses notes extrêmes.  L'ambitus est généré par
@@ -2302,6 +2348,8 @@ adapter des modèles.
 * Soprano et violoncelle::           
 * Partition pour chœur à quatre voix mixtes::  
 * Écriture d'une partition à partir de zéro::  
+* Économie de saisie grâce aux identificateurs et fonctions::  
+* Conducteurs et parties::            
 @end menu
 
 @node Soprano et violoncelle
@@ -2362,12 +2410,12 @@ melodie = \relative c' @{
 @}
 @end example
 
-On n'a pas besoin de deux commandes @code{\version}.  Ce dont on a besoin,
-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}.
+On n'a pas besoin de deux commandes @code{\version}.  Ce dont on a
+besoin, 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.
@@ -2379,8 +2427,8 @@ définition de départ, où l'on trouve @w{@code{melodie = relative c' @{ }},
 et l'endroit où cette dénomination est utilisée, dans la section 
 @code{\score}.
 
-Et puis, toujours tant qu'on y est, mettons le violoncelle en clé de fa, comme
-le veut l'usage, et donnons-lui d'autres notes.
+Et puis, toujours tant qu'on y est, mettons le violoncelle en clé de fa,
+comme le veut l'usage, et donnons-lui d'autres notes.
 
 @example
 \version @w{"@version{}"}
@@ -2941,3 +2989,234 @@ PedalOrganMusic = \relative c {
 @end lilypond
 
 
+@node Économie de saisie grâce aux identificateurs et fonctions
+@subsection Économie de saisie grâce aux identificateurs et fonctions
+@translationof Saving typing with variables and functions
+
+@cindex variables
+@cindex identificateurs
+
+Jusqu'à maintenant, vous avez vu ce type de code :
+
+@lilypond[quote,verbatim,ragged-right]
+hornNotes = \relative c'' { c4 b dis c }
+\score {
+  {
+    \hornNotes
+  }
+}
+@end lilypond
+
+Vous comprendrez combien cela peut être utile pour écrire de la
+musique minimaliste :
+
+@lilypond[quote,verbatim,ragged-right]
+fragmentA = \relative c'' { a4 a8. b16 }
+fragmentB = \relative c'' { a8. gis16 ees4 }
+violin = \new Staff { \fragmentA \fragmentA \fragmentB \fragmentA }
+\score {
+  {
+    \violin
+  }
+}
+@end lilypond
+
+Néanmoins vous pouvez aussi utiliser ces identificateurs
+-- aussi connus sous le nom de variables, macros, ou commandes
+(définies par l'utilisateur) -- pour des retouches :
+
+@c TODO Avoid padtext - not needed with skylining
+@lilypond[quote,verbatim,ragged-right]
+dolce = \markup{ \italic \bold dolce }
+padText = { \once \override TextScript #'padding = #5.0 }
+fthenp=_\markup{ \dynamic f \italic \small { 2nd } \hspace #0.1 \dynamic p }
+violin = \relative c'' {
+  \repeat volta 2 {
+    c4._\dolce b8 a8 g a b |
+    \padText
+    c4.^"hi there!" d8 e' f g d |
+    c,4.\fthenp b8 c4 c-. |
+  }
+}
+\score {
+  {
+    \violin
+  }
+\layout{ragged-right=##t}
+}
+@end lilypond
+
+Ces identificateurs sont évidemment utiles pour économiser de la
+frappe.  Mais ils peuvent l'être même si vous ne les utilisez qu'une
+seule fois : ils réduisent la complexité.  Regardons l'exemple
+précédent sans aucun identificateur.  C'est beaucoup plus laborieux à
+lire, et particulièrement la dernière ligne.
+
+@example
+violin = \relative c'' @{
+  \repeat volta 2 @{
+    c4._\markup@{ \italic \bold dolce @} b8 a8 g a b |
+    \once \override TextScript #'padding = #5.0
+    c4.^"hi there!" d8 e' f g d |
+    c,4.\markup@{ \dynamic f \italic \small @{ 2nd @}
+      \hspace #0.1 \dynamic p @} b8 c4 c-. |
+  @}
+@}
+@end example
+
+@c TODO Replace the following with a better example  -td
+@c Skylining handles this correctly without padText
+
+Jusqu'ici nous avons vu des substitutions statiques : quand LilyPond
+rencontre @code{\padText}, il le remplace par le contenu que nous lui
+avons défini -- c'est-à-dire le contenu à droite de @code{padText=}.
+
+LilyPond gère également des substitutions non-statiques -- vous
+pouvez les voir comme des fonctions.
+
+@lilypond[quote,verbatim,ragged-right]
+padText =
+#(define-music-function (parser location padding) (number?)
+  #{
+    \once \override TextScript #'padding = #$padding
+  #})
+
+\relative c''' {
+  c4^"piu mosso" b a b
+  \padText #1.8
+  c4^"piu mosso" d e f
+  \padText #2.6
+  c4^"piu mosso" fis a g
+}
+@end lilypond
+
+Utiliser des identificateurs est aussi un bon moyen pour vous épargner
+du travail si la syntaxe de LilyPond change un jour -- voir
+@rprogram{Mise à jour d'anciens fichiers}.  Si vous avez une seule
+définition, par exemple @code{\dolce}, pour tous vos fichiers (voir
+@ref{Feuilles de style}), et que la syntaxe change, alors vous n'aurez
+qu'à mettre à jour votre seule définition @code{\dolce}, au lieu de
+devoir modifier chaque fichier @code{.ly}.
+
+
+@node Conducteurs et parties
+@subsection Conducteurs et parties
+@translationof Scores and parts
+
+Dans la musique d'orchestre, toutes les notes sont imprimées deux fois.
+D'abord dans les parties séparées destinées aux musiciens, et ensuite
+dans le conducteur destiné au chef.  Les variables sont là pour vous
+éviter un double travail.  La musique n'est entrée qu'une seule fois, et
+stockée dans une variable, dont le contenu servira à imprimer à la fois
+la partie séparée et la partition d'orchestre.
+
+Il est judicieux de définir les notes dans un fichier séparé. Par
+exemple, supposons que le fichier @code{musique-Cor.ly} contienne la
+partie suivante pour un duo cor/@/basson.
+
+@example
+notesCor = \relative c @{
+  \time 2/4
+  r4 f8 a cis4 f e d
+@}
+@end example
+
+@noindent
+On établira alors une partie séparée en constituant un nouveau fichier :
+
+@example
+\include "musique-Cor.ly"
+\header @{
+  instrument = "Cor en Fa"
+@}
+
+@{
+ \transpose f c' \notesCor
+@}
+@end example
+
+À la ligne
+
+@example
+\include "musique-Cor.ly"
+@end example
+
+@noindent
+sera substitué le contenu du fichier @code{musique-Cor.ly}, et de ce
+fait la variable @code{notesCor} se trouvera définie.  La commande
+@w{@code{\transpose f c'}} indique que son argument @code{\notesCor}
+sera transposé à la quinte supérieure : le son réel @code{f} s'écrit
+@code{c'}, ce qui est la caractéristique d'un Cor en fa.  La
+transposition est visible comme suit :
+
+@lilypond[quote,ragged-right]
+\transpose f c' \relative c {
+  \time 2/4
+  r4 f8 a cis4 f e d
+}
+@end lilypond
+
+Dans les pièces d'ensemble, il arrive souvent qu'une voix ne joue pas
+pendant plusieurs mesures.  Un silence spécial, appelé silence
+multimesures, l'indique alors.  On l'obtient par un @code{R} majuscule,
+suivi d'une durée : @code{1}@tie{}pour une pause, @code{2}@tie{}pour une
+demi-pause, etc.  Cette durée peut être multipliée pour établir de plus
+longs silences. Par exemple, le silence suivant dure 3@tie{}mesures à 2/4.
+
+@example
+R2*3
+@end example
+
+Dans une partie séparée, les silences multimesure sont compressés.
+Il faut pour cela définir la propriété @code{skipBars} à @qq{vrai} :
+
+@example
+\set Score.skipBars = ##t
+@end example
+
+@noindent
+Cette commande assigne la valeur @qq{vrai} -- @emph{true} en anglais, et
+@code{#t} dans le langage Scheme -- à cette propriété dans le
+contexte @code{Score}.  Si l'on ajoute dans la musique ci-dessus le
+silence multimesure et cette option, on obtient le résultat suivant :
+
+@lilypond[quote,ragged-right]
+\transpose f c' \relative c {
+  \time 2/4
+  \set Score.skipBars = ##t
+  R2*3
+  r4 f8 a cis4 f e d
+}
+@end lilypond
+
+Le conducteur rassemble toute la musique. Si l'on suppose que l'autre
+voix de notre duo se trouve dans le fichier @code{musique-Basson.ly} en
+tant que variable @code{notesBasson}, on établira un conducteur avec
+
+@example
+\include "musique-Basson.ly"
+\include "musique-Cor.ly"
+
+<<
+  \new Staff \notesCor
+  \new Staff \notesBasson
+>>
+@end example
+
+@noindent
+ce qui équivaut à
+
+@lilypond[quote,ragged-right]
+\relative c <<
+  \new Staff {
+    \time 2/4 R2*3
+    r4 f8 a cis4 f e d
+  }
+  \new Staff {
+    \clef bass
+    r4 d,8 f | gis4 c | b bes |
+    a8 e f4 | g d | gis f
+  }
+>>
+@end lilypond
+
index 0a2a23966de02128f8596e9179fe2dea54e405ac..ecd55b616f7bb0f61dec3245ab8ab88997dbfe7c 100644 (file)
@@ -1,6 +1,6 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 @ignore
-   Translation of GIT committish: 35dc92475b9341fbbbaf194afcc2c6e2561840ac
+   Translation of GIT committish: 5a1312de54bc66dfe10a08670db976354e9ae5c3
 
    When revising a translation, copy the HEAD committish of the
    version that you are working on.  See TRANSLATION for details.
@@ -23,7 +23,6 @@ de même pas votre temps à lire ce chapitre.
 @menu
 * Suggestions pour la saisie de fichiers LilyPond::
 * Quand ça ne fonctionne pas::      
-* Conducteurs et parties::            
 * De la commande @command{make} et des fichiers @code{Makefile}::
 @end menu
 
@@ -63,7 +62,6 @@ faciliter leur mise à jour.
 * Suggestions générales::         
 * Gravure de musique existante::  
 * Projets d'envergure::              
-* Économie de saisie grâce aux identificateurs et fonctions::  
 * Feuilles de style::                
 @end menu
 
@@ -216,115 +214,6 @@ g4\fpuisp c'8. e16
 @end itemize
 
 
-@node Économie de saisie grâce aux identificateurs et fonctions
-@subsection Économie de saisie grâce aux identificateurs et fonctions
-@translationof Saving typing with variables and functions
-
-@cindex variables
-@cindex identificateurs
-
-Jusqu'à maintenant, vous avez vu ce type de code :
-
-@lilypond[quote,verbatim,ragged-right]
-hornNotes = \relative c'' { c4 b dis c }
-\score {
-  {
-    \hornNotes
-  }
-}
-@end lilypond
-
-Vous comprendrez combien cela peut être utile pour écrire de la
-musique minimaliste :
-
-@lilypond[quote,verbatim,ragged-right]
-fragmentA = \relative c'' { a4 a8. b16 }
-fragmentB = \relative c'' { a8. gis16 ees4 }
-violin = \new Staff { \fragmentA \fragmentA \fragmentB \fragmentA }
-\score {
-  {
-    \violin
-  }
-}
-@end lilypond
-
-Néanmoins vous pouvez aussi utiliser ces identificateurs
--- aussi connus sous le nom de variables, macros, ou commandes
-(définies par l'utilisateur) -- pour des retouches :
-
-@lilypond[quote,verbatim,ragged-right]
-dolce = \markup{ \italic \bold dolce }
-padText = { \once \override TextScript #'padding = #5.0 }
-fthenp=_\markup{ \dynamic f \italic \small { 2nd } \hspace #0.1 \dynamic p }
-violin = \relative c'' {
-  \repeat volta 2 {
-    c4._\dolce b8 a8 g a b |
-    \padText
-    c4.^"hi there!" d8 e' f g d |
-    c,4.\fthenp b8 c4 c-. |
-  }
-}
-\score {
-  {
-    \violin
-  }
-\layout{ragged-right=##t}
-}
-@end lilypond
-
-Ces identificateurs sont évidemment utiles pour économiser de la
-frappe.  Mais ils peuvent l'être même si vous ne les utilisez qu'une
-seule fois : ils réduisent la complexité.  Regardons l'exemple
-précédent sans aucun identificateur.  C'est beaucoup plus laborieux à
-lire, et particulièrement la dernière ligne.
-
-@example
-violin = \relative c'' @{
-  \repeat volta 2 @{
-    c4._\markup@{ \italic \bold dolce @} b8 a8 g a b |
-    \once \override TextScript #'padding = #5.0
-    c4.^"hi there!" d8 e' f g d |
-    c,4.\markup@{ \dynamic f \italic \small @{ 2nd @}
-      \hspace #0.1 \dynamic p @} b8 c4 c-. |
-  @}
-@}
-@end example
-
-@c TODO Replace the following with a better example  -td
-@c Skylining handles this correctly without padText
-
-Jusqu'ici nous avons vu des substitutions statiques : quand LilyPond
-rencontre @code{\padText}, il le remplace par le contenu que nous lui
-avons défini -- c'est-à-dire le contenu à droite de @code{padText=}.
-
-LilyPond gère également des substitutions non-statiques -- vous
-pouvez les voir comme des fonctions.
-
-@lilypond[quote,verbatim,ragged-right]
-padText =
-#(define-music-function (parser location padding) (number?)
-  #{
-    \once \override TextScript #'padding = #$padding
-  #})
-
-\relative c''' {
-  c4^"piu mosso" b a b
-  \padText #1.8
-  c4^"piu mosso" d e f
-  \padText #2.6
-  c4^"piu mosso" fis a g
-}
-@end lilypond
-
-Utiliser des identificateurs est aussi un bon moyen pour vous épargner
-du travail si la syntaxe de LilyPond change un jour -- voir
-@ref{Mise à jour d'anciens fichiers}.  Si vous avez une seule
-définition, par exemple @code{\dolce}, pour tous vos fichiers (voir
-@ref{Feuilles de style}), et que la syntaxe change, alors vous n'aurez
-qu'à mettre à jour votre seule définition @code{\dolce}, au lieu de
-devoir modifier chaque fichier @code{.ly}.
-
-
 @node Feuilles de style
 @subsection Feuilles de style
 @translationof Style sheets
@@ -867,133 +756,6 @@ l'intérêt de l'exemple.
 @end itemize
 
 
-@node Conducteurs et parties
-@section Conducteurs et parties
-@translationof Scores and parts
-
-Dans la musique d'orchestre, toutes les notes sont imprimées deux fois.
-D'abord dans les parties séparées destinées aux musiciens, et ensuite
-dans le conducteur destiné au chef.  Les variables sont là pour vous
-éviter un double travail.  La musique n'est entrée qu'une seule fois, et
-stockée dans une variable, dont le contenu servira à imprimer à la fois
-la partie séparée et la partition d'orchestre.
-
-Il est judicieux de définir les notes dans un fichier séparé. Par
-exemple, supposons que le fichier @code{musique-Cor.ly} contienne la
-partie suivante pour un duo cor/@/basson.
-
-@example
-notesCor = \relative c @{
-  \time 2/4
-  r4 f8 a cis4 f e d
-@}
-@end example
-
-@noindent
-On établira alors une partie séparée en constituant un nouveau fichier :
-
-@example
-\include "musique-Cor.ly"
-\header @{
-  instrument = "Cor en Fa"
-@}
-
-@{
- \transpose f c' \notesCor
-@}
-@end example
-
-À la ligne
-
-@example
-\include "musique-Cor.ly"
-@end example
-
-@noindent
-sera substitué le contenu du fichier @code{musique-Cor.ly}, et de ce
-fait la variable @code{notesCor} se trouvera définie.  La commande
-@w{@code{\transpose f c'}} indique que son argument @code{\notesCor}
-sera transposé à la quinte supérieure : le son réel @code{f} s'écrit
-@code{c'}, ce qui est la caractéristique d'un Cor en fa.  La
-transposition est visible comme suit :
-
-@lilypond[quote,ragged-right]
-\transpose f c' \relative c {
-  \time 2/4
-  r4 f8 a cis4 f e d
-}
-@end lilypond
-
-Dans les pièces d'ensemble, il arrive souvent qu'une voix ne joue pas
-pendant plusieurs mesures.  Un silence spécial, appelé silence
-multimesures, l'indique alors.  On l'obtient par un @code{R} majuscule,
-suivi d'une durée : @code{1}@tie{}pour une pause, @code{2}@tie{}pour une
-demi-pause, etc.  Cette durée peut être multipliée pour établir de plus
-longs silences. Par exemple, le silence suivant dure 3@tie{}mesures à 2/4.
-
-@example
-R2*3
-@end example
-
-Dans une partie séparée, les silences multimesure sont compressés.
-Il faut pour cela définir la propriété @code{skipBars} à @qq{vrai} :
-
-@example
-\set Score.skipBars = ##t
-@end example
-
-@noindent
-Cette commande assigne la valeur @qq{vrai} -- @emph{true} en anglais, et
-@code{#t} dans le langage Scheme -- à cette propriété dans le
-contexte @code{Score}.  Si l'on ajoute dans la musique ci-dessus le
-silence multimesure et cette option, on obtient le résultat suivant :
-
-@lilypond[quote,ragged-right]
-\transpose f c' \relative c {
-  \time 2/4
-  \set Score.skipBars = ##t
-  R2*3
-  r4 f8 a cis4 f e d
-}
-@end lilypond
-
-Le conducteur rassemble toute la musique. Si l'on suppose que l'autre
-voix de notre duo se trouve dans le fichier @code{musique-Basson.ly} en
-tant que variable @code{notesBasson}, on établira un conducteur avec
-
-@example
-\include "musique-Basson.ly"
-\include "musique-Cor.ly"
-
-<<
-  \new Staff \notesCor
-  \new Staff \notesBasson
->>
-@end example
-
-@noindent
-ce qui équivaut à
-
-@lilypond[quote,ragged-right]
-\relative c <<
-  \new Staff {
-    \time 2/4 R2*3
-    r4 f8 a cis4 f e d
-  }
-  \new Staff {
-    \clef bass
-    r4 d,8 f | gis4 c | b bes |
-    a8 e f4 | g d | gis f
-  }
->>
-@end lilypond
-
-Des informations plus détaillées sur la mise en place de conducteurs
-et de parties séparées se trouvent dans le manuel de notation : voir
-@ruser{Écriture de parties séparées}.
-
-Les variables (@qq{propriétés}) réglables sont abordées en détail dans
-@ruser{La commande de fixation (set)}.
 
 
 
index 654437237cda6d509babbca12d2a074827d7efd4..eb848842e032406ff7ded9868150f8e701814e01 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 
 @ignore
-    Translation of GIT committish: 15ef26d4cde4d2d170e88a13867169d4e75026ae
+    Translation of GIT committish: 5a1312de54bc66dfe10a08670db976354e9ae5c3
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
@@ -182,8 +182,11 @@ La valeur @var{nomDeLaPortee} est le nom de la portée sur laquelle va se
 déplacer la voix courante.  Pour des raisons pratiques, on nomme la portée
 supérieure @code{"haut"} et la portée inférieure @code{"bas"}, donc
 @var{nomDeLaPortee} désigne habituellement @code{"haut"}, @code{"bas"},
-@code{"MD"} ou @code{"MG"}.  Dans tous les cas, le contexte de
-portée ainsi utilisé doit exister au préalable. 
+@code{"MD"} ou @code{"MG"}.  
+
+Dans tous les cas, le contexte de portée ainsi utilisé doit exister au
+préalable.  Le cas échéant, vous devrez qq{garder actives} certaines
+portées -- voir @ref{Conservation d'un contexte} à ce propos.
 
 Pour ligaturer automatiquement des notes entre deux portées, procédez
 ainsi : 
@@ -221,7 +224,8 @@ Manuel d'initiation :
 
 Manuel de notation :
 @ref{Hampes},
-@ref{Barres de ligature automatiques}.
+@ref{Barres de ligature automatiques},
+@ref{Conservation d'un contexte}.
 
 Exemples de code :
 @rlsr{Keyboards}.
@@ -615,7 +619,7 @@ d'autres chapitres, telles que :
 @ref{Glissando}.
 
 @item Le @notation{bisbigliando}, qui s'écrit comme un trémolo, 
-@ref{Répétitions en trémolo}
+@ref{Répétitions en trémolo}.
 
 @item Les harmoniques naturelles sont présentées dans @ref{Harmoniques}.
 
@@ -625,10 +629,10 @@ d'autres chapitres, telles que :
 
 @seealso
 Manuel de notation :
-@ref{Répétitions en trémolo}
-@ref{Glissando}
-@ref{Arpèges}
-@ref{Harmoniques}
+@ref{Répétitions en trémolo},
+@ref{Glissando},
+@ref{Arpèges},
+@ref{Harmoniques}.
 
 @node Pédales de harpe
 @unnumberedsubsubsec Pédales de harpe
@@ -650,8 +654,10 @@ position peut être indiquée par une marque textuelle :
 
 @lilypond[quote,verbatim,relative=2]
 \textLengthOn
-cis1_\markup \concat \vcenter { [D \flat C \sharp B|E \sharp F \sharp G A \flat] }
-c!1_\markup \concat \vcenter {[ C \natural ]}
+cis1_\markup \concat \vcenter {
+  [D \flat C \sharp B|E \sharp F \sharp G A \flat] }
+c!1_\markup \concat \vcenter {
+  [ C \natural ]}
 @end lilypond
 
 ou bien sous forme de diagrammes :
@@ -672,6 +678,6 @@ un symbole par un @code{o} permet de l'inscrire dans un cercle.
 
 @seealso
 Manuel de notation :
-@ref{Commentaires textuels}
-@ref{Instrument Specific Markup}
+@ref{Commentaires textuels},
+@ref{Instrument Specific Markup}.
 
index 5eb3d83dc051d42ddfa3a5de7f3a87a3504034ec..0501fac5060f8e6b8df40e4f5d9c0177a15f318e 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 
 @ignore
-    Translation of GIT committish: 3f880f886831b8c72c9e944b3872458c30c6c839
+    Translation of GIT committish: 5a1312de54bc66dfe10a08670db976354e9ae5c3
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
@@ -143,26 +143,25 @@ Manuel de notation :
 @strong{@i{Harmoniques naturels}}
 
 @cindex harmoniques naturels
-@cindex naturels, harmoniques 
+@cindex naturels, harmoniques
+@cindex tête de note en losange
+@cindex losange, tête de note
+
+@funindex \harmonicsOn
+@funindex \harmonicsOff
 
 Les harmoniques naturels sont indiqués de différentes manières : une
 tête de note en forme de losange signifie généralement que vous devez
 effleurer la corde à l'endroit où vous l'auriez pincée si la note avait
 été normale. 
 
-@warning{Les harmoniques @strong{doivent} être indiqués dans une
-construction de type accord même s'il n'y a qu'une seule note.} 
-
-@c TODO If the default for harmonicDots is changed, change this
-
-La propriété @code{harmonicDots}, lorsqu'elle est activée, permet
-d'ajouter un point point aux notes pointées affublées d'un
-@code{\harmonic}. 
-
 @lilypond[verbatim,quote,relative=2]
-<d\harmonic>4 <e\harmonic>2.
-\set harmonicDots = ##t
-<d\harmonic>4 <e\harmonic>2.
+d4 e4.
+\harmonicsOn
+d8 e e
+d4 e4.
+\harmonicsOff
+d8 e e
 @end lilypond
 
 Une autre façon de procéder consiste à faire surmonter la note normale
@@ -185,10 +184,31 @@ Les harmoniques artificiels sont indiqués par une double tête de note :
 l'une, normale, indique la note à pincer, et l'autre, en forme de
 losange, indique l'endroit où la corde doit être effleurée. 
 
-@lilypond[verbatim,quote,relative=1]
-<e a\harmonic>2  <c g'\harmonic>
+
+@c TODO If the default for harmonicDots is changed, change this
+La propriété @code{harmonicDots}, lorsqu'elle est activée, permet
+d'ajouter un point aux notes pointées affublées d'un @code{\harmonic}. 
+
+@lilypond[verbatim,quote,relative=2]
+<e a\harmonic>2.  <c g'\harmonic>4
+\set harmonicDots = ##t
+<e a\harmonic>2.  <c g'\harmonic>4
 @end lilypond
 
+@warning{La commande @code{@bs{}harmonic} @strong{doivent} être placée
+dans une construction de type accord même s'il n'y a qu'une seule note.
+On utiliserait plutôt la commande @code{@bs{}harmonicsOn} en pareil
+cas.} 
+
+@seealso
+Glossaire musicologique :
+@rglos{harmonics}.
+
+Manuel de notation :
+@ref{Têtes de note spécifiques},
+@ref{Références en matière de cordes non frettées}.
+
+
 @node Snap (Bartók) pizzicato
 @unnumberedsubsubsec Snap (Bartók) pizzicato
 @translationof Snap (Bartók) pizzicato
index 666aa015ac12de151f932d070fcad037d0c50d25..7bea5ad3ac153bbd75e79851f1d4f3e76647f982 100644 (file)
@@ -1064,7 +1064,7 @@ push @Texi2HTML::Config::command_handler_process, \&lilypond_init_toc_depth;
 # -) the parent is a numbered element at top-level toplevel (i.e. show numbered
 #    and unnumbered 2nd-level children of numbered nodes)
 # -) the child element is a numbered node below level maxlevel
-sub generate_ly_toc_entries($$$$)
+sub generate_ly_toc_entries($$$$$)
 {
   my $element = shift;
   my $element_path = shift;
@@ -1073,6 +1073,7 @@ sub generate_ly_toc_entries($$$$)
     $maxlevel = 1;
   }
   my $child_count = shift;
+  my $current_element = shift;
   # Skip undefined sections, plus all sections generated by index splitting
   return() if (not defined($element) or exists($element->{'index_page'}));
   my @result = ();
@@ -1113,7 +1114,7 @@ sub generate_ly_toc_entries($$$$)
       my $below_maxlevel = $c->{'toc_level'} le $maxlevel;
       if ($force_children or ($is_numbered_child and $below_maxlevel)) {
         my @child_res =
-           generate_ly_toc_entries($c, $element_path, $maxlevel, $sub_child_count);
+           generate_ly_toc_entries($c, $element_path, $maxlevel, $sub_child_count, $current_element);
         push (@child_result, @child_res);
        $sub_child_count += 1;
       }
@@ -1123,7 +1124,9 @@ sub generate_ly_toc_entries($$$$)
     if (@child_result) {
       push (@result, "\n$ind<ul$NO_BULLET_LIST_ATTRIBUTE>\n");
       if ($web_manual) {
-        push (@result, "$ind<li class=\"colorDefault toc_current\">" .
+        push (@result, "$ind<li class=\"colorDefault" .
+             ($element->{'text'} eq $current_element->{'text'} ?
+              ' toc_current">' : '">') .
              &$anchor ($element->{'tocid'},
                        "$element->{'file'}#$element->{'target'}",
                        $element->{'text'}) . "</li>\n");
@@ -1177,7 +1180,7 @@ sub lilypond_generate_page_toc_body($)
     }
     my $children = $current_element->{'section_childs'};
     foreach ( @$children ) {
-      push (@toc_entries, generate_ly_toc_entries($_, \%parentelements, $page_toc_depth, 0));
+      push (@toc_entries, generate_ly_toc_entries($_, \%parentelements, $page_toc_depth, 0, $element));
     }
     # search box
     local $/=undef;
@@ -1186,7 +1189,7 @@ sub lilypond_generate_page_toc_body($)
     open FILE, "$ENV{TOP_SRC_DIR}/Documentation/$lang/$name.ihtml" or
        open FILE, "$ENV{TOP_SRC_DIR}/Documentation/$name.ihtml"  or
        die "no such file: $name.ihtml: $!";
-    my $search_string = <FILE>;
+    my $search_string = decode ('UTF-8', <FILE>);
     $search_string = "<li>\n" . $search_string . "</li>\n";
     push (@toc_entries, $search_string);
     close FILE;
index 223a6e76e0945f1234221cb6a0487ae7fce5b9b4..a1f8986d480d062797bd728d6277a04c2b5ef9ba 100644 (file)
@@ -1,32 +1,30 @@
-%% Do not edit this file; it is automatically
-%% generated from LSR http://lsr.dsi.unimi.it
-%% This file is in the public domain.
+% Do not edit this file; it is automatically
+% generated from Documentation/snippets/new
+% This file is in the public domain.
+%% Note: this file works from version 2.13.1
 \version "2.13.10"
 
 \header {
   lsrtags = "simultaneous-notes, chords"
-
   texidoc = "
 Here is a way to display a chord where the same note is played twice
 with different accidentals.
-
 "
   doctitle = "Displaying complex chords"
 } % begin verbatim
 
+
 fixA = {
   \once \override Stem #'length = #9
-  \once \override Accidental #'extra-offset = #'(0.3 . 0)
 }
 fixB = {
-  \once \override NoteHead #'extra-offset = #'(1.7 . 0)
+  \once \override NoteHead #'X-offset = #1.7
   \once \override Stem #'rotation = #'(45 0 0)
   \once \override Stem #'extra-offset = #'(-0.2 . -0.2)
   \once \override Stem #'flag-style = #'no-flag
-  \once \override Accidental #'extra-offset = #'(3.1 . 0)
+  \once \override Accidental #'extra-offset = #'(4 . 0)
 }
 
 \relative c' {
   << { \fixA <b d!>8 } \\ { \voiceThree \fixB dis } >> s
 }
-
diff --git a/Documentation/snippets/new/displaying-complex-chords.ly b/Documentation/snippets/new/displaying-complex-chords.ly
new file mode 100644 (file)
index 0000000..1a49541
--- /dev/null
@@ -0,0 +1,25 @@
+\version "2.13.1"
+
+\header {
+  lsrtags = "simultaneous-notes, chords"
+  texidoc = "
+Here is a way to display a chord where the same note is played twice
+with different accidentals.
+"
+  doctitle = "Displaying complex chords"
+}
+
+fixA = {
+  \once \override Stem #'length = #9
+}
+fixB = {
+  \once \override NoteHead #'X-offset = #1.7
+  \once \override Stem #'rotation = #'(45 0 0)
+  \once \override Stem #'extra-offset = #'(-0.2 . -0.2)
+  \once \override Stem #'flag-style = #'no-flag
+  \once \override Accidental #'extra-offset = #'(4 . 0)
+}
+
+\relative c' {
+  << { \fixA <b d!>8 } \\ { \voiceThree \fixB dis } >> s
+}
index 912d1f94d4887435001555c987f3e705eccc1f20..21cf367d5013225a0b55c095ee220453e1484bf3 100644 (file)
@@ -4,7 +4,7 @@
 \version "2.13.10"
 
 \header {
-%% Translation of GIT committish: 
+%% Translation of GIT committish: b7ec64504da87595509ae6e88ae546d6a0ce633d
   texidocfr = "
 Pour obtenir la partition d'un chanson, il suffit d'assembler
 des noms d'accords, une mélodie et des paroles :
diff --git a/ROADMAP b/ROADMAP
index 25425e862b6a39119df2aca587bdeb9140d25ae0..b36db98ce16bd62727eaf856905062461b827450 100644 (file)
--- a/ROADMAP
+++ b/ROADMAP
@@ -15,31 +15,37 @@ source files.
        application/     Source files for Application Usage manual
        essay/           Academic material and .bib files with references
                           to books and articles
-       contributor/     Source files for the Contribotor's Guide
+       contributor/     Source files for the Contributor's Guide
+       css/             CSS files for documentation in HTML
+       extending/       Source files for the Extending manual
+       included/        Snippets included in manuals
        learning/        Source files for the Learning Manual
+       logo/            The logo
        misc/            Old announcements, ChangeLogs and NEWS
        notation/        Source files for Notation Reference manual
-       pictures/        The logo
+       pictures/        Pictures and graphics used in the documentation
        snippets/        Snippets from the LilyPond Snippet Repository
                           (auto-generated, do not modify!)
            new/         Snippets which are too new for LSR
        topdocs/         Sources for the toplevel READMEs
                           (README.txt, INSTALL.txt etc.)
-       user/            User manuals
-       po/              Translated manual node names
+       po/              Translations for build and maintenance scripts
+       web/             lilypond.org website (a.k.a. General Information for
+                        offline documentation)
+           ly-examples/ LilyPond examples for the website
        fr/ es/ de/      Docs translated to French, Spanish, German, resp.
-       ja/              Docs translated to Japanese
+       ja/ hu/ it/      Docs translated to Japanese, Hungarian, Italian, resp.
+           Every subdirectory of Documentation/ that contains localizable
+           source files may be present in the directory of a translation;
+           in addition, each translation directory may contain a ubsdirectory
+          texidocs/ that contains the translation of snippets texidocs.
    elisp/               Emacs LilyPond mode and syntax coloring
    flower/              A simple C++ library
    input/               Music input examples
-       manual/          Examples from the manual
-       mutopia/         Real music, more at www.mutopiaproject.org
        regression/      Testing of features, one test per file
-       tutorial/        Examples from the tutorial 
    lily/                C++ sources for the LilyPond binary
    ly/                  System music include files
-   make/                Specific make subroutines and packaging for
-                          Red Hat-like distributions (.spec files)
+   make/                Specific make subroutines
    mf/                  MetaFont sources for the Emmentaler and Aybabtu fonts
    po/                  Translations for binaries and end-user scripts
    ps/                  PostScript library files
index ee7f3ea11ed4e5936d27d5f9872c459b41746cc4..ae87b107ba87ea5d38aa182c64d2ae96e0642fa8 100644 (file)
@@ -5,7 +5,7 @@
 
 }
 
-\version "2.13.9"
+\version "2.13.11"
 
 \layout {
   \context {
@@ -55,7 +55,7 @@
        (display (list "process-acknowledged"
                  (ly:context-current-moment
                   (ly:translator-context trans)) "\n"))))
-      (cons 'start-translation-timestep
+      (cons 'stop-translation-timestep
        (lambda (trans)
        (display (list "stop-trans"
                  (ly:context-current-moment
@@ -70,7 +70,6 @@
                }}
 
 
-\relative {
+\relative c' {
   c8[ r c]
-
 }
index 1b90dcfed37be657483adf359f40d8687305b0d2..86affcd7823275492618b76fecb88719ad16b957 100644 (file)
@@ -300,20 +300,22 @@ Pango_font::physical_font_tab () const
 }
 
 Stencil
-Pango_font::word_stencil (string str, bool feta) const
+Pango_font::word_stencil (string str, bool music_string) const
 {
-  return text_stencil (str, feta, true);
+  return text_stencil (str, music_string, true);
 }
 
 Stencil
-Pango_font::text_stencil (string str, bool feta) const
+Pango_font::text_stencil (string str, bool music_string) const
 {
-  return text_stencil (str, feta, false);
+  return text_stencil (str, music_string, false);
 }
 
+extern bool music_strings_to_paths;
+
 Stencil
 Pango_font::text_stencil (string str,
-                         bool feta,
+                         bool music_string,
                          bool tight) const
 {
   /*
@@ -367,21 +369,23 @@ Pango_font::text_stencil (string str,
       SCM utf8_string = ly_module_lookup (mod, ly_symbol2scm ("utf-8-string"));
       /*
        has_utf8_string should only be true when utf8_string is a
-       variable that is bound to a *named* procedure.
+       variable that is bound to a *named* procedure, i.e. not a
+       lambda expression.
       */
       if (utf8_string != SCM_BOOL_F
          && scm_procedure_name (SCM_VARIABLE_REF (utf8_string)) != SCM_BOOL_F)
        has_utf8_string = true;
     }
 
-  /*
-    The SVG backend only uses utf-8-string for the non-music
-    fonts, hence the check here.  --pmccarty
+  bool to_paths = music_strings_to_paths;
 
-    TODO: use a program option (-dmusic-strings-to-paths) here
-    instead that is enabled only when -dbackend=svg.
+  /*
+    Backends with the utf-8-string expression use it when
+      1) the -dmusic-strings-to-paths option is set
+         and `str' is not a music string, or
+      2) the -dmusic-strings-to-paths option is not set.
   */
-  if ((name == "svg" && !feta) || (name != "svg" && has_utf8_string))
+  if (has_utf8_string && ((to_paths && !music_string) || !to_paths))
     {
       // For Pango based backends, we take a shortcut.
       SCM exp = scm_list_3 (ly_symbol2scm ("utf-8-string"),
index 86c57226d1ed734abe32c4431bac40db656bdefd..a7de8218634ccd8419106b3761efbff26b635cf2 100644 (file)
@@ -34,6 +34,7 @@ bool debug_skylines;
 bool debug_property_callbacks;
 bool debug_page_breaking_scoring;
 
+bool music_strings_to_paths;
 bool relative_includes;
 
 /*
@@ -126,6 +127,11 @@ internal_set_option (SCM var,
     }
   else if (var == ly_symbol2scm ("warning-as-error"))
     val = scm_from_bool (to_boolean (val));
+  else if (var == ly_symbol2scm ("music-strings-to-paths"))
+    {
+      music_strings_to_paths = to_boolean (val);
+      val = scm_from_bool (to_boolean (val));
+    }
 
   scm_hashq_set_x (option_hash, var, val);
 }
index 58067cffc91d016d24a0de68e6d94921d5d77e6e..3bf81c4643e31715e6fac27e1652bc2a2ac71f4a 100644 (file)
@@ -66,10 +66,9 @@ Text_interface::interpret_string (SCM layout_smob,
   replace_whitespace (&str);
 
   /*
-    We want to use "glyph-string" in the SVG backend for all
-    music fonts (Emmentaler and Aybabtu) that pass through the
-    text interface.  Here the font encoding is checked to see if
-    it matches one of the music font encodings.  --pmccarty
+    We want to filter strings with a music font that pass through
+    the text interface.  Here the font encoding is checked to see
+    if it matches one of the music font encodings.  --pmccarty
   */
   SCM encoding = ly_chain_assoc_get (ly_symbol2scm ("font-encoding"),
                                     props,
index 9a152ed0aa66f3384f32644b3c16fc080f9eccc3..b72878f61b9f170ce39c0cce3cde1bac6d404148 100644 (file)
@@ -115,6 +115,9 @@ output to log file `FOO.log'.")
                         "midi")
 "Set the default file extension for MIDI output
 file to given string.")
+    (music-strings-to-paths #f
+"Convert text strings to paths when glyphs belong
+to a music font.")
     (old-relative #f
 "Make \\relative mode for simultaneous music work
 similar to chord syntax.")
@@ -245,6 +248,11 @@ messages into errors.")
 
 (define-public parser #f)
 
+(define music-string-to-path-backends
+  '(svg))
+
+(if (memq (ly:get-option 'backend) music-string-to-path-backends)
+    (ly:set-option 'music-strings-to-paths #t))
 
 ;; gettext wrapper for guile < 1.7.2
 (if (defined? 'gettext)
index 5dd263b6ac10bae988aa2ef86634c4749f2b4994..202af654087c5e9fe5931f8eb36e2d70669375fe 100644 (file)
@@ -164,7 +164,8 @@ def get_option_parser ():
                   default='')
 
     p.add_option ('--latex-program',
-                  help=_ ("run executable PROG instead of latex"),
+                  help=_ ("run executable PROG instead of latex, or in\n\
+case --pdf option is set instead of pdflatex"),
                   metavar=_ ("PROG"),
                   action='store', dest='latex_program',
                   default='latex')
@@ -2150,6 +2151,8 @@ def main ():
         global_options.process_cmd += ' --formats=eps '
         if global_options.create_pdf:
             global_options.process_cmd += "--pdf -dinclude-eps-fonts -dgs-load-fonts "
+            if global_options.latex_program == 'latex':
+                global_options.latex_program = 'pdflatex'
 
     if global_options.verbose:
         global_options.process_cmd += " --verbose "