X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Ffr%2Fnotation%2Fprogramming-interface.itely;h=e5c8ade4baed10dad791b38a8904de0787f8b667;hb=31097723b2b816696ad61696630a80ff17a39557;hp=d1a4865ac4d0013cfbaa50da230d9d6999c4afc7;hpb=3d8089a42af6304edb8dad56220e845c84832bb2;p=lilypond.git diff --git a/Documentation/fr/notation/programming-interface.itely b/Documentation/fr/notation/programming-interface.itely index d1a4865ac4..e5c8ade4ba 100644 --- a/Documentation/fr/notation/programming-interface.itely +++ b/Documentation/fr/notation/programming-interface.itely @@ -1,230 +1,258 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*- @ignore - Translation of GIT committish: 76de7e168dbc9ffc7671d99663c5ce50dae42abb + Translation of GIT committish: 3f4496001441e0b1b27d7bc5395c4520f4f2088c When revising a translation, copy the HEAD committish of the - version that you are working on. See TRANSLATION for details. + version that you are working on. For details, see the Contributors' + Guide, node Updating translation committishes.. @end ignore @c \version "2.12.0" @c Translators: Valentin Villenave -@c Translation checkers: Gilles Thibault +@c Translation checkers: Gilles Thibault, Jean-Charles Malahieude -@node Interfaces for programmers -@chapter Interfaces for programmers +@node Interfaces pour les programmeurs +@chapter Interfaces pour les programmeurs +@translationof Interfaces for programmers @untranslated @menu -* Music functions:: -* Programmer interfaces:: -* Building complicated functions:: -* Markup programmer interface:: -* Contexts for programmers:: -* Scheme procedures as properties:: -* Using Scheme code instead of tweak:: -* Difficult tweaks:: +* Fonctions musicales:: +* Interfaces de programmation:: +* Construction de fonctions complexes:: +* Interface de programmation des marqueurs de texte:: +* Contextes pour programmeurs:: +* Utilisation de procédures Scheme en tant que propriétés:: +* Utilisation de code Scheme au lieu de \"tweak\":: +* Retouches complexes:: @end menu -@node Music functions -@section Music functions +@node Fonctions musicales +@section Fonctions musicales +@translationof Music functions @untranslated @menu -* Overview of music functions:: -* Simple substitution functions:: -* Paired substitution functions:: -* Mathematics in functions:: -* Void functions:: -* Functions without arguments:: -* Overview of available music functions:: +* Aperçu des fonctions musicales:: +* Fonctions de substitution simple:: +* Fonctions de substitution par paire:: +* De l'usage des mathématiques dans les fonctions:: +* Fonctions fantômes:: +* Fonctions dépourvues d'argument:: +* Liste des fonctions musicales prédéfinies:: @end menu -@node Overview of music functions -@subsection Overview of music functions +@node Aperçu des fonctions musicales +@subsection Aperçu des fonctions musicales +@translationof Overview of music functions @untranslated -@node Simple substitution functions -@subsection Simple substitution functions +@node Fonctions de substitution simple +@subsection Fonctions de substitution simple +@translationof Simple substitution functions @untranslated -@node Paired substitution functions -@subsection Paired substitution functions +@node Fonctions de substitution par paire +@subsection Fonctions de substitution par paire +@translationof Paired substitution functions @untranslated -@node Mathematics in functions -@subsection Mathematics in functions +@node De l'usage des mathématiques dans les fonctions +@subsection De l'usage des mathématiques dans les fonctions +@translationof Mathematics in functions @untranslated -@node Void functions -@subsection Void functions +@node Fonctions fantômes +@subsection Fonctions fantômes +@translationof Void functions @untranslated -@node Functions without arguments -@subsection Functions without arguments +@node Fonctions dépourvues d'argument +@subsection Fonctions dépourvues d'argument +@translationof Functions without arguments @untranslated -@node Overview of available music functions -@subsection Overview of available music functions +@node Liste des fonctions musicales prédéfinies +@subsection Liste des fonctions musicales prédéfinies +@translationof Overview of available music functions @untranslated @include identifiers.tely -@node Programmer interfaces -@section Programmer interfaces +@node Interfaces de programmation +@section Interfaces de programmation +@translationof Programmer interfaces @untranslated @menu -* Input variables and Scheme:: -* Internal music representation:: +* Variables d'entrée et Scheme:: +* Représentation interne de la musique:: @end menu -@node Input variables and Scheme -@subsection Input variables and Scheme +@node Variables d'entrée et Scheme +@subsection Variables d'entrée et Scheme +@translationof Input variables and Scheme @untranslated -@node Internal music representation -@subsection Internal music representation +@node Représentation interne de la musique +@subsection Représentation interne de la musique +@translationof Internal music representation @untranslated -@node Building complicated functions -@section Building complicated functions +@node Construction de fonctions complexes +@section Construction de fonctions complexes +@translationof Building complicated functions @untranslated @menu -* Displaying music expressions:: -* Music properties:: -* Doubling a note with slurs (example):: -* Adding articulation to notes (example):: +* Affichage d'expressions musicales:: +* Propriétés de la musique:: +* Exemple : redoubler une note avec liaison:: +* Exemple : ajouter une articulation à plusieurs notes:: @end menu -@node Displaying music expressions -@subsection Displaying music expressions +@node Affichage d'expressions musicales +@subsection Affichage d'expressions musicales +@translationof Displaying music expressions @untranslated -@node Music properties -@subsection Music properties +@node Propriétés de la musique +@subsection Propriétés de la musique +@translationof Music properties @untranslated -@node Doubling a note with slurs (example) -@subsection Doubling a note with slurs (example) +@node Exemple : redoubler une note avec liaison +@subsection Exemple : redoubler une note avec liaison +@translationof Doubling a note with slurs (example) @untranslated -@node Adding articulation to notes (example) -@subsection Adding articulation to notes (example) +@node Exemple : ajouter une articulation à plusieurs notes +@subsection Exemple : ajouter une articulation à plusieurs notes +@translationof Adding articulation to notes (example) @untranslated -@node Markup programmer interface -@section Markup programmer interface +@node Interface de programmation des marqueurs de texte +@section Interface de programmation des marqueurs de texte +@translationof Markup programmer interface @untranslated @menu -* Markup construction in Scheme:: -* How markups work internally:: -* New markup command definition:: -* New markup list command definition:: +* Construction Scheme d'un marqueur:: +* Fonctionnement interne des marqueurs:: +* Définition d'une nouvelle commande de marqueur:: +* Définition d'une nouvelle commande de liste de marqueurs:: @end menu -@node Markup construction in Scheme -@subsection Markup construction in Scheme +@node Construction Scheme d'un marqueur +@subsection Construction Scheme d'un marqueur +@translationof Markup construction in Scheme @untranslated -@node How markups work internally -@subsection How markups work internally +@node Fonctionnement interne des marqueurs +@subsection Fonctionnement interne des marqueurs +@translationof How markups work internally @untranslated -@node New markup command definition -@subsection New markup command definition +@node Définition d'une nouvelle commande de marqueur +@subsection Définition d'une nouvelle commande de marqueur +@translationof New markup command definition @untranslated -@node New markup list command definition -@subsection New markup list command definition +@node Définition d'une nouvelle commande de liste de marqueurs +@subsection Définition d'une nouvelle commande de liste de marqueurs +@translationof New markup list command definition @untranslated -@node Contexts for programmers -@section Contexts for programmers +@node Contextes pour programmeurs +@section Contextes pour programmeurs +@translationof Contexts for programmers @untranslated @menu -* Context evaluation:: -* Running a function on all layout objects:: +* Évaluation d'un contexte:: +* Application d'une fonction à tous les objets de mise en forme:: @end menu -@node Context evaluation -@subsection Context evaluation +@node Évaluation d'un contexte +@subsection Évaluation d'un contexte +@translationof Context evaluation @untranslated -@node Running a function on all layout objects -@subsection Running a function on all layout objects +@node Application d'une fonction à tous les objets de mise en forme +@subsection Application d'une fonction à tous les objets de mise en forme +@translationof Running a function on all layout objects @untranslated -@node Scheme procedures as properties -@section Scheme procedures as properties +@node Utilisation de procédures Scheme en tant que propriétés +@section Utilisation de procédures Scheme en tant que propriétés +@translationof Scheme procedures as properties @untranslated @menu -* Using Scheme code instead of tweak:: -* Difficult tweaks:: +* Utilisation de code Scheme au lieu de \"tweak\":: +* Retouches complexes:: @end menu -@node Using Scheme code instead of tweak -@section Using Scheme code instead of @code{\tweak} +@node Utilisation de code Scheme au lieu de \"tweak\" +@section Utilisation de code Scheme au lieu de @code{\tweak} +@translationof Using Scheme code instead of tweak -L'inconvénient principal de la commande @code{\tweak} est la rigidité de sa -syntaxe. Par exemple, le code suivant produit une erreur. +L'inconvénient principal de la commande @code{\tweak} est la rigidité de +sa syntaxe. Par exemple, le code suivant produit une erreur. @example F = \tweak #'font-size #-3 -\flageolet @@ -235,13 +263,14 @@ F = \tweak #'font-size #-3 -\flageolet @end example @noindent -En d'autres termes, @code{\tweak} ne se comporte pas comme une articulation : -il ne peut notamment pas être accolé avec les symboles @samp{^} ou @samp{_}. +En d'autres termes, @code{\tweak} ne se comporte pas comme une +articulation@tie{}: il ne peut notamment pas être accolé avec les +symboles @samp{^} ou @samp{_}. -C'est en se servant du langage Scheme que l'on peut résoudre ce problème. -Dans cet exemple, on a recours aux méthodes décrites dans @ref{Adding -articulation to notes (example)}, en particulier quant à l'emploi de -@code{\displayMusic}. +C'est en se servant du langage Scheme que l'on peut résoudre ce +problème. Dans cet exemple, on a recours aux méthodes décrites dans +@ref{Exemple : ajouter une articulation à plusieurs notes}, en +particulier quant à l'emploi de @code{\displayMusic}. @example F = #(let ((m (make-music 'ArticulationEvent @@ -261,13 +290,14 @@ Ici les propriétés @code{tweak} de l'objet flageolet nommé @samp{m} (créé au moyen de @code{make-music}) sont extraites par @code{ly:music-property}, une nouvelle valeur de la taille de fonte est ajoutée à la liste de ses propriétés (grâce à la fonction Scheme -@code{acons}), et le résultat de cette opération est renvoyé par @code{set!}. -Le dernier élément, dans ce bloc @code{let}, est la valeur finale de -@samp{m} lui-même. +@code{acons}), et le résultat de cette opération est renvoyé par +@code{set!}. Le dernier élément, dans ce bloc @code{let}, est la valeur +finale de @samp{m} lui-même. -@node Difficult tweaks -@section Difficult tweaks +@node Retouches complexes +@section Retouches complexes +@translationof Difficult tweaks Certains réglages sont plus délicats que d'autres. @@ -275,20 +305,23 @@ Certains réglages sont plus délicats que d'autres. @item -L'un d'entre eux est l'apparence des objets dits @q{spanner}, qui s'étendent -horizontalement, tels que les liaisons. Si, en principe, un seul de ces objets -est créé à la fois et peut donc être modifié de façon habituelle, lorsque ces -objets doivent enjamber un changement de ligne, ils sont dupliqués au début -du ou des systèmes suivants. Comme ces objets sont des clones de l'objet d'origine, -ils en héritent toutes les propriétés, y compris les éventuelles commandes @code{\override}. - - -En d'autres termes, une commande @code{\override} affecte toujours les deux extrémités -d'un objet @q{spanner}. Pour ne modifier que la partie précédant ou suivant le changement -de ligne, il faut intervenir directement dans le processus de mise en page. -La fonction de rappel @code{after-line-breaking} contient toute l'opération Scheme -effectuée lorsque les sauts de lignes ont été déterminés, et que des objets graphiques -ont été divisés sur des systèmes différents. +L'un d'entre eux est l'apparence des objets dits @qq{spanner}, qui +s'étendent horizontalement, tels que les liaisons. Si, en principe, un +seul de ces objets est créé à la fois et peut donc être modifié de façon +habituelle, lorsque ces objets doivent enjamber un changement de ligne, +ils sont dupliqués au début du ou des systèmes suivants. Comme ces +objets sont des clones de l'objet d'origine, ils en héritent toutes les +propriétés, y compris les éventuelles commandes @code{\override}. + + +En d'autres termes, une commande @code{\override} affecte toujours les +deux extrémités d'un objet @q{spanner}. Pour ne modifier que la partie +précédant ou suivant le changement de ligne, il faut intervenir +directement dans le processus de mise en page. +La fonction de rappel @code{after-line-breaking} contient toute +l'opération Scheme effectuée lorsque les sauts de lignes ont été +déterminés, et que des objets graphiques ont été divisés sur des +systèmes différents. Dans l'exemple suivant, on définit une nouvelle opération nommée @code{my-callback}. Cette opération @@ -299,13 +332,15 @@ détermine si l'objet a été divisé à l'occasion d'un changement de ligne @item si oui, recherche les différents morceaux de l'objet @item -vérifie si l'objet considéré est bien la deuxième moitié d'un objet divisé +vérifie si l'objet considéré est bien la deuxième moitié d'un objet +divisé @item si oui, applique un espacement supplémentaire (@code{extra-offset}). @end itemize On ajoute cette procédure à l'objet @rinternals{Tie} (liaison de tenue), -de façon à ce que le deuxième morceau d'une liaison divisée soit rehaussé. +de façon à ce que le deuxième morceau d'une liaison divisée soit +rehaussé. @c KEEP LY @lilypond[quote,verbatim,ragged-right] @@ -330,17 +365,19 @@ de façon à ce que le deuxième morceau d'une liaison divisée soit rehaussé. @end lilypond @noindent -Lorsque cette astuce va être appliquée, notre nouvelle fonction de rappel -@code{after-line-breaking} devra également appeler celle d'origine -(@code{after-line-breaking}), si elle existe. -Ainsi, pour l'utiliser dans le cas d'un crescendo (objet @code{Hairpin}), -il faudra appeler également @code{ly:hairpin::after-line-breaking}. +Lorsque cette astuce va être appliquée, notre nouvelle fonction de +rappel @code{after-line-breaking} devra également appeler celle +d'origine (@code{after-line-breaking}), si elle existe. +Ainsi, pour l'utiliser dans le cas d'un crescendo (objet +@code{Hairpin}), il faudra appeler également +@code{ly:hairpin::after-line-breaking}. -@item Pour des raisons d'ordre technique, certains objets ne peuvent être modifiés par -@code{\override}. Parmi ceux-là, les objets @code{NonMusicalPaperColumn} -et @code{PaperColumn}. La commande @code{\overrideProperty} sert à les modifier, de -façon similaire à @code{\once \override}, mais avec une syntaxe différente : +@item Pour des raisons d'ordre technique, certains objets ne peuvent +être modifiés par @code{\override}. Parmi ceux-là, les objets +@code{NonMusicalPaperColumn} et @code{PaperColumn}. La commande +@code{\overrideProperty} sert à les modifier, de façon similaire à +@code{\once \override}, mais avec une syntaxe différente@tie{}: @example \overrideProperty @@ -349,7 +386,8 @@ façon similaire à @code{\once \override}, mais avec une syntaxe différente : #'((next-padding . 20)) % valeur @end example -Notez cependant que la commande @code{\override} peut tout de même être appliquée -à @code{NoteMusicalPaperColumn} et @code{PaperColumn} dans un bloc @code{\context}. +Notez cependant que la commande @code{\override} peut tout de même être +appliquée à @code{NonMusicalPaperColumn} et @code{PaperColumn} dans un +bloc @code{\context}. @end itemize