Subject: Créer une fonction "polyphonie"

From: Seventies <[email-masked]>
Date: Tue, 19 Jul 2011 13:28:22 -0700 (PDT)

Bonsoir à l'équipe,

Je remarque que dans mes partitions, l'expression polyphonique suivante
revient très souvent (polyphonie temporaire) :

<<{
   \voiceOne
   expression_1
}
\new Voice
{
   \voiceTwo
   expression_2
}
\oneVoice

Elle est bien plus pratique que le classique << {...} \\ {...} >> , et le
manuel de la version 2.14 montre clairement l'avantage de la première
méthode.

Elle est toutefois complexe à taper (j'ai essayé sans succès les macros de
jEdit).
Étant un âne dans la manipulation de Scheme, je me demande s'il ne serait
pas simple de créer une fonction du genre :
polyphony expression1 expression2

Voilà, alors, comment la créer, et comment l'utiliser ?

Merci d'avance de vos conseils.

Jean-François

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/Creer-une-fonction-polyphonie-tp6600198p6600198.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

---

From: Valentin Villenave <[email-masked]>
Date: Tue, 19 Jul 2011 23:37:33 +0200

> Voilà, alors, comment la créer, et comment l'utiliser ?

Au pif, quelque chose comme ceci :

polyphony=
#(define-music-function (parser location voixun voixdeux)
    (ly:music? ly:music?)
#{
<<{
  \voiceOne
  $voixun
}
\new Voice
{
  \voiceTwo
  $voixdeux
}
\oneVoice
#})

C'est d'ailleurs quelque chose de ce style que j'utilise partout dans mon code :
http://git.savannah.gnu.org/cgit/opus-libre.git/tree/bin/macros.scm#n44

Cordialement,
V. Villenave.

---

From: Xavier Scheuer <[email-masked]>
Date: Fri, 22 Jul 2011 11:37:18 +0200

2011/7/19 Seventies <[email-masked]>:
> […]

Salut Jean-François.

Je suis bien d'accord avec toi.
D'ailleurs j'avais fait une demande pour que  << { … } \\ { … } >>
soit réécrit pour se comporter comme

 <<
   {
     % continuation of the "main" Voice from outside the polyphony
     \voiceOne
     …
   }
   \context Voice = "2" {
     \voiceTwo
     …
   }
 >> \oneVoice

Cette demande n'est pas nouvelle et plusieurs personnes l'ont formulée
au cours du temps.
Elle a été enregistrée sur le tracker sous le numéro #1316
http://code.google.com/p/lilypond/issues/detail?id=1316
mais malheureusement a été postposée en attendant le GLISS (Grand
LilyPond Input Syntax Standardization).

Cheers,
Xavier

-- 
Xavier Scheuer <[email-masked]>