2.8 Code Scheme intégré
À REVOIR : l’exemple de cette rubrique n’est pas des plus judicieux puisque
F = -\tweak #'font-size #-3 -\flageolet
(notez le ‘-’ qui qualifie d’événement postérieur) fonctionne correctement dans ce cas d’espèce. En attendant un remaniement de cette section, faisons comme si nous l’ignorions.
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.