Subject: amélioration en vue ?

From: moebius <[email-masked]>
Date: Fri, 05 Nov 2010 00:21:06 +0100

Bonsoir ou bonne nuit car finalement il est bien tard déjà...

J'ai travaillé sur cette partition un long moment car j'ai été confronté 
à plusieurs problèmes essentiellement liés à la polyphonie.

- Avec mes histoires de polyphonie, à partir de la mesure 10, je 
n'arrivais pas à obtenir des silences au milieu de la portée (ils se 
retrouvaient en haut quoi que je fasse), j'ai donc dû scinder l'affaire 
en 4 parties :
mes 10 -> début 11
silences
mesure 12 -> début mesure 13
silences

Il doit y avoir moyen de faire mieux...

A partir de la mesure 10, je voulais différencier, par la taille des 
notes,  la voix principale (la plus grave) des deux autres ; en m'aidant 
de la doc sur la polyphonie j'ai opté pour "identité rythmique" 
concernant les deux voix supérieures, enchâssée dans une "polyphonie 
temporaire l'. Y-a-t-il une solution plus élégante ? Surtout que, les 
deux sol de la deuxième voix des troisièmes temps des mesures 10 et 12 
disparaissent sous le "gros" sol de la voix principale (on ne voit que 
leurs hampes).

Enfin, j'ai mis un markup un peu alambiqué (en fait un détournement de 
la méthode pour mettre des paroles additionnelles) pour indiquer que 
c'était fait avec Lilypond ; plus simple, ça existe ?

Enfin (je sais, c'est la deuxième fois :)  ), j'aimerais imprimer deux 
fois la partition sur la même page (en supprimant donc le copyright de 
bas de page devenu redondant) , on fait comment ?

Voilà, si quelqu'un n'est pas trop effrayé par mon code et voulait bien 
jeter un coup d'œil  à tout ça.....un grand merci à lui !

cordialement,

---

From: moebius <[email-masked]>
Date: Fri, 05 Nov 2010 00:31:30 +0100

A propos, je suggère une modification dans la doc concernant la 
polyphonie temporaire  ; il est noté ceci :

En fait, la première expression d’une polyphonie temporaire reste dans 
le même contexte Voice que celui existant auparavant et qui perdurera 
après ce fragment. Les autres expressions entre doubles chevrons seront 
assignées à des voix temporaires distinctes. C’est la raison pour 
laquelle les paroles qui suivaient la voix avant la polyphonie 
continueront à le faire durant ce passage polyphonique et après lui...

J'aurais noté pour être plus clair ( enfin, il me semble...) :

En fait, la première expression suivant le double chevron d’une 
polyphonie temporaire reste dans le même contexte Voice que celui 
existant auparavant et qui perdurera après ce fragment. Les autres 
expressions de cette polyphonie seront assignées à des voix temporaires 
distinctes. C’est la raison pour laquelle les paroles qui suivaient la 
voix avant la polyphonie continueront à le faire durant ce passage 
polyphonique et après lui...

cordialement,

---

From: Xavier Scheuer <[email-masked]>
Date: Fri, 5 Nov 2010 01:36:36 +0100

> Bonsoir ou bonne nuit car finalement il est bien tard déjà...

Oui.
D'ailleurs si je dis des bêtises j'aurai l'excuse que j'étais fatigué.
:)

> J'ai travaillé sur cette partition un long moment car j'ai été confronté à
> plusieurs problèmes essentiellement liés à la polyphonie.
>
> - Avec mes histoires de polyphonie, à partir de la mesure 10, je n'arrivais
> pas à obtenir des silences au milieu de la portée (ils se retrouvaient en
> haut quoi que je fasse), j'ai donc dû scinder l'affaire en 4 parties :
> mes 10 -> début 11
> silences

Fonctionne très bien dans la voix principale (première expression après
les _premiers_ chevrons).

