Subject: groupstaff et variable

From: simdax <[email-masked]>
Date: Sun, 19 Dec 2010 13:09:12 +0100

Bonjour à tous,

voilà mon dernier problème en date. J'aimerais mettre dans une seule
variable un groupement de portées, comme cela:

rythmiqueUn={

\new StaffGroup
  <<
    \new Staff{
      \relative c'{
        \GuitareLickA}
    }
    \new Staff{
      \clef bass
      \relative c,{
        \repeat unfold 2 {\basseUn}
      }
    }
    \new DrumStaff{
      \batterieUn
    }
}

et je le placerai dans mon score.ly principal, mais voilà cekimdi:

/home/simdax/lilypond/usr/share/lilypond/current/ly/init.ly:37:0:
Erreur : syntax error, unexpected SCM_TOKEN, expecting \addlyrics

#(if (and (ly:get-option 'old-relative)

!! 

Si je remplace ma variable directement par le code ça marche nickel...
Pourquoi est-ce que comme ça ça bugue?? on a pas le droit de mettre des
" << >> " dans une variable ??

Merci d'avance

PS: cela fait plusieurs fois que je poste ici et j'ai toujours eu des
réponses qui m'ont aidé mais je n'ai jamais remercié les gens parce que
je consulte mes mails 3 jours après leur réponse, alors merci pour les
autres fois =)

---

From: Cécile Huneau <[email-masked]>
Date: Sun, 19 Dec 2010 14:12:30 +0100

Bonjour !
Euh... ton exemple marche très bien chez moi...
Es-tu sûr de bien définir tes variables GuitareLickA, basseUn et 
batterieUn avant de les utiliser dans rythmiqueUn ?
Pour info, mon test :

GuitareLickA = { a b c }
basseUn = { d d d }
batterieUn = { s s s }

rythmiqueUn={
     % identique au tien, rien changé
}

\score {
     \rythmiqueUn
     \layout {}
     \midi {}
}

Bonne journée !
Cécile

Le 19/12/2010 13:09, simdax a écrit :
> "<<  >>  " dans une variable ??
>
> Merci d'avance
>
> _______________________________________________
> liste de diffusion lilypond-user-fr
> [email-masked]
> http://lists.gnu.org/mailman/listinfo/lilypond-user-fr

---

From: simdax <[email-masked]>
Date: Fri, 24 Dec 2010 00:22:26 +0100

Merci beaucoup!

En fait il fallait mettre bien un bloc \score, et là ça marche...
Il faut quand même dire que l'erreur que j'avais était fort peu
indicative...

---

From: simdax <[email-masked]>
Date: Fri, 24 Dec 2010 00:36:41 +0100

Bonjour, 

Je me rends compte que je n'ai jamais rien compris à lilypond...

Je vous explique ce que j'aimerais:

Imaginons une partition pour orchestre, qui ne serait constitué que
d'interventions de blocs d'instruments séparément. Pendant 15 mesures,
disons le hautbois et les percus jouent ensemble, puis s'arrêtent car
pendant 10 mesures cela ne va être que les bassons et les trompettes
(j'invente l'exemple hein) etc. etc.

Comme tout cela est linéaire j'aimerais bien pouvoir écrire quelque
chose comme

\partieUn={
	\new StaffGroup{
		\new Staff{ \hautbois}
		\new Staff{ \percus}
		}
	}
etc.	

\score{

<<
	\partieUn
	\partieDeux
	\partieTrois
}

Mais j'aimerais que cela soit linéaire, or là, il me met toutes mes
parties en même temps. Comment je peux lui dire de d'abord traiter la
partieUn, puis la partieDeux etc. ?? 

Merci d'avance

---

From: Valentin Villenave <[email-masked]>
Date: Fri, 24 Dec 2010 01:16:50 +0100

> partieUn, puis la partieDeux etc. ??

La construction << >> indique précisément des évènements simultanés !
Essayez plutôt ceci ;

totoUn =
\context StaffGroup = "mongroupe" <<
  \context Staff = "etDun" { g'1 }
  \context Staff = "etDeDeux" { e'1 }
  \context Staff = "etDeTrois" { c'1 }

totoDeux =
\context StaffGroup = "mongroupe" <<
  \context Staff = "etDun" { a'1 }
  \context Staff = "etDeDeux" { f'1 }
  \context Staff = "etDeTrois" { d'1 }

totoTrois =
\context StaffGroup = "mongroupe" <<
  \context Staff = "etDun" { b'1 }
  \context Staff = "etDeDeux" { g'1 }
  \context Staff = "etDeTrois" { e'1 }

\score {
  {
    \totoUn
    \totoDeux
    \totoTrois
  }
}

Ou bien, vous pouvez faire des blocs \score {} séparés :

\score {
  \totoUn
}

\score {
  \totoDeux
}

\score {
  \totoTrois
}

Cordialement,
V. Villenave.