Subject: Re: \partcombine ou \voiceThree

From: Martial <[email-masked]>
Date: Mon, 26 May 2008 23:14:10 +0200

Bonsoir

Un truc simple comme ça fonctionne

LilyPond hurle un peu :
Avertissement : trop de notes se chevauchent. On fera au mieux.

Mais ça passe

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\version "2.11.46"
\include "english.ly"
#(set-default-paper-size "a5")
%%===========================================================
IWords = \lyricmode	{ BI BA BI BE BO BE BU1.__ }
IGlobal =	{ \key c \major }

VoixA = \new Voice = "one" \relative c'{ \stemUp g'4 a g f e d c b c1 }
		
VoixB = \new Voice = "two" \relative c'{ \stemUp e4 f e d c b a gs a1 }

VoixC = \new Voice = "three" \relative c'{\stemDown c4 c c b c g a e a1}

Vbasse =  \new Voice  \relative c' { r4 r r r  R1  R1 }
%%===========================================================
\score
{
	\new ChoirStaff
	<<
		\new Staff
			<<
			 \clef "G"
			 \transpose c f
			<<   \IGlobal
				  \VoixA
				  \VoixB
				  \VoixC
	
	\new Lyrics = thewords { s }
	
	\new Staff
	<<
	\clef "F"  \transpose c f { \IGlobal \Vbasse } 	>>
	
	\context Lyrics = thewords \lyricsto "one" { \IWords }
	\layout{ }
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

-- 
Martial

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\version "2.11.46"
\include "english.ly"
#(set-default-paper-size "a5")
%%===========================================================
IWords = \lyricmode	{ BI BA BI BE BO BE BU1.__ }
IGlobal =	{ \key c \major }

VoixA = \new Voice = "one" \relative c'{ \stemUp g'4 a g f  e d c b  c1 }
		
VoixB = \new Voice = "two" \relative c'{ \stemUp e4 f e d  c b a gs  a1 	}

VoixC = \new Voice = "three"  \relative c'	{ \stemDown  c4 c c b  c g a e  a1 }

Vbasse =  \new Voice  \relative c'	{	r4 r r r  R1  R1  }
%%===========================================================
\score
{
	\new ChoirStaff
	<<  
		\new Staff
			<<  
			 \clef "G" 
			 \transpose c f 
			<<   \IGlobal
				  \VoixA  
				  \VoixB 
				  \VoixC 
	
	\new Lyrics = thewords { s }
	
	\new Staff
	<<  
	\clef "F"  \transpose c f { \IGlobal \Vbasse } 	>>
	
	\context Lyrics = thewords \lyricsto "one" { \IWords }
	\layout{ }
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

---

From: "Germain G. Ivanoff-Trinadtzaty" <[email-masked]>
Date: Tue, 27 May 2008 00:12:43 +0200

Merci ; c'est bien l'emploi des << >> qui me manquait.
Je note aussi qu'on peut factoriser les \transpose, et surtout : VoixA !!!
Contient la déclaration de contexte, plus les données ! VoixA semble donc 
être une "macro symbolique", comme le  "#define" du langage C. Je pensais 
que la syntaxe : id = { ... } se référait à une variable, et ne pouvait 
contenir que des données. (le cas de : id = \lyricmode {...} n'était pas 
pour moi un contre exemple ; j'y voyais seulement une déclaration de type). 
Très éclairant, merci.
Germain

----- Original Message ----- 
From: "Martial" <[email-masked]>
To: <[email-masked]>
Sent: Monday, May 26, 2008 11:14 PM
Subject: Re: \partcombine ou \voiceThree

Bonsoir

LilyPond hurle un peu :

Mais ça passe

\new Staff
<<

\layout{ }
}

-- 
Martial

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

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

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

---

From: John Mandereau <[email-masked]>
Date: Wed, 28 May 2008 15:22:46 +0200

Le mardi 27 mai 2008 à 00:12 +0200, Germain G. Ivanoff-Trinadtzaty a
> pour moi un contre exemple ; j'y voyais seulement une déclaration de type). 

Pour info, \lyricmode n'est pas une déclaration de type, pas plus que
VoixA est une macro symbolique ; les variables nommées id et VoixA dont
tu parles ont toutes les deux le même type Music (peut-être avec une
minuscule), qui est dans LilyPond un type Scheme tout comme string,
number, int...  Pour t'en convaincre, tu peux tester si une variable
définie au préalable (attention à la lecture anticipée de l'analyseur
syntaxique) est du type Music avec la fonction Scheme ly:music?
et tu peux aussi voir comment peut-être construite cette musique en
Scheme.  Voici un exemple qui rassemble tout (lorsque tu le compileras
avec LilyPond, tu n'auras pas de PDF, juste une sortie à l'écran ou dans
le fichier .log).

VoixA = \displayMusic \new Voice = "one" \relative c'{ \stemUp g'4 a g f e d c b c1 }
#0 %% idiotie permettant d'éviter un problème avec la lecture anticipée de l'analyseur
#(display (ly:music? VoixA))

Tu trouveras plus de détails dans l'essai sur la gravure, la
documentation, et surtout le code source !

Salutations lilyesques
John