%----mesure 10 et 1er termps mesure 11 ------%
\repeat volta 2 {
 << { \voiceOne \teeny << {
       g8\( g16 g ~ g g g8 g g g4 g\) }
   {
   c8 c16 c ~ c c c8 c c b4 c

} >> \oneVoice \normalsize r4 r2  % XS: ICI !
 }
 \new Voice
 { \voiceTwo \normalsize {  e,8 e16 e ~ e e e8 g g d4 e }
   s4 s2
    }

Tu ne fais pas simple en utilisant des chevrons sans instanciation
explicite des voix _à l'intérieur_ de chevrons _avec_ création d'une
nouvelle voix !
Pourquoi pas des accords à la place (<c g'>8\( <c g'>16 ...) ?

J'ignorais que \teeny fonctionnait pour changer la taille des notes !
(bon, en fait j'avais oublié, je n'utilise ces commandes que pour du
texte, je ne trouve pas ça pratique pour autre chose, cf. ci-dessous)
Par contre ça ne modifie que la taille des têtes de notes (NoteHead),
non ?  Pas envie de diminuer la taille des hampes aussi ?
  \override Stem #'length-fraction = #(magstep -2)

> A partir de la mesure 10, je voulais différencier, par la taille des notes,
>  la voix principale (la plus grave) des deux autres ; en m'aidant de la doc
> sur la polyphonie j'ai opté pour "identité rythmique" concernant les deux
> voix supérieures, enchâssée dans une "polyphonie temporaire l". Y-a-t-il une
> solution plus élégante ?

Je mettrais la voix principale (taille normale) en premier dans les
doubles chevrons.  Puis une (deux) nouvelle(s) voix pour les plus
petites.  Plus logique (et plus simple), non ?

> Surtout que, les deux sol de la deuxième voix des troisièmes temps des
> mesures 10 et 12 disparaissent sous le "gros" sol de la voix principale
> (on ne voit que leurs hampes).

Utiliser \shiftOn .  Si cela ne fonctionne pas
  \once \override NoteColumn #'force-hshift = #0.7
devant la note à décaler.
Cf. NR 1.5.2 Plusieurs voix > Résolution des collisions
http://lilypond.org/doc/v2.13/Documentation/notation/multiple-voices#collision-resolution

> Enfin, j'ai mis un markup un peu alambiqué (en fait un détournement de la
> méthode pour mettre des paroles additionnelles) pour indiquer que c'était
> fait avec Lilypond ; plus simple, ça existe ?

Euh...
Utiliser

\header {
  copyright = "Gravé à l'aide de Lilypond/Linux, logiciel libre"
}

ou bien (toujours dans \header ) la variable tagline (copyright = bas
de première page, tagline = bas de dernière page).
La tagline par défaut (i.e. si tu ne définis pas de tagline = ...) est
bien aussi (mais en anglais).
Cf. en bas de ta page avec le code que tu as envoyé...

> Enfin (je sais, c'est la deuxième fois :)  ), j'aimerais imprimer deux fois
> la partition sur la même page (en supprimant donc le copyright de bas de
> page devenu redondant) , on fait comment ?

Deux fois l'un en-dessous de l'autre sur une page A4 ?
Bah simplement deux bloc \score identiques l'un en-dessous de l'autre.
Et puis utiliser ce dont j'ai parlé juste ci-dessus au lieu de ton
markup "détournement" un peu alambiqué.  ;-)

> jeter un coup d'œil  à tout ça.....un grand merci à lui !

Sinon c'est pas mal !  :D

Cordialement,
Xavier

-- 
Xavier Scheuer <[email-masked]>

---

From: Valentin Villenave <[email-masked]>
Date: Fri, 5 Nov 2010 02:08:19 +0100

> explicite des voix _à l'intérieur_ de chevrons _avec_ création d'une

Xavier, je n'ai rien compris à ta phrase :)

Quelques commentaires de plus :
 - attention à l'indentation ! En général, je reviens à la ligne après
chaque accolade ouvrante, et j'indente de deux espaces supplémentaires
au début de chaque ligne. De plus je fais des lignes de code très
courtes (une vingtaine de caractères en moyenne, en tout cas jamais
au-delà de 60 caractères) ; vous avez quelques lignes de code qui sont
franchement longues.

 - il n'est pas nécessaire de rajouter des accolades autour du bloc
\relative {}. On peut définir une voix directement comme un bloc
\relative :

mamusique =
\relative c' {
  c d e
}

- il n'est pas nécessaire de préciser \oneVoice après une section
polyphonique. Ça se fait tout seul.

- pas besoin de sortir de la polyphonie pour faire des silences
centrés : il suffit juste de passer en mode \oneVoice pendant un
instant, et ne pas oublier de mettre des "s" à l'autre voix pendant ce
temps :

<<
  {
    b a \oneVoice r \voiceOne b
  } \\ {
    \voiceTwo g g s g
  }

- en général j'utilise les liaisons de phrasé uniquement lorsque j'ai
besoin d'enjamber des liaisons normales. Par défaut, j'utilise les
liaisons simples (parenthèses).

- l'utilisation d'un markup pour le copyright ne me choque pas du tout
(ça permet de l'avoir très près du système, c'est pas vilain). En
revanche, c'est "LilyPond" et non "Lilypond", et c'est "GNU/Linux" et
non "Linux" (Linux n'est que le noyau du système, tout le reste y
compris LilyPond, c'est au projet GNU qu'on le doit) !

Cordialement,
V. Villenave

---

From: Xavier Scheuer <[email-masked]>
Date: Fri, 5 Nov 2010 01:46:37 +0100

2010/11/5 moebius <[email-masked]>:
> haut quoi que je fasse)

OK, voici ci-joint +/- comment j'aurais encodé ton fichier.
Mes commentaires commencent par XS: .

J'ai utilisé une demande de fonctionnalité que j'ai faite mais dont la
solution n'a pas encore été implémentée.
Cf. issue #1228
http://code.google.com/p/lilypond/issues/detail?id=1228

Si tu as des questions, n'hésite pas.

Cordialement,
Xavier

---

From: moebius <[email-masked]>
Date: Fri, 05 Nov 2010 21:26:01 +0100

