lilypond-user-fr
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Arrangement vertical : encore une petite am élioration


From: Xavier Scheuer
Subject: Re: Arrangement vertical : encore une petite am élioration
Date: Wed, 2 Feb 2011 13:32:40 +0100

2011/2/1 Seventies <address@hidden>:
>
> Magnifique, le travail sur l'arrangement vertical dans la version 2.13.47 :
> la syntaxe est maintenant bien claire et bien cohérente.
> Après avoir modifié le code des fichiers, quelques essais pour retomber sur
> les précédents alignements, et hop, tout roule ...

Normalement les valeurs par défaut ont été soigneusement choisies
(testées) pour donner les *meilleurs* résultats dans la plupart des cas
(pas facile de déterminer des valeurs d'espacement qui conviennent aussi
bien à des types de partitions très différentes : de la simple chanson +
accompagnement au conducteur d'un orchestre symphonique).
Toutefois si vous avez des remarques/commentaires concernant certains
réglages par défaut qui ne vont vraiment pas, n'hésitez pas à les
communiquer au développeurs.


> Le temps de calcul semble inférieur à celui des versions précédentes, ce qui
> est encore mieux.
>
> Pourtant, il me semble qu'il reste encore une amélioration à apporter : dans
> les partitions d'orchestre utilisant le \RemoveEmptyStaffContext, si une
> portée (vide) est effacée, la 'strechability' s'évapore elle aussi.
>
> Par exemple, si il y a deux portées pour les cors, la 'strechability' du
> second cor est plus importante que pour le premier, ce qui détache bien les
> cors des trompettes.
>
> Mais si la portée du second cor est absente, l'intervalle avec la trompette
> revient à la valeur standard (à celle du pemier cor).
>
> On pourrait reprendre cet exemple avec le basson, qui sépare les bois des
> cuivres. S'il est absent à un moment donné, les bois deviennent équidistants
> avec les cuivres.
>
> Je ne suis plus capable de me lancer dans la programmation, mais il me
> semble que
>
> #if portée non imprimée
>   reporter les propriétés du VerticalAxisGroup de cette portée sur la
> précédente
> #endIf
>
> devrait suffire - avec évidemment la prise en compte de la récursivité, si
> la précédente est également effacée.
>
> C'est loin d'être un simple "YAKA", mais ce serait une cerise sur ce
> magnifique gâteau ...
>
> Qu'en pensez-vous ?

Je pense que tu n'as pas utilisé
  StaffGrouper #'staffgroup-staff-spacing
pour espacer tes différents groupes, si ?
Cf. doc NR 4.4.1 Espacement vertical au sein d’un système >
Espacement de portées regroupées
http://lilypond.org/doc/v2.13/Documentation/notation/flexible-vertical-spacing-within-systems#spacing-of-grouped-staves

Le  StaffGrouper  a justement été créé pour régler ces cas de figure.
Il gère l'espacement au sein de différents "groupes" (sous-groupes) mais
aussi entre ce groupe (sous-groupe) et la portée qui suit.
C'est justement ce qui nous intéresse ici.  Et *normalement* si la
dernière portée du groupe/sous-groupe est absente, l'espacement entre
ce qui reste du groupe et la portée du dessous est conservé.

Je suppose que tu as mis tes 2 portées de cors dans un  GrandStaff .
Utilise alors

  \new GrandStaff \with {
    % XS: ci-dessous les valeurs par défaut
    \override StaffGrouper #'staffgroup-staff-spacing =
      #'((basic-distance . 10.5)
         (minimum-distance . 8)
         (padding . 1)
         (stretchability . 9))
  } <<
    \new Staff = "corUn" { c1 c }
    \new Staff = "CorDeux" { c1 c }
  >>

en changeant les valeurs à ta convenance.

Si le problème persiste (je n'ai pas de quoi tester en ce moment) alors
il s'agit d'un bug, à signaler à  address@hidden  avec un exemple
minimal comme expliqué par Mike.

Cordialement,
Xavier

-- 
Xavier Scheuer <address@hidden>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]