Créer une fonction "polyphonie"

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.

É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 ?

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.

···

2011/7/19 Seventies <****@****>:

Bonsoir à l'équipe,

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

[…]

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.

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

···

2011/7/19 Seventies <****@****>:

--
Xavier Scheuer <****@****>

Oups, j'avais oublié de répondre, en disant naturellement que ça fonctionne à
merveille, que le code est bien plus clair et plus court.

Et pour répondre à Xavier, oui, ta demande est d'une logique élémentaire. La
syntaxe originale ( avec \\ ) est vraiment tordue, et sujette à de
nombreuses difficultés, voire d'erreurs pour les débutants.

Merci à tous,

Jean-François

···

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