Subject: Souci avec \shape

From: Jean Abou Samra <[email-masked]>
Date: Thu, 26 Mar 2020 13:43:02 +0100

Bonjour,

Pourquoi Lily fait-elle la sourde oreille à mon \shape ?

\version "2.21.0" {   \set Staff.tieWaitForNote = ##t   c'\shape #'((0 . 
0) (0 . 0) (0 . 50) (0 . 1))~   e'~   <c' e'> }

Si je tente de lui forcer la main, comme ceci :

\version "2.21.0" {   \set tieWaitForNote = ##t   \override 
TieColumn.positioning-done = ##t   c'\shape #'((0 . 0) (0 . 0) (0 . 50) 
(0 . 1))~   e'~   <c' e'> }

elle accède à contrecœur à ma demande mais se fend d'un cri d'exaspération :

erreur de programmation : Grob direction requested while calculation in 
progress.

Sauriez-vous comment la raisonner ?

Merci,

Jean Abou Samra

---

From: Pierre Perol-Schneider <[email-masked]>
Date: Thu, 26 Mar 2020 15:36:15 +0100

Bonjour Jean,
Pareil ici ; la première compilation s'est bien passée, puis LP refuse la
commande 'shape lors d'une 2de compil.
Tu peux passer outre par un stratagème peu glorieux :
\version "2.21.0" {
  %\set Staff.tieWaitForNote = ##t
  c'\shape #'((0 . 0) (0 . 0) (0 . 50) (0 . 1))(  e'^~   <c' e'>)
}
Cordialement,
Pierre

Le jeu. 26 mars 2020 à 13:43, Jean Abou Samra <[email-masked]> a écrit :

> TieColumn.positioning-done = ##t   c'\shape #'((0 . 0) (0 . 0) (0 . 50) (0
> . 1))~   e'~   <c' e'> }
>

---

From: Valentin Villenave <[email-masked]>
Date: Thu, 26 Mar 2020 17:13:07 +0100

> commande 'shape lors d'une 2de compil.

Euh, j’ai pas très bien compris. Chez moi ça marche avec la syntaxe suivante :
{
  \set tieWaitForNote = ##t
  %\override TieColumn.positioning-done = ##t
  c'~
  \shape #'((0 . 0) (0 . 0) (0 . 50) (0 . 1)) Tie
  e'~   <c' e'>
}

V.

---

From: Jean Abou Samra <[email-masked]>
Date: Thu, 26 Mar 2020 17:59:13 +0100

Bonjour,

>    \shape #'((0 . 0) (0 . 0) (0 . 50) (0 . 1)) Tie
Certes, mais tout le problème est d'affiner la première liaison, pas la
deuxième. Déplacer le \shape une ligne plus haut n'a aucun effet sur
la liaison entre les dos.

>   c'\shape #'((0 . 0) (0 . 0) (0 . 50) (0 . 1))(  e'^~   <c' e'>)
Merci pour l'astuce, je n'aurais pas pensé qu'on puisse lier une
seule note à la note correspondante dans un accord avec une
liaison d'articulation, LilyPond est plein de surprises !

Bien cordialement,

Jean Abou Samra

---

From: Valentin Villenave <[email-masked]>
Date: Thu, 26 Mar 2020 18:28:45 +0100

> la liaison entre les dos.

Ah oui, bien vu. Idem en utilisant la syntaxe non raccourcie :
  \override Tie.control-points
C’est un vrai bug, et il n’est pas encore dans le tracker. Je vous
laisse en tirer la conclusion qui s’impose…

V.

---

From: Jean Abou Samra <[email-masked]>
Date: Fri, 27 Mar 2020 21:00:34 +0100

> laisse en tirer la conclusion qui s’impose…

En fait, à y réfléchir, je pense que c'est un cas particulier de cette
limitation de \shape mentionnée dans le manuel :

http://lilypond.org/doc/v2.19/Documentation/notation/modifying-shapes.en.html

Known issues and warnings

It is not possible to modify shapes of ties or slurs by changing the 
control-points property if there are multiple ties or slurs at the same 
musical moment – the \tweak command will also not work in this case. 
However, the tie-configuration property of TieColumn can be overridden 
to set start line and direction as required.

Est-ce que cela mérite tout de même un signalement ? C'est vrai qu'il 
n'y a aucune
page alors que c'est un problème connu...

Une discussion récente à ce sujet :

https://lists.gnu.org/archive/html/lilypond-user/2020-03/msg00303.html

Cordialement,

Jean Abou Samra

---

From: Valentin Villenave <[email-masked]>
Date: Fri, 27 Mar 2020 22:53:42 +0100

> page alors que c'est un problème connu...

En fait si :
https://sourceforge.net/p/testlilyissues/issues/1789/

Et aussi, ceci :
https://github.com/openlilylib/openlilylib/tree/master/notation-snippets/shaping-bezier-curves/shape-tie-column
et encore mieux sans doute, ceci :
https://lists.gnu.org/archive/html/lilypond-user/2016-03/msg00879.html

Bravo pour avoir retrouvé ça dans la doc !

V.