Subject: alignement figured bass

From: Editions IN NOMINE <[email-masked]>
Date: Tue, 18 May 2010 17:33:51 +0200

Bonjour à toutes et à tous !

Je sollicite à nouveau vos lumières pour un truc qui doit être tout 
simple à faire mais sur lequel je rame depuis un moment...

En compilant ce petit bout :

basse = \relative c {\clef bass \stemUp c8 e f d g4 g, c1}/ % le \stemUp 
c'est exprès pour avoir des hampes qui gènent les chiffres/
chiffres = \figuremode {<_+>4 <5>8 <6> <6 4>4 <5 4>8 <_+> <5>}

\score {
<<
\new Staff = bc {\basse}
\context Staff = bc \chiffres
\layout {}
}

vous constaterez que le chiffrage suis plus ou moins les hauteurs de hampe.

Je souhaite que tous les chiffres soient alignés sur une seule ligne (et 
pas une oreille qui dépasse)... le but est d'avoir une lecture moins 
houleuse des chiffres
et un aspect plus harmonieux.

J'ai bidouillé plus d'une heure avec des \override BassFigure #'padding 
= #10 et autres sauces avec BassFigureAlignment + des trucs pour forcer 
un espace au-dessus de la ligne de basse (genre rien en-dessous de 10, 
mais le pire est que seul le chiffre du haut se soulève... 
cauchemar...), mais rien n'y a fait : je m'en remats totalement à votre 
sagacité...

Merci d'avance !

JMarc

---

From: Jean-Charles Malahieude <[email-masked]>
Date: Tue, 18 May 2010 19:20:30 +0200

> cauchemar...), mais rien n'y a fait : je m'en remats totalement à votre

Moi, je tenterais :
     \new Staff = "Basso" {
       \set Staff.instrumentName = #"Basso"
       << \clef bass
	 \new Voice { \basse }
	 \new FiguredBass { \chiffres }

C'est très élégant !

@+
Jean-Charles

---

From: Xavier Scheuer <[email-masked]>
Date: Wed, 19 May 2010 02:00:15 +0200

2010/5/18 Jean-Charles Malahieude <[email-masked]> :

>      >> }

Ouais, moi je mets FiguredBass au même niveau que Staff (et non Voice),
mais l'idée est la même.  Idem pour ChordNames ou Lyrics, mais je ne
sais pas si c'est correct/justifié.

Par contre pour avoir une basse figurée dépendante de la hauteur des
notes _il faut_ mettre le \figuremode dans le contexte Staff.
C'est expliqué dans la doc NR 2.7.3 Figured bass.

Cordialement,
Xavier

--
Xavier Scheuer <[email-masked]>

---

From: Editions IN NOMINE <[email-masked]>
Date: Wed, 19 May 2010 09:18:34 +0200

Yessss ! Et pour compléter vos propositions (la basse chiffrée était 
sous la ligne de basse), voici ce que j'ai obtenu grâce à votre aide et 
qui répond entièrement à ma question :

\score {
  <<
  \new Staff { \basse }
}

Merci à vous : vous m'enlevez une sacrée épine du pied !

A bientôt

JMarc

---

From: Editions IN NOMINE <[email-masked]>
Date: Wed, 19 May 2010 09:33:18 +0200

Cela dit, même si mon pb de base est résolu, je ne vois pas comment 
ajuster la hauteur de l'alignement en question. Et si, soyons fou, je 
décidais d'avoir un énorme espace entre ma ligne de basse et la ligne de 
chiffre ?

Il doit bien exister une truc du style :

*\new FiguredBass \with {\override BassFigure  #'padding = #beaucoup*

non ?

Bonne journée !

JM

---

From: Eluze <[email-masked]>
Date: Wed, 19 May 2010 04:08:15 -0700 (PDT)

voire NR 4.4 Vertical spacing

attention aux différences des versions 2.12.… et 2.13.…!
-- 
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/alignement-figured-bass-tp5070693p5074440.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

---

From: Xavier Scheuer <[email-masked]>
Date: Wed, 19 May 2010 13:50:29 +0200

2010/5/19 Editions IN NOMINE <[email-masked]> :

> ajuster la hauteur de l'alignement en question.  Et si, soyons fou,
> je décidais d'avoir un énorme espace entre ma ligne de basse et la
> ligne de chiffre ?
>

Oui.

En fait tout ça est géré par le nouveau système d'espacement vertical
(attention : 2.13 uniquement, 2.12 passez votre chemin...).  :)
Dans le cas présent il s'agit d'espacement à l'intérieur d'un système
(NR 4.4.1 Vertical spacing inside a system).

