Subject: [LilyPond] Comprendre les BeamExceptions

From: Sébastien MANEN via LilyPond <[email-masked]>
Date: Fri, 20 Sep 2024 18:03:56 +0000

Bonjour à tous.
J'essaye de comprendre le fonctionnement des beamExceptions. Ce que j'ai lu dans la doc, c'est qu'on fixe `baseMoment` et `beatStructure` pour définir le cas général. Lorsqu'on veut certaines particularité on ajoute les fameuses beamExceptions.

```
music = \relative c'' {
	\time 2/4
	c8 c c c
	c c c r
	c8. c16 c8. c16
	c16 c c c  c16 c c c
	c16 c c c  c16 c c32 c c c 
	\set Timing.beamExceptions = \beamExceptions {
		8[ 8 8 8] |
		8.[ 16] 8.[ 16] |
		16[ 16 16 16] 16[ 16 16 16] |
		16[ 16 16 16] 16[ 16] 32[ 32 32 32]
	}
	c8 c c c
	c c c r
	c8. c16 c8. c16
	c16 c c c  c16 c c c  %% ??? %%
	c16 c c c  c16 c c32 c c c 
	
	c4 c c c
}

\score {
	\music
}
```
Je ne comprends pas pourquoi lilypond subdivise le deuxième temps. 

Dans [la doc](https://lilypond.org/doc/v2.24/Documentation/notation/beams#setting-automatic-beam-behavior) dans le paragraphe "Principes de la ligature automatique" qui donne un peu les priorités, je ne comprends pas ce que veux dire "un type de ligature ***plus large***"

Merci.

Sébastien

---
Pour poster dans ce sujet, visitez la [page du sujet](https://lilypond.community/t/comprendre-les-beamexceptions/5749/1).

Pour créer un nouveau sujet, écrivez à [[email-masked]](mailto:[email-masked]) ou visitez la [page d'accueil de lilypond.community](https://lilypond.community).

---

From: MartialR via LilyPond <[email-masked]>
Date: Sat, 21 Sep 2024 12:58:07 +0000

Bonjour, 
j'avoue avoir beaucoup de mal à comprendre comment cela fonctionne

mais remplacé 
```
\set Timing.beamExceptions = \beamExceptions {
```
par 
```
\set Timing.beamExceptions = #'() {
```
et il n'y aura plus de subdivision pour la 2e partie
Cordialement,

---
Pour poster dans ce sujet, visitez la [page du sujet](https://lilypond.community/t/comprendre-les-beamexceptions/5749/2).

---

From: xavier via LilyPond <[email-masked]>
Date: Sat, 21 Sep 2024 19:16:52 +0000

Je ne sais pas s'il s'agit d'un bug.

Cela dit si le résultat souhaité est "simplement" d'avoir les triples-croches séparées, le code suivant fait l'affaire :
```
  \set Timing.beamExceptions = \beamExceptions {
    32[ 32 32 32] 32[ 32 32 32] 32[ 32 32 32] 32[ 32 32 32] |
  }
```
Cordialement,
Xavier

---
Pour poster dans ce sujet, visitez la [page du sujet](https://lilypond.community/t/comprendre-les-beamexceptions/5749/3).

---

From: Sébastien MANEN via LilyPond <[email-masked]>
Date: Sat, 21 Sep 2024 20:38:52 +0000

Bonjour et merci pour vos réponses.
En fait j'essaye de minimiser les "[" "]" que j'ai beaucoup de mal à taper... :sweat_smile:
J'ai ajouté la ligne de 32 que propose Xavier à ma beamExceptions et ça fait le job : les triples sont bien séparées. Je vais pouvoir en supprimer quelques crochets.
J'ai l'impression qu'il ne faut pas mixer les durées (mettre que des 8, que des 16 ou que des 32). Je ne sais pas... En tout cas le 8.[ 32] ne sert à strictement rien... 
```
	\set Timing.beamExceptions = \beamExceptions {
		8[ 8 8 8] |
		8.[ 16] 8.[ 16] |
		16[ 16 16 16] 16[ 16 16 16] |
		32[ 32 32 32] 32[ 32 32 32] 32[ 32 32 32] 32[ 32 32 32] |
	}
```

---
Pour poster dans ce sujet, visitez la [page du sujet](https://lilypond.community/t/comprendre-les-beamexceptions/5749/4).