Subject: Re: répétitions

From: Vincent Gay <[email-masked]>
Date: Fri, 11 Jun 2010 21:49:06 +0200

Le 11/06/2010 21:35, Mike Solomon a écrit :

Qu'est-ce qui te gêne avec le \markup que tu as fait? Est-ce que c'est la
mise en page, le midi, etc? Il y a plein de paramètres qu'on peut régler
pour créer des fonctions \markups qui conviennent à un besoin précis. Si tu
pouvais joindre un exemple minimal du truc, je pourrais te donner une
meilleure réponse.

~Mike

C'est lourd ! J'utilise généralement des "squelettes" vides pour mettre en forme les partitions de tous les instruments de mon quintet, voilà à quoi ça ressemble :

ControleR = {
\mark \markup {   \box \bold \fontsize #2 A}
s1*3
\once \override Score.RehearsalMark #'self-alignment-X = #LEFT
\mark \markup { \hspace #20.5 \italic  \bold 4x}

s1 \bar ":|"\break
\mark \markup { \box \bold \fontsize #2 B}
s1*4 | \break
s1*4  \bar "||" \break
\mark \markup {   \box \bold \fontsize #2 A}
s1*4 | \break
s1*4  \bar "|."
}

plus tard cette variable est utilisé dans le score, par exemple:

\bookpart {
\header {}
\score {
\relative <<
\new ChordNames {
\set chordChanges = ##t
\harmoniesR
}
\new PianoStaff <<
\set PianoStaff.instrumentName =  "Piano"
\new Staff << \global \PianoRH >>
\new Staff << \global \PianoLH >>
\new Staff << \ControleR >>
}
}

le hspace vient du fait que la barre de reprise se trouve en fin de ligne, et qu'il y a un autre rehearsal marks sur la ligne suivante. la valeur s'obtient par talonnement.

de plus dans l'exemple ci-dessus il est impératif que la variable ChordNames soit vide à cet endroit (s) sinon le markup se trouve déplacé au dessus

Voilà, c'est sans doute confus, mais il serait tellement plus simple que dans  \repeat volta x {../.. } le x serve à quelque chose alors qu'on obtient exactement le même résultat quelque soit la valeur de x.

Ah, si je savais programmer...

--
Vincent Gay - mailto:[email-masked]
« Chacun devrait faire un geste afin que Wikipédia demeure sans publicité. »

---

From: Xavier Scheuer <[email-masked]>
Date: Fri, 11 Jun 2010 23:32:29 +0200

2010/6/11 Vincent Gay <[email-masked]>:

> Bonsoir
>
> soit une répétition toute bête, sans alternative
>  \repeat volta 2 {../.. }
> je voudrais seulement indiquer au dessus de la barre de reprise le
> nombre de fois à exécuter la répétition, par exemple 4x, comme cela
> se rencontre souvent dans les realbooks
> pour le moment je m'en tire avec des \markup mais je ne trouve pas
> cela très élégant!
> il aurait été sympa que \repeat volta 4 {../.. } se charge du boulot
> mais à priori ce n'est pas le cas :-(
>
> Quelqu'un aurait-il une meilleur solution ?

Je rejoins l'avis de Mike, un \markup c'est quand même pas si compliqué

> C'est lourd ! J'utilise généralement des "squelettes" vides pour
> mettre en forme les partitions de tous les instruments de mon quintet
> voilà à quoi ça ressemble :
>
> [...]
>
> le hspace vient du fait que la barre de reprise se trouve en fin de
> ligne, et qu'il y a un autre rehearsal marks sur la ligne suivante.
> la valeur s'obtient par talonnement.

Aaah, l'éternel problème qu'on ne peut avoir 2 RehearsalMark au même
endroit !  Il m'a bien emm***** celui-là.
Il y a bien une "solution" sur le LSR mais c'est super trucoïde et pas
pratique pour un sous (mais ça marche)...
http://lsr.dsi.unimi.it/LSR/Item?id=575

Plutôt que d'utiliser un \hspace par tâtonnement, pourquoi ne pas
essayer une solution du style

  s1 s1*0^\markup \right-align \italic \bold "4x" \bar ":|"

(à ajuster éventuellement) ?

> de plus dans l'exemple ci-dessus il est impératif que la variable
> ChordNames soit vide à cet endroit (s) sinon le markup se trouve
> déplacé au dessus

Seulement si tu utilises \mark \markup , non ?

> Voilà, c'est sans doute confus, mais il serait tellement plus simple
> que dans  \repeat volta x {../.. } le x serve à quelque chose alors
> qu'on obtient exactement le même résultat quelque soit la valeur de x.

Hmm, oui, effectivement.
Tu peux le suggérer aux développeurs.  ;)

> Ah, si je savais programmer...

Idem.
Je n'aurais pas à soumettre des rapports de bugs et attendre qu'un
développeur prenne le problème en charge...

Beaux rêves,
Xavier

--
Xavier Scheuer <[email-masked]>

---

From: Vincent Gay <[email-masked]>
Date: Sat, 12 Jun 2010 08:27:09 +0200

> http://lsr.dsi.unimi.it/LSR/Item?id=575
Je ne sais pas si ça marche dans mon cas, vu que je n'applique pas les 
RehearsalMark à la musique elle même mais au squelette. De toute manière 
c'est aussi lourd que ma solution actuelle

>    s1 s1*0^\markup \right-align \italic \bold "4x" \bar ":|"

s1*0 ça c'est une idée ! C'est l'œuf de Christophe Colomb :-) je 
l'essaie dès ce soir.

> Seulement si tu utilises \mark \markup , non ?

Oui, c'est le cas. Les \markup directs ne sont pas imprimés puisque le 
squelette est vide de note et que j'utilise

\layout {
         \context {
     \RemoveEmptyStaffContext
     \override VerticalAxisGroup #'remove-first = ##t
   }
   \context {
     \Score
     \remove "Bar_number_engraver"
   }
}

Je fais ça pour gagner tu temps dans la mise en page (un seul formatage 
pour tous les instruments). De plus je trouve bien pratique de séparer 
les 2 fonctions : la musique et la mise en page. Ça permet de modifier 
aisément l'une sans s'occuper de l'autre, et vice versa.

> Tu peux le suggérer aux développeurs.  ;)

Oui, je pense que c'est ce que je dois faire. Faut-il pour cela que je 
m'inscrive dans la mailing list [email-masked] ? Je n'ai rien 
trouvé d'autre sur le site.

-- 
Vincent Gay - mailto:[email-masked]
« Chacun devrait faire un geste afin que Wikipédia demeure sans 
publicité. » <http://wikimediafoundation.org/wiki/Global_Support/fr>

---

From: simdax <[email-masked]>
Date: Sat, 12 Jun 2010 15:55:22 +0200

Bonjour à tous, 

Tout est en quelque sorte dans le titre : est-il possible de mettre
entre parenthèses la signature métrique, comme une simple indication,
dans un contexte en fait non mesuré ? Et si oui, comment ?

Merci d'avance

Simon Cornaz

---

From: Xavier Scheuer <[email-masked]>
Date: Sat, 12 Jun 2010 15:59:15 +0200

> dans un contexte en fait non mesuré ? Et si oui, comment ?

Bonjour !

Parenthèses je ne sais pas, mais crochets oui :
http://lsr.dsi.unimi.it/LSR/Item?id=647

  \override Staff.TimeSignature #'stencil = #(lambda (grob)
    (bracketify-stencil (ly:time-signature::print grob) Y 0.1 0.2 0.1))

Cordialement,
Xavier

---

From: Xavier Scheuer <[email-masked]>
Date: Sat, 12 Jun 2010 16:01:39 +0200

>    (bracketify-stencil (ly:time-signature::print grob) Y 0.1 0.2 0.1))

