Subject: Appliquer un espacement pendant une page

From: Bernard Meylan <[email-masked]>
Date: Wed, 14 Oct 2020 11:34:35 -0700 (MST)

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?

-----
Cordialement

Bernard
--
Sent from: http://lilypond-french-users.1298960.n2.nabble.com/

---

From: Olivier Miakinen <[email-masked]>
Date: Wed, 14 Oct 2020 21:30:09 +0200

Bonjour,

Le 14/10/2020 20:34, Bernard Meylan a écrit :
> 
> [...] Je me trouve dans le
> page plus rapidement que l'autre [...]

Si j'ai bien compris le problème, tu voudrais que les deux pianistes
aient leur tourne de page en même temps. Il me semble qu'un \pageBreak
aux endroits appropriés devrait être la solution la plus simple et la
plus élégante, en laissant LilyPond gérer l'espace au sein de chaque
page.

Cordialement,
-- 
Olivier Miakinen

---

From: Bernard Meylan <[email-masked]>
Date: Wed, 14 Oct 2020 12:43:19 -0700 (MST)

Olivier Miakinen-3 wrote
> Il me semble qu'un \pageBreak

C'est bien ce que j'ai fait, mais à cause de nombre de mesures très
différent de chacun des 2 pianistes, LilyPond gère assez mal le nombre de
système sur chaque page… il y en a 4 pour le "secondo" et 3 pour le "primo"
ce qui n'est pas très beau… Je voudrais pouvoir augmenter l'espacement du
"primo" pour qu'il ait le même nombre de systèmes (et donc aussi le même
nombre de mesures) sur la page.

-----
Cordialement

Bernard

---

From: Jean Abou Samra <[email-masked]>
Date: Wed, 14 Oct 2020 23:24:36 +0200

> 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

---

From: Bernard Meylan <[email-masked]>
Date: Thu, 15 Oct 2020 05:20:44 -0700 (MST)

Merci Jean pour m'avoir renvoyé à la page idoine du manuel concernant
l'espacement; étant récemment arrivé sur la version 2.20, je n'avais pas
pris garde à cette fonctionnalité.

Jean Abou Samra wrote
> est d'avoir exactement quatre systèmes par page, pourquoi pas :

Tout simplement parce que dans mon cas, un des pianiste a 9 mesures de plus
à jouer que l'autre, et que ces 9 mesures occupent sur une page plus de
place que sur l'autre (un simple |---9---|). Or il faut que les 2 pages se
terminent à la même mesure…

-----
Cordialement

Bernard

---

From: Jean-Julien Fleck <[email-masked]>
Date: Thu, 15 Oct 2020 17:11:02 +0200

Bonsoir Bernard,

> terminent à la même mesure…

Si le but est de prendre autant de place dans une partition que dans
l'autre, autant que les mesures vides soient apparentes, non ?
Ne serait-il pas plus simple de ne pas compresser ces 9 mesures en une
seule avec \expandFullBarRests au lieu de \compressFullBarRests ? (cf
http://lilypond.org/doc/v2.18/Documentation/notation/writing-rests#full-measure-rests
)

Ceci dit, il semblerait que la nomenclature ait changée avec la 2.20 (cf
http://lilypond.org/doc/v2.20/Documentation/notation/writing-rests#full-measure-rests)
donc cela dépend de la version de Lylipond adoptée.

Bonne soirée,

--
JJ Fleck
Physique et Informatique
PCSI1 Lycée Kléber

---

From: Jean Abou Samra <[email-masked]>
Date: Thu, 15 Oct 2020 20:17:11 +0200

> terminent à la même mesure…
Mais oui, précisément : l'idée est de garder les \break (donc, c'est 
vrai, on
prémâche tout de même le travail à LilyPond pour les sauts de page, mais 
pas pour
les sauts de systèmes), et d'ajouter ce \paper pour que LilyPond répartisse
automatiquement la musique qu'on lui demande de mettre à chaque page sur 
quatre systèmes
exactement. Ainsi, on se passe des réglages manuels de SpacingSpanner 
qui ne sont
pas franchement pratiques dans ce cas (il faut ajuster manuellement la 
valeur pour
avoir quatre systèmes, et si d'aventure il fallait deux valeurs 
différentes pour deux
pages distinctes, des ajouter des \newSpacingSection).

Cordialement,
Jean

---

From: Jean Abou Samra <[email-masked]>
Date: Thu, 15 Oct 2020 21:53:12 +0200

Le 15/10/2020 à 17:11, Jean-Julien Fleck a écrit :
> Bonsoir Bernard,
>
> Le jeu. 15 oct. 2020 à 14:21, Bernard Meylan <[email-masked] 
> <mailto:[email-masked]>> a écrit :
>
>
> http://lilypond.org/doc/v2.18/Documentation/notation/writing-rests#full-measure-rests)
>

En effet, c'est Valentin qui a changé \compressFullBarRests en 
\compressEmptyMeasures, et \expandFullBarRests en \expandEmptyMeasures, 
pour éviter la confusion avec \compressMMRests. (Au cas-où, la 
différence est expliquée ici : 
http://lilypond.org/doc/v2.21/Documentation/notation/writing-parts#compressing-empty-measures.)

Cordialement,
Jean

---

From: Bernard Meylan <[email-masked]>
Date: Fri, 16 Oct 2020 06:46:10 -0700 (MST)

Bonjour Jean-Julien!

Jean-Julien Fleck wrote
> seule avec \expandFullBarRests au lieu de \compressFullBarRests ? 

En soi, tu as raison, et c'est cette solution que j'aurais appliquée si je
n'avais pas pu trouver de meilleure présentation. Mais de voir 9 mesures
alignées les unes à côté des autres n'est vraiment (à mon sens) pas beau… Et
il aurait fallu appliquer, pour aider quelque peu le pianiste concerné, une
numérotation dans chacune des mesures

-----
Cordialement

Bernard

---

From: Jean Abou Samra <[email-masked]>
Date: Fri, 16 Oct 2020 15:52:48 +0200

Est-ce que systems-per-page a bien fonctionné ?

---

From: Bernard Meylan <[email-masked]>
Date: Fri, 16 Oct 2020 07:26:44 -0700 (MST)

Absolument! Et couplé au \newSpacingSection cela m'a permis de résoudre de
manière graphiquement élégante le problème de ces mesures à compter.

-----
Cordialement

Bernard