<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <!-- header_tag --> <html lang="en"> <head> <title>Organisation du code source avec des variables - GNU LilyPond - manuel d'initiation</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="description" content="GNU LilyPond - manuel d'initiation"> <meta name="generator" content="makeinfo 4.11"> <link title="Top" rel="start" href="index.fr.html#Top"> <link rel="up" href="Final-touches.fr.html#Final-touches" title="Dernières précisions"> <link rel="next" href="Version-number.fr.html#Version-number" title="Numéro de version"> <link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage"> <!-- Copyright (C) 1999--2008 par les auteurs _The translation of the following copyright notice is provided for courtesy to non-English speakers, but only the notice in English legally counts._ _La traduction de la notice de droits d'auteur ci-dessous vise à faciliter sa compréhension par le lecteur non anglophone, mais seule la notice en anglais a valeur légale._ Vous avez le droit de copier, distribuer et/ou modifier ce document selon les termes de la Licence GNU de documentation libre, version 1.1 ou tout autre version ultérieure publiée par la Free Software Foundation, ``sans aucune section invariante''. Une copie de la licence est fournie à la section ``Licence GNU de documentation libre''. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections. A copy of the license is included in the section entitled ``GNU Free Documentation License''. --> <meta http-equiv="Content-Style-Type" content="text/css"> <style type="text/css"><!-- pre.display { font-family:inherit } pre.format { font-family:inherit } pre.smalldisplay { font-family:inherit; font-size:smaller } pre.smallformat { font-family:inherit; font-size:smaller } pre.smallexample { font-size:smaller } pre.smalllisp { font-size:smaller } span.sc { font-variant:small-caps } span.roman { font-family:serif; font-weight:normal; } span.sansserif { font-family:sans-serif; font-weight:normal; } hr { border:0; height:1; color: #000000; background-color: #000000; } /* hr { border: none; height: 1px; color: #666666; background-color: #666666; } body { border-left: 1px solid #666666; border-right: 1px solid #666666; color: #332d28; margin-right: auto; margin-left: auto; width: 60em; list-style-type: square; font-family: Arial,Helvetica,sans-serif; padding-right: 1em; padding-left: 1em; } a { border-bottom: 1px dashed #344242; text-decoration: none; color: #344242; } a:link { text-decoration: none; } a:visited { border-bottom: 1px dashed #666666; color: #666666; } a:active { border-bottom: 1px solid #00cccc; color: #00cccc; } a:hover { border-bottom: 1px solid #1d7b85; color: #1d7b85; } blockquote { border: 1px solid #cccccc; padding: 3px; width: 40em; } .node { border-left: 1px solid #666666; margin: -0.5em 0px 1em; padding: 2px 1px 0px; font-style: italic; } .node a { border: none; text-decoration: underline; font-style: normal; font-weight: bold; } .verbatim { font-family: "Courier New",Courier,monospace; } .unnumberedsubsubsec { font-size: large; color: #1d7b85; } .subsubheading { font-size: large; color: #3b220d; } .contents { border: 1px dashed #339999; margin: 3px 2em; list-style-type: square; padding-right: 1em; width: 40em; background-color: #fcfff9; } .contents a { border-bottom: 1px dashed #423d34; text-decoration: none; color: #423d34; } .contents a:visited { border-bottom: 1px dashed #666666; color: #666666; } .contents a:active { border-bottom: 1px solid #f0d86d; color: #f0d86d; } .contents a:hover { border-bottom: 1px solid #3b220d; color: #3b220d; } .menu { border-left: 1px dashed #339999; margin: 3px 2em 1em; list-style-type: square; padding-left: 1.4em; width: 40em; } .unnumbered { } h2 { font-size: x-large; color: #1d7b85; } */ --></style> </head> <BODY BGCOLOR=WHITE TEXT=BLACK> <div class="node"> <p> <a name="Organizing-pieces-with-variables"></a> Suivant : <a rel="next" accesskey="n" href="Version-number.fr.html#Version-number">Numéro de version</a>, Haut : <a rel="up" accesskey="u" href="Final-touches.fr.html#Final-touches">Dernières précisions</a> <hr> </div> <h4 class="subsection">2.5.1 Organisation du code source avec des variables</h4> <p>Lorsque l'on combine tous les éléments étudiés précédemment pour écrire des partitions plus longues, les expressions musicales prennent de l'ampleur et, dans le cas des pièces polyphoniques, deviennent profondément imbriquées, jusqu'au point où il devient difficile de se repérer dans le fichier source. Cet inconvénient peut être résolu par l'utilisation de <em>variables</em>. <p>En utilisant des variables, parfois appelées identificateurs ou macros, on peut scinder des expressions musicales complexes en des expressions plus simples. Une variable se définit comme suit : <pre class="example">musiqueToto = { ... } </pre> <p>Le contenu de l'expression musicale <code>musiqueToto</code> pourra être utilisé plus loin en faisant précéder son nom d'un anti-slash, c'est-à-dire <code>\musiqueToto</code>, tout comme n'importe quelle commande LilyPond. Toute variable doit être définie <em>avant</em> son utilisation dans une autre expression musicale. <blockquote> <pre class="verbatim"> violin = \new Staff { \relative c'' { a4 b c b } } cello = \new Staff { \relative c { \clef bass e2 d } } { << \violin \cello >> } </pre> <p> <a href="../c4/lily-2a59cf44.ly"> <img align="middle" border="0" src="../c4/lily-2a59cf44.png" alt="[image of music]"> </a> </p> </blockquote> <p class="noindent">Le nom d'une variable ne doit comporter que des caractères alphabétiques non accentués, aucun nombre ni tiret ne sont autorisés. <p>On peut utiliser une variable déjà définie autant de fois que l'on veut, y compris dans la définition d'une nouvelle variable ; par exemple, cela peut servir à saisir un motif qu'une seule fois, même s'il se répète un grand nombre de fois dans la pièce. <blockquote> <pre class="verbatim"> tripletA = \times 2/3 { c,8 e g } barA = { \tripletA \tripletA \tripletA \tripletA } \relative c'' { \barA \barA } </pre> <p> <a href="../f4/lily-9f6a4217.ly"> <img align="middle" border="0" src="../f4/lily-9f6a4217.png" alt="[image of music]"> </a> </p> </blockquote> <p>Il est possible d'utiliser des variables de types variés. Par exemple, <pre class="example">width = 4.5\cm name = "Wendy" aFivePaper = \paper { paperheight = 21.0 \cm } </pre> <p>En fonction de son contenu, un identificateur peut être utilisé à différents endroits. L'exemple suivant utilise les variable définies ci-dessus. <pre class="example">\paper { \aFivePaper line-width = \width } { c4^\name } </pre> <!-- footer_tag --><br><hr> <div class="node"> <p> Suivant : <a rel="next" accesskey="n" href="Version-number.fr.html#Version-number">Numéro de version</a>, Haut : <a rel="up" accesskey="u" href="Final-touches.fr.html#Final-touches">Dernières précisions</a> </div> <div style="background-color: #e8ffe8; padding: 2; border: #c0ffc0 1px solid;"> <p> <font size="-1"> Cette page documente LilyPond-2.11.57 (branche de développement). <br> <address> Rapportez toute anomalie en français à <a href="mailto:lilypond-user-fr@gnu.org">lilypond-user-fr@gnu.org</a> ou en anglais à <a href="http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs">http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs</a> </address> <br> Vos <a href="http://lilypond.org/web/devel/participating/documentation-adding">suggestions à propos de la documentation</a> sont les bienvenues. </font> </p> </div> <P> Autres langues : <a href="Organizing-pieces-with-variables.html">English</a>, <a href="Organizing-pieces-with-variables.es.html">español</a>, <a href="Organizing-pieces-with-variables.de.html">deutsch</a>. <BR> </P> </BODY></html>