Subject: [LilyPond] [Général] Incompatibilité entre connectArpeggios et \arpeggioArrowDown

From: Olivier Miakinen via LilyPond <[email-masked]>
Date: Sun, 28 Jan 2024 19:43:38 +0000

Le 28/01/2024 20:22, j'écrivais :
> 
> À tout hasard je le mets aussi en pièce jointe parce que je ne sais pas ce
> que ça donne si j'écris depuis mon courrielleur. Et je mets aussi en pièce
> jointe le PDF résultant.

J'ai vu, c'est horrible. Je réessaye en rajoutant des balises bbcode
crochet-code-crochet :

[code]
\version "2.24.1"
\language "italiano"

global = {
  \key re \major
}

right = \relative do' {
  \global
  <fad dod la> <mid dod la> <mi re>\arpeggio <dod la sol> |
  \arpeggioArrowDown
  <fad dod la> <mid dod la> <mi re>\arpeggio <dod la sol> |
  <fad dod la> <mid dod la> <mi re> <dod la sol> |
}

left = \relative do, {
  \global
  re red <mi, mi' sol si>\arpeggio la |
  \arpeggioArrowDown
  re red <mi, mi' sol si>\arpeggio la |
  \override Arpeggio.positions = #'(-10 . 10)
  re red <mi, mi' sol si>\arpeggio la |
}

piano = <<
  \new Staff = "right" \right
  \new Staff = "left" { \clef bass \left }

\score {
  \new PianoStaff \piano
  \layout { }
}

\score {
  \new PianoStaff \with {
    connectArpeggios = ##t
  } \piano
  \layout { }
}
[/code]

> Note : je peux essayer de tricher avec un arpège seulement sur la main
> gauche mais en changeant la position haute.

J'ai essayé, mais ça ne fonctionne pas. L'arpège « repousse » la portée
au lieu de s'insérer dedans.

---
Pour poster dans ce sujet, visitez la [page du sujet](https://lilypond.community/t/incompatibilite-entre-connectarpeggios-et-arpeggioarrowdown/5618/2).

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: Olivier Miakinen via LilyPond <[email-masked]>
Date: Sun, 28 Jan 2024 19:47:14 +0000

[code]
==============================================================
\version "2.24.1"
\language "italiano"

global = {
  \key re \major
}

right = \relative do' {
  \global

left = \relative do, {
  \global

piano = <<

\score {
  \new PianoStaff \piano
  \layout { }
}

\score {
  \new PianoStaff \with {
    connectArpeggios = ##t
  } \piano
  \layout { }
}
==============================================================
[/code]

---
Pour poster dans ce sujet, visitez la [page du sujet](https://lilypond.community/t/incompatibilite-entre-connectarpeggios-et-arpeggioarrowdown/5618/3).

---

From: xavier via LilyPond <[email-masked]>
Date: Sun, 28 Jan 2024 19:55:17 +0000

Bonjour,

Comme indiqué dans le manuel de notation, juste après l'introduction des commandes `\arpeggioArrowUp`, `\arpeggioArrowDown` et `\arpeggioNormal` :

> Ces commandes prédéfinies modifient en interne la propriété `arpeggio-direction` ; leur définition complète se trouve dans le fichier `ly/property-init.ly`.

Bref, en remplaçant `\arpeggioArrowDown` par `\override PianoStaff.Arpeggio.arpeggio-direction = #DOWN` (avec le `PianoStaff` contrairement à la définition), on obtient bien un arpeggio connecté avec une flèche vers le bas.

Cordialement,
Xavier

---
Pour poster dans ce sujet, visitez la [page du sujet](https://lilypond.community/t/incompatibilite-entre-connectarpeggios-et-arpeggioarrowdown/5618/4).

---

From: Olivier Miakinen via LilyPond <[email-masked]>
Date: Sun, 28 Jan 2024 20:14:11 +0000

> Bref, en remplaçant `\arpeggioArrowDown` par `\override PianoStaff.Arpeggio.arpeggio-direction = #DOWN` (avec le `PianoStaff` contrairement à la définition), on obtient bien un arpeggio connecté av…

Génial, merci !

Cela dit, il reste un bug, le fait que l'arpège entre en collision avec
l'accord à sa gauche.

Ce bug est dû probablement au fait qu'il n'y a que deux notes conjointes
à la main droite et que c'est trop court pour faire un vrai arpège. Si
j'ajoute des notes à la main droite le problème disparait.

---
Pour poster dans ce sujet, visitez la [page du sujet](https://lilypond.community/t/incompatibilite-entre-connectarpeggios-et-arpeggioarrowdown/5618/5).

---

From: xavier via LilyPond <[email-masked]>
Date: Sun, 28 Jan 2024 21:27:12 +0000

Comme il n'y a pas de collision sans l'altération (mi bécarre), je dirais qu'il s'agit d'un exemple du bug #601 :
https://gitlab.com/lilypond/lilypond/-/issues/601

En attendant que le problème soit corrigé (le bug a été signalé il y a 15 ans), je propose d'ajouter un 
`\once \override PianoStaff.Arpeggio.X-extent = #'(-2 . 1)`
avant l'arpeggio en question.

Cordialement,
Xavier

---
Pour poster dans ce sujet, visitez la [page du sujet](https://lilypond.community/t/incompatibilite-entre-connectarpeggios-et-arpeggioarrowdown/5618/7).

---

From: Olivier Miakinen via LilyPond <[email-masked]>
Date: Mon, 29 Jan 2024 06:58:33 +0000

> https://gitlab.com/lilypond/lilypond/-/issues/601

En effet. C'est donc un bug assez retors puisqu'il n'apparait pas si au
moins l'une des trois conditions suivantes est présente :
− un arpège normal (même si peu de notes main droite et un bécarre)
− plus de notes main droite (même si arpège descendant et un bécarre)
− pas d'altération (même si peu de notes main droite et arpège descendant)

> En attendant que le problème soit corrigé (le bug a été signalé il y a 15 ans),

;-)

> je propose d'ajouter un 

Ok. Bon, dans mon cas (pas dans l'exemple minimal) il y a aussi une partie
vocale avec un triolet de croches qui évite la collision au piano, donc je
ne vais pas avoir besoin de ce contournement.

Quoi qu'il en soit, merci encore pour tes réponses, en particulier pour
avoir trouvé ce rapport de bug, mais surtout pour le fait de préciser que
l'Arpeggio est dans PianoStaff !

Olivier

---
Pour poster dans ce sujet, visitez la [page du sujet](https://lilypond.community/t/incompatibilite-entre-connectarpeggios-et-arpeggioarrowdown/5618/8).