GNU LilyPond – Manuel d'initiation: 2.2.2 Travail sur les fichiers d'entrée

### 2.2.2 Travail sur les fichiers d’entrée

Le traitement des fichiers source de LilyPond est semblable à celui du code de nombreux langages de programmation. La casse est prise en compte, et les caractères considérés comme espaces ont généralement peu d’importance. Les expressions sont délimitées par des accolades `{ }`, et les commentaires par ‘`%`’ ou ‘`%{ … }`’ .

Si cette phrase vous paraît incompréhensible, ne vous en faites pas ! Expliquons tous ces termes :

- La version : Tout fichier LilyPond devrait porter mention de la version. Cette mention prend la forme d’une ligne décrivant le numéro de la version utilisée lors de la confection du fichier en question, comme ici :

  >     \version "2.24.4"

  Il est d’usage de porter cette mention au tout début du fichier LilyPond.

  Mentionner la version est important pour, au moins, les deux raisons suivantes : cela permet dans un premier temps de faciliter les opérations de mise à jour automatisée au fil de l’évolution de la syntaxe de LilyPond. Ensuite, cela met en évidence le minimum requis pour pouvoir compiler votre fichier.

  Si vous ne le mentionnez pas, LilyPond vous rappellera à l’ordre durant la compilation.

- La casse : LilyPond est sensible à la casse, c’est à dire qu’une lettre capitale n’a pas la même valeur qu’une lettre minuscule. Les notes, par exemple, doivent être entrées en minuscule : ‘`{ c d e }`’ est un code valide, alors que ‘`{ C D E }`’ produira un message d’erreur.
- Les espaces multiples : LilyPond ne tient pas compte du nombre d’espaces, de tabulations ou de retours à la ligne.

  >     { c4 d e}

  a le même sens que

  >     { c4       d e }

  ou que

  >     { c4                       d
  >                        e   }

  Bien sûr, ce dernier exemple est illisible. Une bonne habitude à prendre est d’indenter les blocs de code avec des doubles espaces :

  >     {
  >       c4 d e
  >     }

  L’espace est néanmoins nécessaire pour séparer nombre d’éléments syntaxiques les uns des autres. En d’autres termes, s’il est toujours possible d’ajouter des espaces, il faut prendre garde à ne pas trop en supprimer. En effet, l’absence d’une espace peut avoir des conséquences et entraîner une erreur ; aussi nous vous invitons à toujours insérer une espace avant et après chaque élément syntaxique, comme avant et après une accolade.

- Expressions musicales : Tout morceau saisi dans LilyPond doit être placé entre { accolades }. Ces caractères indiquent à LilyPond que ce bloc de texte représente une et une seule expression musicale, tout comme les parenthèses `()` en mathématiques. Pour éviter toute ambiguïté, il est préférable d’entourer ces accolades d’espaces ou de retours à la ligne.

  Un appel de fonction – ‘`\relative { … }`’ par exemple – compte également comme une seule expression musicale.

- Les commentaires : Un commentaire est une indication pour tout lecteur humain d’un fichier source de musique ; il est ignoré lors de la compilation et n’a donc aucun effet sur la partition imprimée. On distingue deux types de commentaires. Le commentaire de fin de ligne, introduit par le symbole ‘`%`’ : tout ce qui suit ce symbole sur la même ligne sera ignoré. Par convention, un commentaire qui occupe une ligne entière se place juste au-dessus de la ligne à laquelle il fait référence.

  >     a4 a a a
  >     % ce commentaire fait référence aux deux si ci-dessous
  >     b2 b

  Le bloc de commentaire peut occuper plusieurs lignes, voire toute une section : tout ce qui se trouve entre `%{` et `%}` est ignoré. Les blocs de commentaires ne peuvent s’imbriquer, ce qui signifie que vous ne pouvez pas placer un commentaire-bloc à l’intérieur d’un autre commentaire-bloc. Si jamais vous essayez, vous verrez que la première occurence de `%}` terminera « les deux commentaires-blocs ». Le fragment suivant met en évidence quelques usages possibles des commentaires :

  >     % voici les notes de "ah vous dirai-je maman"
  >     c4 c g' g a a g2

  >     %{
  >        Ces lignes et les notes qui suivent
  >        seront ignorées, car elles se trouvent
  >        dans un bloc de commentaire.

  >        f f e e d d c2
  >     %}

#### LilyPond — Manuel d’initiation v2.24.4 (branche stable).