2011/1/19 Jean-Jacques Gerbaud<address@hidden>:
Bonjour à tous,
J'ai fait un fichier "common.ily" (ci-dessous) que j'ai placé dans
lilypond.
ten = -\markup \italic "ten."
app = \appoggiatura
acc = \acciaccatura
agr = \afterGrace
gr = \grace
su = \stemUp
sd = \stemDown
sn = \stemNeutral
J'ai placé \include "common.ily" dans le code de ma partition, entre \header
et \paper, au début.
Lorsque j'appelle certaines variables telles que ten, su ou sd la
compilation se passe normalement mais pour
ou app ou agr
j'obtiens des erreurs.
[...]
A noter que lorsque j'écris \appoggiatura, la compilation aboutit
normalement (heureusement !:-)
A noter également que si je mets les indications du fichiers du même fichier
entre \header et \paper, seules les su, sd et sn sont reconnues.
Voilà, un petit problème à résoudre.
En voyant les messages d'erreur je dirais que c'est parce les commandes
\appoggiatura , \acciaccatura , \afterGrace ou encore \grace
requièrent _toutes_ un argument sous forme d'une expression musicale.
Donc c'est ce qui empêche de les "variabliser" comme tes "su" ou "ten".
Remplacer leur définition par une "music-function" résout le problème.
app = #(define-music-function (parser location expr) (ly:music?)
#{ \appoggiatura $expr #})
(idem pour "acc", "agr", etc.)
D'ailleurs cela te permet de les utiliser pour plus d'une note :
\app { f16[ g] } e8