Subject: SpacingSpanner

From: Olivier Geay <[email-masked]>
Date: Wed, 12 Jul 2023 11:10:18 +0200

Bonjour à toutes et tous !

Dans mon exemple ci-dessous, où deux lignes sont commentées, la dernière
portée affublée de « ragged-last » est beaucoup plus tassée que les
précédentes.
En les décommentant et en tâtonnant sur la valeur de
Score.SpacingSpanner.spacing-increment, j'arrive à obtenir la même
taille de mesures que dans la portée précédente, ce qui est beaucoup
plus esthétique, mais fastidieux…

Ma question : n'y aurait-il pas moyen de récupérer automatiquement cette
valeur pour que les mesures de la dernière ligne avec « ragged-last »
soient alignées avec la portée précédente ?

Merci beaucoup !

Olivier  Geay

\version "2.24.1"
\include "english.ly"

phrase = \relative c'' {
   \key d \major
   \time 6/8

     e8 cs e e cs e | g fs e fs4 d8 |
     fs4 d8 fs4 a8 | a g fs e4. | \break
     e8 cs e e cs e | g fs e fs4 d8
     fs4 d8 fs4 a8 | a g fs e4. | \break
%%  \newSpacingSection
%%  \override Score.SpacingSpanner.spacing-increment = #3
    e8 cs e e cs e | g fs e d4. | \fine
}

\score {
   \phrase
   \layout {
     ragged-last = ##t
   }
   }

---

From: Jean Abou Samra <[email-masked]>
Date: Thu, 13 Jul 2023 01:54:23 +0200

Bonjour Olivier,

Le souci, c'est que l'étalement des portées précédentes est uniquement lié aux \break, alors que LilyPond produirait un espacement plus resserré par défaut. Autrement dit, sur les deux premières lignes, LilyPond espace les mesures davantages parce que tu lui forces la main avec ces sauts de page manuels, mais revient à ses petites préférences personnelles sur la troisième ligne vu qu'il n'y a plus de contrainte.

Est-ce que cela convient dans ton cas d'enlever les \break et de régler une bonne fois pour toute le spacing-increment ?

```
\version "2.24.1"
\language english
phrase = \relative c'' {
  \key d \major
  \time 6/8
  \override Score.SpacingSpanner.spacing-increment = 2.5
  
  e8 cs e e cs e | g fs e fs4 d8 |
  fs4 d8 fs4 a8 | a g fs e4. |
  e8 cs e e cs e | g fs e fs4 d8
  fs4 d8 fs4 a8 | a g fs e4. |
  e8 cs e e cs e | g fs e d4. | \fine
}

\score {
  \phrase
  \layout {
    ragged-last = ##t
  }
}
```

Cordialement,

Jean

---

From: [email-masked]
Date: Sun, 16 Jul 2023 16:29:59 +0200

Merci beaucoup Jean pour cette précision, effectivement, je pense que ce
sera plus simple et efficace en réglant cet espacement par défaut !
Mais malgré tout je tiens à « forcer » dans certains cas les sauts de
lignes, pour mieux mettre en évidence la structure des phrases de
certains morceaux.
Difficile parfois de conserver à la fois l'esthétique générale de la
partition, et la logique des phrases !

Olivier Geay

Le 13/07/2023 à 01:54, Jean Abou Samra a écrit :
>
> Bonjour Olivier,
>
> Le souci, c'est que l'étalement des portées précédentes est uniquement
> lié aux \break, alors que LilyPond produirait un espacement plus
> resserré par défaut. Autrement dit, sur les deux premières lignes,
> LilyPond espace les mesures davantages parce que tu lui forces la main
> avec ces sauts de page manuels, mais revient à ses petites préférences
> personnelles sur la troisième ligne vu qu'il n'y a plus de contrainte.
>
> Est-ce que cela convient dans ton cas d'enlever les \break et de
> régler une bonne fois pour toute le spacing-increment ?
>
> |\version "2.24.1" \language english phrase = \relative c'' { \key d
> \major \time 6/8 \override Score.SpacingSpanner.spacing-increment =
> 2.5 e8 cs e e cs e | g fs e fs4 d8 | fs4 d8 fs4 a8 | a g fs e4. | e8
> cs e e cs e | g fs e fs4 d8 fs4 d8 fs4 a8 | a g fs e4. | e8 cs e e cs
> e | g fs e d4. | \fine } \score { \phrase \layout { ragged-last = ##t } } |
>
> Cordialement,
>
> Jean
>