[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
override line-width dans une fonction
From: |
Loïc Chahine |
Subject: |
override line-width dans une fonction |
Date: |
Sat, 22 Sep 2012 16:25:12 +0200 |
User-agent: |
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:15.0) Gecko/20120824 Thunderbird/15.0 |
Bonjour à tous !
J’ai fait plusieurs expériences avec mon petit problème, sans obtenir le
résultat souhaité. Je vous les livre donc ici en détail, en espérant que
quelqu’un pourra m’aider à trouver la solution.
Si j’écris :
\score {
\new Staff {
\relative d' {
\textLengthOn
\tempo "Largo"
\key es \major
<bes es g>4 <bes es g>8. <bes es g>16 <bes es g>2-\fermata \bar "||"
% \textA
\tempo "Adagio"
r8 bes( ces a) << { bes f'~ f16 d es ges, ges8 f16. ges32 d8 } \\
{ s8 as'~ as16 f ges es es8 d16. es32 bes8 } >> r8 r2 |
\stopStaff \once \override TextScript #'extra-offset = #'( 0 . 5 )
s1-\markup { \textB }
\startStaff
s8 f''(-\p ges e) << { f es~ es16 c des bes' | bes8 a16. bes32 a8 } \\
{ s8 c,~ c16 a bes des | des8 c16. des32 c8 } >> r8 r2 |
}}}
où :
textB =
\markup {
\override #'(font-name . "Didot")
\column {
\override #'(line-width . 18 )
\justify {
Tout mon feu s’est éteint…
mon imagination s’est glacée,
le marbre sort froid de mes mains…
}
}
}
Pas de problème, toutes les indications sont respectées. Si maintenant
j’essaie de faire une fonction pour me simplifier la tâche, et donc de
faire :
meloText =
#(define-music-function
(parser location Largeur Texte)
(number? string?)
#{\stopStaff \once \override TextScript #'extra-offset = #'( 0 . 4 )
s1-\markup {
\override #'(font-name . "Didot")
\column {
\override #'(line-width . 30)
\justify {
$Texte
}
}
}
\startStaff
#}
)
textA = \meloText #30 #"Il n'y a point là d'âme ni de vie… Ce n'est que
de la pierre"
et de décommenter la ligne \textA dans mon \score { … }, hé bien la
ligne \override #'(line-width . 30) n’est pas prise en compte et le
texte prend ses aises et se place sur une seule ligne.
Si enfin je mets \override #'(line-width . $Largeur), la compilation plante.
J’ai donc fait quelques petites recherches, et j’ai essayé de remplacer
la ligne \override #'(line-width . $Largeur) par \override #'(cons
line-width . $Largeur). Ça ne plante plus, mais l’indication n’est
toujours pas respectée. Idem avec \override #'(cons line-width . 30).
J’ai aussi essayé, purement expérimental parce que je l’ai aperçu dans
des résultats Google, \override #'(cons 'line-width . $Largeur) ; ça
plante pas mais ça fait toujours rien. J’ai aussi essayé sans le dollar.
J’ai aussi essayé de remettre \textLengthOn dans la fonction.
Je suis d’autant plus surpris que l’autre \override, celui pour le choix
de la fonte, est, lui, parfaitement respecté.
Du coup je me retrouve bloqué. Est-ce que c’est un bug ? Je ne pense
pas, et je crois plutôt qu’il faut écrire cette ligne d’une autre
manière quand on veut la mettre dans une fonction, mais mes recherches à
la fois dans le manuel Extending et sur Google ont été infructeuses. Je
suis du coup bloqué pour travailler sur ma partition, parce que si je
dois changer ma syntaxe, je vais écrire des lignes et des lignes pour rien !
Merci d’avance pour votre aide !
L.C.
- override line-width dans une fonction,
Loïc Chahine <=
- Re: override line-width dans une fonction, address@hidden, 2012/09/22
- Re: override line-width dans une fonction, address@hidden, 2012/09/22
- Re: override line-width dans une fonction, Loïc Chahine, 2012/09/22
- Re: override line-width dans une fonction, address@hidden, 2012/09/22
- Re: override line-width dans une fonction, address@hidden, 2012/09/22
- Re: override line-width dans une fonction, address@hidden, 2012/09/22
- Re: override line-width dans une fonction, Loïc Chahine, 2012/09/22
- Re: override line-width dans une fonction, address@hidden, 2012/09/22
- Re: override line-width dans une fonction, Loïc Chahine, 2012/09/22
- Re: override line-width dans une fonction, Loïc Chahine, 2012/09/22