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

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

Re: Appliquer un espacement pendant une page


From: Jean Abou Samra
Subject: Re: Appliquer un espacement pendant une page
Date: Wed, 14 Oct 2020 23:24:36 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0


Le 14/10/2020 à 20:34, Bernard Meylan a écrit :
Bonsoir à toutes/tous!

Est-il possible d'appliquer un \override SpacingSpanner
#'base-shortest-duration = #(ly:make-moment 1 20) dans une partition
*seulement pendant un certain nombre de mesures*? Je me trouve dans le
problème de partition de piano à 4 mains et mon pianiste "secondo" joue
pendant que mon "primo" compte 9 mesures; résultat, ce dernier termine sa
page plus rapidement que l'autre et il faudrait pouvoir, pour équilibrer
cela, pouvoir espacer la page du "primo" plus largement que celle du
"secondo". Donc est-il possible d'insérer, au sein même des notes écrites la
commande \override SpacingSpanner #'base-shortest-duration =
#(ly:make-moment 1 32) et de lui dire, à la fin de la page: \revert
SpacingSpanner #'base-shortest-duration? Je sais que la place de cette
commande est dans un \context Score… mais peut-on la placer directement au
sein même de la saisie des notes?

Eh bien, oui... Mais telle quelle, elle s'appliquera au contexte Voice, ce
qui ne fonctionnera pas car le SpacingSpanner vit dans Score. Il suffit
tout simplement de mentionner le contexte, comme ceci :

\version "2.20.0"

musiqueDeRemplissage = \repeat unfold 20 { c'1 }
autreMusiqueDeRemplissage = \repeat unfold 20 { d'1 }

{
  \override Score.SpacingSpanner.spacing-increment = 50
  \musiqueDeRemplissage
}

(Malgré tout ce qu'en dit la documentation, je trouve le réglage
de spacing-increment plus simple.)

En revanche, ceci ne permet pas de le faire temporairement. Le code suivant
ne fonctionne pas :

{
  \override Score.SpacingSpanner.spacing-increment = 50
  \musiqueDeRemplissage
  \revert Score.SpacingSpanner.spacing-increment
  \autreMusiqueDeRemplissage
}

En effet, un seul objet SpacingSpanner est créé en temps normal, pour que
l'espacement soit uniforme au sein de la partition entière, et il est trop
tard pour le modifier une fois qu'il est parti sur sa lancée. Pour que les
choses rentrent dans l'ordre, il faut réinitialiser l'espacement :

{
  \override Score.SpacingSpanner.spacing-increment = 50
  \musiqueDeRemplissage
  \revert Score.SpacingSpanner.spacing-increment
  \newSpacingSection
  \autreMusiqueDeRemplissage
}

La documentation de \newSpacingSection se trouve ici :
http://lilypond.org/doc/v2.20/Documentation/notation/new-spacing-section

Cela dit, je suis tout à fait d'accord avec Olivier sur le fait
qu'il vaut mieux laisser LilyPond faire son travail. Si le but
est d'avoir exactement quatre systèmes par page, pourquoi pas :

\paper {
  systems-per-page = 4
}

Cordialement,
Jean




reply via email to

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