Appliquer un espacement pendant une page

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/

Bonjour,

···

Le 14/10/2020 20:34, Bernard Meylan a écrit :

[...] 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 [...]

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

Olivier Miakinen-3 wrote

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.

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
--
Sent from: http://lilypond-french-users.1298960.n2.nabble.com/

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 :

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

···

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?

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

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
}

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
--
Sent from: http://lilypond-french-users.1298960.n2.nabble.com/

Bonsoir Bernard,

···

Le jeu. 15 oct. 2020 à 14:21, Bernard Meylan <****@****> a écrit :

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…

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

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

···

Le 15/10/2020 à 14:20, Bernard Meylan a écrit :

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

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
}

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…

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 : LilyPond Notation Reference: 1.6.3 Writing parts)

Cordialement,
Jean

···

Le 15/10/2020 à 17:11, Jean-Julien Fleck a écrit :

Bonsoir Bernard,

Le jeu. 15 oct. 2020 à 14:21, Bernard Meylan <****@**** <mailto:****@****>> a écrit :

    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…

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 LilyPond Notation Reference: 1.2.2 Writing rests)

Ceci dit, il semblerait que la nomenclature ait changée avec la 2.20 (cf LilyPond Notation Reference: 1.2.2 Writing rests) donc cela dépend de la version de Lylipond adoptée.

Bonjour Jean-Julien!

Jean-Julien Fleck wrote

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 ?

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
--
Sent from: http://lilypond-french-users.1298960.n2.nabble.com/

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

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
--
Sent from: http://lilypond-french-users.1298960.n2.nabble.com/