2.8 Code Scheme intégré
TODO: the example for this section is ill-chosen since
F = -\tweak #'font-size #-3 -\flageolet
(note the ‘-’ marking it as a post event) will actually work fine for the stated purpose. Until this section gets a rewrite, let’s pretend we don’t know.
L’inconvénient principal de la commande \tweak est la rigidité de
sa syntaxe. Par exemple, le code suivant produit une erreur.
F = \tweak #'font-size #-3 -\flageolet
\relative c'' {
c4^\F c4_\F
}
En d’autres termes, \tweak ne se comporte pas comme une
articulation : il ne peut notamment pas être accolé avec les
symboles ‘^’ ou ‘_’.
C’est en se servant du langage Scheme que l’on peut résoudre ce
problème. Dans cet exemple, on a recours aux méthodes décrites dans
Ajout d’articulation à des notes (exemple), en
particulier quant à l’emploi de \displayMusic.
F = #(let ((m (make-music 'ArticulationEvent
'articulation-type "flageolet")))
(set! (ly:music-property m 'tweaks)
(acons 'font-size -3
(ly:music-property m 'tweaks)))
m)
\relative c'' {
c4^\F c4_\F
}
Ici les propriétés tweak de l’objet flageolet nommé
‘m’ (créé au moyen de make-music) sont extraites par
ly:music-property, une nouvelle valeur de la taille de fonte
est ajoutée à la liste de ses propriétés (grâce à la fonction Scheme
acons), et le résultat de cette opération est renvoyé par
set!. Le dernier élément, dans ce bloc let, est la valeur
finale de ‘m’ lui-même.
Autres langues : English, deutsch, español.
About automatic language selection.