La doc n'est pas facile à comprendre (moi j'ai du mal en tout cas).  :p
D'après ce que j'ai compris (i.e. n'hésitez pas à me corriger si je dis
n'importe quoi), il faut mettre tout d'abord

  \override FiguredBass.VerticalAxisGroup #'staff-affinity = #DOWN

puisque vous souhaitez mettre la basse figurée au-dessus de la portée
(autrement dit la portée se trouve *en dessous* -> DOWN).
Par défaut LilyPond considère que FiguredBass se trouve en dessous de
Staff (-> #'staff-affinity = #UP).

Ensuite pour gérer l'espace il faut savoir que FiguredBass n'est *pas*
une portée (Staff) ; donc l'espacement vis-à-vis de la portée la plus
proche du côté #'staff-affinity est régit par #'inter-staff-spacing,
comme expliqué dans la partie "Spacing of non-staff lines".
Donc
  \override VerticalAxisGroup #'inter-staff-spacing #'padding = #2

En résumé, utilisez quelque chose du style

  \score {
    <<
      \new FiguredBass \with {
        \override VerticalAxisGroup #'staff-affinity = #DOWN
        \override VerticalAxisGroup #'inter-staff-spacing #'padding =
#2  % défault: 0.5
      }
      { \chiffres }
      \new Staff { \basse }
  }

Cordialement,
Xavier

---

From: Editions IN NOMINE <[email-masked]>
Date: Thu, 20 May 2010 14:52:42 +0200

Absolument génial : c'est exactement ce que je voulais faire. Merci ! Au 
passage, je suis bien content d'avoir opté pour 2.13 pour pouvoir faire 
ainsi papa/maman !

En guise de remerciements, je suis en train de vous traduire à ma 
manière le 4.4.1 en question... c'est fou ce que traduire peut faire 
assimiler (obligé de comprendre pour faire comprendre...)

Encore merci et à bientôt !

JM

---

From: Editions IN NOMINE <[email-masked]>
Date: Thu, 20 May 2010 17:05:50 +0200

Et pour ceux qui chipotent encore, comme moi  :-P , en trouvant que les 
chiffrages <_+> et <_-> sont décalés vers le bas par rapport aux 
chiffres et que ça fait pas beau, je viens de faire de la brasse coulée 
dans le /usr/share/lilypond/scm/translation-functions.scm (après un 
petit backup of course), et j'ai trouvé la ligne qui manipule le 
positionnement desdits chiffrages :

    (if (and (not fig-markup) alt-markup)
    (begin
      (set! fig-markup (markup #:left-align #:pad-around 0.3 alt-markup))
      (set! alt-markup #f)))

J'ai cru comprendre les choses suivantes (en sachant qu'avec Scheme, on 
lit de droite à gauche... :

    (if (and (not fig-markup) alt-markup)                        -->     
                        si chiffrage est une altération ET pas un 
chiffre (une altération suele, donc)
    (begin                                                               
         -->                            que la fête commence :
    (set! fig-markup (markup #:left-align #:pad-around 0.3 alt-markup))  
-->  justifier à gauche et faire un espace de 0.3 autour de l'altération 
et input dans la varialbe fig-markup                                     
                                                                        
                (mais nous on s'en fout)
    (set! alt-markup #f)))                                             
   -->                              pareil, je comprends pas vraiment, 
et je m'en tape !

Bref, en pratique : si je mets -0.3 à la place de 0.3, j'ai mes 
chiffrages dièses et bémol (en dehors de combinaisons avec des chiffres) 
qui se placent dans l'axe des autres chiffrages et c'est beau ! 
Attention, à combiner, avec la belle propriété de Xavier : \override 
VerticalAxisGroup #'inter-staff-spacing #'padding = #x, pour ne pas voir 
disparaître les dits chiffres dans les limbes (il faut que je creuse un 
peu plus)...

A tout de suite : j'ai quelque chose à vous demander encore sur la basse 
chiffrée, mais soufflons un peu...

JMarc