Voir les pistes que j'ai données ici pour des parenthèses,
malheureusement je ne sais pas faire mieux :
http://lilypond-french-users.1298960.n2.nabble.com/Mettre-une-clef-entre-parenthese-tp5067026p5072789.html

Cordialement,
Xavier

---

From: Vincent Gay <[email-masked]>
Date: Sat, 12 Jun 2010 20:38:44 +0200

> s1*0 ça c'est une idée ! C'est l'œuf de Christophe Colomb :-) je 

Ben ça ne marche pas :)
j'ai essayé ça:
  Controle = {
   \mark \markup {   \box \bold \fontsize #2 A}
    s1*4 | \break
    s1*4 | \break
    s1*4 | \break
    s1*4
    \once \override Score.RehearsalMark #'break-visibility = 
#begin-of-line-invisible
    \once \override Score.RehearsalMark #'self-alignment-X = #right
    \mark \markup { 4x }
    s1*0
    \bar ":|" \break
    \mark \markup { \box \bold \fontsize #2 B}
    s1*4 | \break
    s1*4  \bar "||" \break
    \mark \markup {   \box \bold \fontsize #2 A}
    s1*4 | \break
    s1*4 \bar "|."
}

j'espérai voir mon 4x en bout de ligne et mon B au début de la ligne 
suivante mais non !
tant pis, je reste avec mon /hspace

---

From: Xavier Scheuer <[email-masked]>
Date: Sat, 12 Jun 2010 21:17:49 +0200

> tant pis, je reste avec mon /hspace

Non, s1*0^\markup et non \mark \markup s1*0.

Controle = {

  s1*4 | \break
  s1*4
  s1*0^\markup \right-align "4x"

  \bar ":|" \break

Cordialement,
Xavier

---

From: Vincent Gay <[email-masked]>
Date: Sun, 13 Jun 2010 08:18:44 +0200

>    s1*0^\markup \right-align "4x"
Non Xavier, cela ne fonctionne pas, du moins chez moi, dans la mesure ou 
la variable Controle ne comprend QUE des éléments vides, pas de note, 
que des s, des \mark, des \bar et des \break, et que j'ai mis dans le 
\layout qui va bien que les partitions vides ne devaient pas se voir 
(\RemoveEmptyStaffContext)

les \mark apparaissent, pas les ^\markup, j'ai essayé.

au fait : \version "2.12.3" mais je ne pense pas que la 2.13 change quoi 
que ce soit sur ce point

Je renouvelle ma question : comment faire une suggestion aux 
développeurs ? faut-il s'inscrire sue la liste développement ?

---

From: Xavier Scheuer <[email-masked]>
Date: Sun, 13 Jun 2010 13:01:35 +0200

2010/6/13 Vincent Gay <[email-masked]> :

> Non Xavier, cela ne fonctionne pas, du moins chez moi, dans la mesure
> ou la variable Controle ne comprend QUE des éléments vides, pas de
> note, que des s, des \mark, des \bar et des \break, et que j'ai mis
> dans le \layout qui va bien que les partitions vides ne devaient pas
> se voir (\RemoveEmptyStaffContext)
>
> au fait : \version "2.12.3" mais je ne pense pas que la 2.13 change
> quoi que ce soit sur ce point

Sorry, missed that point.

> développeurs ?  faut-il s'inscrire sue la liste développement ?

Oui, bien que cela ne soit pas vraiment nécessaire puisqu'il est
également possible d'envoyer un message via Gmane sans devoir
s'inscrire :
http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.devel

Cela dit, si tu n'es pas inscrit et que ton interlocuteur met
uniquement la liste en destinataire de son message (pas de "Répondre
à tous" avec ton adresse en destinataire) tu ne recevras pas la réponse
à ta question...  :p

Tu peux aussi mentionner que cette demande revient assez régulièrement,
comme le montrent ces nombreux messages depuis plusieurs années :

http://lists.gnu.org/archive/html/lilypond-devel/2009-03/msg00016.html
http://lists.gnu.org/archive/html/lilypond-user/2009-03/msg00057.html
http://lists.gnu.org/archive/html/lilypond-user/2008-10/msg00977.html
http://lists.gnu.org/archive/html/lilypond-user/2007-03/msg00088.html
http://lists.gnu.org/archive/html/lilypond-user/2004-10/msg00088.html

Cordialement,
Xavier