Suivant : , Précédent : Tout savoir sur les contextes, Haut : Contextes et graveurs


3.3.2 Création d’un contexte

Il en va des contextes comme de toute hiérarchie : il faut un sommet – le contexte Score en l'occurence. La commande \score est chargée de le créer, mais pour des partitions simples, il le sera automatiquement.

Lorsqu'une partition ne comporte qu'une voix et une seule portée, vous pouvez laisser LilyPond créer automatiquement les contextes Voice et Staff ; mais leur présence explicite devient indispenssable dès que la situation se complique. Le moyen le plus simple est d'utiliser la commande \new. Elle doit intervenir avant une expression musicale, ainsi :

\new type expression-musicale

type correspond au nom du contexte (tels Staff ou Voice). Cette commande crée un nouveau contexte, puis interprète l'expression-musicale contenue dans ledit contexte.

Notez bien qu'il n'existe pas de commande \new Score, puisque le contexte premier que constitue Score est créé par \score.

Nous avons déjà vu au cours des chapitres précédents de nombreux exemples où des contextes Staff ou Voice étaient créés au besoin. Dans un but didactique, voici maintenant une application complète et largement commentée :

     
     \score {  % début de l'unique expression musicale composée
       <<  % début d'une section de portées simultanées
         \time 2/4
         \new Staff {  % création de la portée MD
           \key g \minor
           \clef "treble"
           \new Voice {  % création d'une voix pour les notes de MD
             \relative c'' {  % début des notes de MD
               d4 ees16 c8. |
               d4 ees16 c8. |
             }  % fin des notes de MD
           }  % fin de la voix MD
         }  % fin de la portée MD
         \new Staff <<  % création de la portée MG ; nécessite deux voix simultanées
           \key g \minor
           \clef "bass"
           \new Voice {  % création de la voix un de MG
             \voiceOne
             \relative g {  % début des notes de la voix un de MG
               g8 <bes d> ees, <g c> |
               g8 <bes d> ees, <g c> |
             }  % fin des notes de la voix un de MG
           }  % fin de la voix un de MG
           \new Voice {  % création de la voix deux de MG
             \voiceTwo
             \relative g {  % début des notes de la voix deux de MG
               g4 ees |
               g4 ees |
             }  % fin des notes de la voix deux de MG
           }  % fin de la voix deux de MG
         >>  % fin de la portée MG
       >>  % fin de la section de portées simultanées
     }  % fin de l'unique expression musicale composée

[image of music]

Notez comment toute déclaration qui ouvre un bloc par une accolade, {, ou un double signe inférieur, <<, est indentée de deux espaces supplémentaires, et de deux autres pour sa marque de fermeture. Bien que ceci ne soit pas obligatoire, nous vous invitons à adopter cette pratique qui vous évitera nombre d'erreurs « accolades non pairées ». La structure de la musique apparaît ainsi au premier coup d'œil, et les défauts de parité plus facilement repérables. Vous remarquerez que la portée MG est créée à l'aide d'un inférieur double – 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.

La commande \new peut aussi permettre de nommer le contexte créé, et ainsi le distinguer des autres contextes déjà existants :

\new type = "UnNom" expression-musicale

Vous noterez la distinction entre le nom du type de contexte, Staff, Voice, etc, et le nom – une simple suite de lettres au bon gré de l'utilisateur – permettant d'identifier une instance particulière du type en question. Comme nous l'avons déjà vu dans le chapitre consacré aux paroles (Voix et paroles), cet identifiant permettra ensuite de se référer à ce contexte particulier.

Cette page documente LilyPond-2.11.58 (branche de développement).

Rapportez toute anomalie en français à lilypond-user-fr@gnu.org ou en anglais à http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs

Vos suggestions à propos de la documentation sont les bienvenues.

Autres langues : English, español, deutsch.