Suivant : Feuilles de style, Précédent : Suggestions de saisie des fichiers LilyPond, Haut : Travailler sur des projets LilyPond
Jusqu'à maintenant, vous avez vu ce type de code :
hornNotes = \relative c'' { c4 b dis c }
\score {
{
\hornNotes
}
}
Vous comprendrez combien cela peut être utile pour écrire de la musique minimaliste :
fragA = \relative c'' { a4 a8. b16 }
fragB = \relative c'' { a8. gis16 ees4 }
violin = \new Staff { \fragA \fragA \fragB \fragA }
\score {
{
\violin
}
}
Cependant, vous pouvez aussi utiliser ces identificateurs — aussi connus sous le nom de variables, macros, ou commandes (définies par l'utilisateur) — pour des retouches :
dolce = \markup{ \italic \bold dolce }
padText = { \once \override TextScript #'padding = #5.0 }
fthenp=_\markup{ \dynamic f \italic \small { 2nd } \hspace #0.1 \dynamic p }
violin = \relative c'' {
\repeat volta 2 {
c4._\dolce b8 a8 g a b |
\padText
c4.^"hi there!" d8 e' f g d |
c,4.\fthenp b8 c4 c-. |
}
}
\score {
{
\violin
}
\layout{ragged-right=##t}
}
Ces identificateurs sont évidemment utiles pour économiser de la frappe. Mais ils peuvent l'être même si vous ne les utilisez qu'une seule fois : ils réduisent la complexité. Regardons l'exemple précédent sans aucun identificateur. C'est beaucoup plus laborieux à lire, et particulièrement la dernière ligne.
violin = \relative c'' {
\repeat volta 2 {
c4._\markup{ \italic \bold dolce } b8 a8 g a b |
\once \override TextScript #'padding = #5.0
c4.^"hi there!" d8 e' f g d |
c,4.\markup{ \dynamic f \italic \small { 2nd }
\hspace #0.1 \dynamic p } b8 c4 c-. |
}
}
Jusqu'ici nous avons vu des substitutions statiques : quand LilyPond
rencontre \padText, il le remplace par le contenu que nous lui
avons défini — c'est-à-dire le contenu à droite de padText=).
LilyPond gère également des substitutions non-statiques — vous pouvez les voir comme des fonctions.
padText =
#(define-music-function (parser location padding) (number?)
#{
\once \override TextScript #'padding = #$padding
#})
\relative c''' {
c4^"piu mosso" b a b
\padText #1.8
c4^"piu mosso" d e f
\padText #2.6
c4^"piu mosso" fis a g
}
Utiliser les identificateurs est aussi un bon moyen pour vous épargner
du travail si la syntaxe de LilyPond change un jour — voir
Mettre à jour des anciens fichiers. Si vous avez une seule définition, par
exemple \dolce, pour tous vos fichiers (voir Feuilles de style), et que la syntaxe change, alors vous n'aurez qu'à mettre à
jour votre seule définition \dolce, au lieu de devoir modifier
chaque fichier .ly.
Suivant : Feuilles de style, Précédent : Suggestions de saisie des fichiers LilyPond, Haut : Travailler sur des projets LilyPond
This page is for LilyPond-2.10.25 (stable-branch).
Other languages: English.