Subject: Variable dans une autre variable ?

From: Monteverdi <[email-masked]>
Date: Mon, 28 Jan 2019 05:28:25 -0700 (MST)

Bonjour,

Quand je donne une variable pour valeur à une variable, ça génère un message
d'erreur.

Exemple :

---------------------------------------------------------------------------------------------
1. J'ai défini des variables pour définir les attributs de couleur des notes
d'une voix :

*NotesBleues* = {
  \override NoteHead.color = #darkblue
  \override Stem.color = #darkblue
  \override Beam.color = #darkblue
  \override Accidental.color = #darkblue
}
*NotesRouges* = {
  \override NoteHead.color = #darkred
  \override Stem.color = #darkred
  \override Beam.color = #darkred
  \override Accidental.color = #darkred
}

-------------------------------------------------------------------------------------
2. Quand je mets ces variables dans des voix, tout fonctionne correctement :

soprane = \relative c' {  *\NotesBleues* 
  \voiceOne
	r1 | r2 r8 g'[a b] |
[…]

tenor = \relative c' { *\Notesrouges*
  \voiceTwo
	r8 c d e f8. g32 f e8 a |
[…]

-------------------------------------------------------------------------------------------------------------
3. Mais quand je mets ces variables dans des variables 
afin de centraliser dans mon code l'attribution des couleurs aux voix et de
pouvoir les changer facilement, ça ne marche plus :

*CouleurSop* = \NotesBleues
*CouleurTen* = \NotesRouges

soprane = \relative c' { * \CouleurSop*
  \voiceOne
	r1 | r2 r8 g'[a b] |
[…]

tenor = \relative c' { *\CouleurTen*
  \voiceTwo
	r8 c d e f8. g32 f e8 a |
[…]

J'obtiens les messages d'erreur suivants :

Erreur : chaîne d'échappement inconnue : « \NotesBleues »
CouleurSop = 
             \NotesBleues

Erreur : chaîne d'échappement inconnue : « \NotesRouges »
CouleurTen = 
             \NotesRouges

------------------

Que faut-il faire ?

Merci.

--
Sent from: http://lilypond-french-users.1298960.n2.nabble.com/

---

From: Monteverdi <[email-masked]>
Date: Mon, 28 Jan 2019 05:33:39 -0700 (MST)

ATTENTION :
================================
Dans le message ci-dessus, les * qui entourent le nom des variables ne
figure pas dans le code,
c'est un artefact de la messagerie dû à une tentative de mettre en gras le
nom des variables 
dans le message.
================================

Dans mon code j'ai bien :

NotesBleues = { 
NotesRouges = { 

[...]

CouleurSop = \NotesBleues 
CouleurTen = \NotesRouges 

[...]

soprane = \relative c' { \CouleurSop
  \voiceOne 
        r1 | r2 r8 g'[a b] | 
[…] 

tenor = \relative c' { \CouleurTen
  \voiceTwo 
        r8 c d e f8. g32 f e8 a | 
[…]

---

From: Christophe Pochon <[email-masked]>
Date: Mon, 28 Jan 2019 13:38:44 +0100

Bonjour,

Ici ça fonctionne bien :

%%%%%%%
\version "2.19.48"

NotesBleues = {

\score {
  <<
    \new Staff    \soprane
    \new Staff      \tenor
}
%%%%%%%%%%%

Christophe Pochon

Le lun. 28 janv. 2019 à 13:33, Monteverdi <[email-masked]> a écrit :

> _______________________________________________
> liste de diffusion lilypond-user-fr
> [email-masked]
> https://lists.gnu.org/mailman/listinfo/lilypond-user-fr
>

---

From: Jean-Jacques Gerbaud <[email-masked]>
Date: Mon, 28 Jan 2019 13:44:43 +0100

> Ici ça fonctionne bien :

Chez moi, ça fonctionne aussi même en version 2.18.2.

Je peux me permettre un petit commentaire : le "darkblue" est, à mon 
avis, trop proche du noir du point de vue teinte. Visuellement, le 
"blue" tout court est plus "joli" ! :-)

-- 

JJG

---

From: Monteverdi <[email-masked]>
Date: Mon, 28 Jan 2019 06:20:49 -0700 (MST)

Je viens de comprendre :

J'avais déclaré les variables NotesXXX au début du code pour pouvoir y
accéder facilement.

Le pb c'est qu'elles étaient déclarées avant les var. CouleurXXX qui les
utilisent.

En les déclarant dans le bon ordre ça marche !

---

From: Valentin Villenave <[email-masked]>
Date: Mon, 28 Jan 2019 15:49:02 +0000

> Chez moi, ça fonctionne aussi même en version 2.18.2.

La différence avec les versions plus récentes (en particulier 2.21,
qui pour l’instant nécessite d’être compilée maison) sera qu’on pourra
utiliser aussi bien la syntaxe #darkBlue que \darkBlue.

V.