<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <!-- header_tag --> <html lang="en"> <head> <title>The set command - GNU LilyPond - manuel de notation</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="description" content="GNU LilyPond - manuel de notation"> <meta name="generator" content="makeinfo 4.11"> <link title="Top" rel="start" href="index.fr.html#Top"> <link rel="up" href="Interpretation-contexts.fr.html#Interpretation-contexts" title="Contextes d'interprétation"> <link rel="prev" href="Contexts-explained.fr.html#Contexts-explained" title="Tout savoir sur les contextes"> <link rel="next" href="Modifying-context-plug_002dins.fr.html#Modifying-context-plug_002dins" title="Modification des greffons de contexte"> <link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage"> <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="The-set-command"></a> Suivant : <a rel="next" accesskey="n" href="Modifying-context-plug_002dins.fr.html#Modifying-context-plug_002dins">Modification des greffons de contexte</a>, Précédent : <a rel="previous" accesskey="p" href="Contexts-explained.fr.html#Contexts-explained">Tout savoir sur les contextes</a>, Haut : <a rel="up" accesskey="u" href="Interpretation-contexts.fr.html#Interpretation-contexts">Contextes d'interprétation</a> <hr> </div> <h4 class="subsection">5.1.2 The <code>\set</code> command</h4> <p><a name="index-propri_00c3_00a9t_00c3_00a9s-1003"></a><a name="index-g_t_005cset-1004"></a><a name="index-g_t_005cset-1005"></a> <a name="index-modifier-des-propri_00c3_00a9t_00c3_00a9s-1006"></a> Chaque contexte peut avoir plusieurs <em>propriétés</em>, c'est-à-dire des variables qu'il inclut. Ces dernières peuvent être modifiées «<font size="-4"> </font>à la volée<font size="-4"> </font>», c'est-à-dire pendant que la compilation s'accomplit. C'est là le rôle de la commande <code>\set</code>. <pre class="example">\set <var>contexte</var>.<var>propriété</var> = #<var>valeur</var> </pre> <p>Ainsi : <blockquote> <pre class="verbatim"> R1*2 \set Score.skipBars = ##t R1*2 </pre> <p> <a href="../e9/lily-798ce3d9.ly"> <img align="middle" border="0" src="../e9/lily-798ce3d9.png" alt="[image of music]"> </a> </p> </blockquote> <p>Cette commande permet de condenser les mesures vides de notes, en des silences multi-mesures. Il s'agit d'un objet Scheme, auquel on attribue la valeur booléenne ‘vrai’, c'est-à-dire la lettre <code>#t</code> pour ‘True’ en anglais. <p>Ce changement étant appliqué ‘à la volée’, il n'affecte que le second groupe de notes. <p>Si l'argument <var>contexte</var> n'est pas spécifié, alors la propriété cherchera à s'appliquer dans le contexte le plus restreint où elle est employée : le plus souvent <code>ChordNames</code>, <code>Voice</code>, ou <code>Lyrics</code>. Dans l'exemple suivant, <blockquote> <pre class="verbatim"> c8 c c c \set autoBeaming = ##f c8 c c c </pre> <p> <a href="../db/lily-c1dd1c9a.ly"> <img align="middle" border="0" src="../db/lily-c1dd1c9a.png" alt="[image of music]"> </a> </p> </blockquote> <p class="noindent">aucun argument <var>contexte</var> n'a été donné à la commande <code>\set</code>. De ce fait, les ligatures automatiques sont désactivées dans le contexte actuel, c'est-à-dire <a name="index-Voice-1007"></a><a href="../lilypond-internals/Voice.fr.html#Voice">Voice</a>. Notez que le contexte le plus restreint n'est pas toujours le bon, et peut ne pas contenir la propriété qui vous intéresse : ainsi, la propriété <code>skipBars</code>, évoquée plus haut, ne relève pas du contexte <code>Voice</code>, et le code suivant ne fonctionnera pas. <blockquote> <pre class="verbatim"> R1*2 \set skipBars = ##t R1*2 </pre> <p> <a href="../e7/lily-6ed882bb.ly"> <img align="middle" border="0" src="../e7/lily-6ed882bb.png" alt="[image of music]"> </a> </p> </blockquote> <p>Les contextes s'organisent de façon hiérarchique : aussi, lorsqu'un contexte de niveau supérieur est spécifié (par exemple <code>Staff</code>), la propriété sera modifée dans tous les contextes inférieurs (tous les contextes <code>Voice</code>, par exemple) qu'il contient. <p><a name="index-g_t_005cunset-1008"></a><a name="index-g_t_005cunset-1009"></a> <p>La commande <code>\unset</code> permet d'annuler la définition d'une propriété : <pre class="example">\unset <var>contexte</var>.<var>propriété</var> </pre> <p class="noindent">si et seulement si cette propriété à été définie dans ce <var>contexte</var> précis ; ainsi, <pre class="example">\set Staff.autoBeaming = ##f </pre> <p class="noindent">même s'il s'applique à tous les contextes <code>Voice</code> contenus dans le contexte <code>Staff</code>, ne peut être annulé au niveau <code>Voice</code>. Le code suivant sera sans effet. <pre class="example">\unset Voice.autoBeaming </pre> <p class="noindent">En d'autres termes, la commande <code>\unset</code> doit impérativement être accompagnée du même contexte que la commande <code>\set</code> d'origine. Pour annuler l'effet, dans notre exemple, de <code>Staff.autoBeaming = ##f</code>, il faut donc entrer : <pre class="example">\unset Staff.autoBeaming </pre> <p>Si l'on se trouve dans le contexte le plus restreint, il n'est pas obligatoire, là encore, de spécifier le <var>contexte</var>. Ainsi, les deux lignes suivantes sont équivalentes. <pre class="example">\set Voice.autoBeaming = ##t \set autoBeaming = ##t </pre> <p><a name="index-g_t_005conce-1010"></a>Pour modifier une propriété de façon à ce qu'elle ne s'applique qu'une seule fois, il convient d'employer la commande <code>\once</code> : <blockquote> <pre class="verbatim"> c4 \once \set fontSize = #4.7 c4 c4 </pre> <p> <a href="../c9/lily-23b8cd12.ly"> <img align="middle" border="0" src="../c9/lily-23b8cd12.png" alt="[image of music]"> </a> </p> </blockquote> <p>Ici le changement de taille est annulé aussitôt après la note concernée. <p>La référence du programme contient une description exhaustive de toutes les propriétés contexte par contexte : voir <a name="index-Tunable-context-properties-1011"></a><a href="../lilypond-internals/Tunable-context-properties.fr.html#Tunable-context-properties">Tunable context properties</a>. <!-- footer_tag --><br><hr> <div class="node"> <p> Suivant : <a rel="next" accesskey="n" href="Modifying-context-plug_002dins.fr.html#Modifying-context-plug_002dins">Modification des greffons de contexte</a>, Précédent : <a rel="previous" accesskey="p" href="Contexts-explained.fr.html#Contexts-explained">Tout savoir sur les contextes</a>, Haut : <a rel="up" accesskey="u" href="Interpretation-contexts.fr.html#Interpretation-contexts">Contextes d'interprétation</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="The-set-command.html">English</a>, <a href="The-set-command.es.html">español</a>. <BR> </P> </BODY></html>