Bonsoir,

D'abord merci pour vos conseils avisés, c'est vraiment gentil  de votre 
part.

J'ai essayé le code proposé par Xavier qui, une fois débarrassé d'une 
redondance de chevrons heureusement bien visible, s'est bien comporté.
Il me reste à régler cette histoire d'obtenir deux fois la partition sur 
la même page ; les deux \score proposés ne remettent pas l'entête (titre 
et sous-titre) la deuxième fois.

D'autre part, les sols de la deuxième voix, mes 10 et suivantes , 
disparaissent tjrs sous les "gros" sols de la première voix. Mais une 
solution m'a déjà été suggérée, il faut que je la regarde de près 
(\shiftOn et le reste).

Je n'ai, bien sûr, absolument rien compris au code qui concerne la 
fonctionnalité mentionnée, mais c'est tout-à-fait normal :)

Cent fois sur le métier....

cordialement,

---

From: Xavier Scheuer <[email-masked]>
Date: Fri, 5 Nov 2010 22:06:09 +0100

2010/11/5 moebius <[email-masked]>:
> Il me reste à régler cette histoire d'obtenir deux fois la partition sur la
> même page ; les deux \score proposés ne remettent pas l'entête (titre et
> sous-titre) la deuxième fois.

Il existe toujours une solution.
Et en général elle est même mentionnée dans la doc.

  \paper{
    print-all-headers = ##t
  }

NR 3.2 Titles and headers > 3.2.1 Creating titles
http://lilypond.org/doc/v2.13/Documentation/notation/creating-titles

> solution m'a déjà été suggérée, il faut que je la regarde de près (\shiftOn
> et le reste).

Yep, regarder la doc (lien donné dans le message précédent).
En plus cette partie (NR 1.5.2) est traduite, merci Jean-Charles.

> Xavier, je n'ai rien compris à ta phrase :)

J'étais fatigué.  :D
(pratique les excuses préintroduites à l'avance)

Cordialement,
Xavier

---

From: moebius <[email-masked]>
Date: Sat, 06 Nov 2010 23:11:16 +0100

Bonsoir,

J'ai bien essayé ce print-all-headers, mais LilyPond refuse sa position 
dans le score après la musique comme mentionné dans la doc en faisant cela :

\score {
   <<
     \new Voice = "chant" \melodie
     \header {
   title = "Zomina"
   subtitle = "Traditionnel africain"
   tagline = ""
		}
     \new Lyrics \lyricsto "chant" \coupletun

}

mais Lily se plaint, :
Analyse...
music.ly:228:4: Erreur : syntax error, unexpected \header

     \header {
music.ly:226:2: Erreur : suite à des erreurs répétées, l'expression 
musicale sera ignorée

Voilà où j'en suis....bon il ne s'agit que de mettre deux fois la même 
chose sur une page.....

Si je laisse le Header à sa place, hors des blocs score, cela 
fonctionne, mais j'obtiens alors le header deux fois de suite au début 
de la page lorsque j'utilise print-all-header....la vie n'est pas simple 
! :)

cordialement,

Le 05/11/2010 22:06, Xavier Scheuer a écrit :
> 2010/11/5 moebius<[email-masked]>:
>>
>> Bonsoir,
>>
> NR 3.2 Titles and headers>  3.2.1 Creating titles

---

From: Xavier Scheuer <[email-masked]>
Date: Sat, 6 Nov 2010 23:18:51 +0100

2010/11/6 moebius <[email-masked]>:
>
> Bonsoir,
>
> J'ai bien essayé ce print-all-headers, mais LilyPond refuse sa position dans
> le score après la musique comme mentionné dans la doc en faisant cela :
>
> \score {
>  <<
>  >>
> music.ly:226:2: Erreur : suite à des erreurs répétées, l'expression musicale
> sera ignorée
>
> Voilà où j'en suis....bon il ne s'agit que de mettre deux fois la même chose
> sur une page.....
>
> Si je laisse le Header à sa place, hors des blocs score, cela fonctionne,
> mais j'obtiens alors le header deux fois de suite au début de la page
> lorsque j'utilise print-all-header....la vie n'est pas simple ! :)

Tu dois mettre le  \header  après toute l'expressions musicale dans le
bloc  \score .
C'est indiqué dans la doc (de mémoire).

\score {
  <<
  \header {
    title = "Zomina"

Il y a un rapport de bug ouvert pour permettre de le mettre avant
aussi (j'y tiens), mais bon, paraît que c'est pas si facile !  ;-D

Cordialement,
Xavier

---

From: moebius <[email-masked]>
Date: Sat, 06 Nov 2010 23:38:07 +0100

Ah oui, je n'avais pas compris que les paroles  faisaient partie de la 
musique ;

Tout baigne maintenant, y compris les collisions de notes.

Merci  pour l'aide,

cordialement,

Le 06/11/2010 23:18, Xavier Scheuer a écrit :
> 2010/11/6 moebius<[email-masked]>:
>>
>> Bonsoir,
>>