Subject: Difficulté TrillSpan

From: Christophe Belletante <[email-masked]>
Date: Fri, 9 Aug 2019 18:07:18 +0200

Bonjour à tous,

J'ai un petit souci avec \starttrillSpan \stopTrillSpan
J'aimerais que mon trill aille jusqu'à la fin de mon deuxième do, mais
n'empiète pas sur le 3ème
Or quand je fais :
c2\startTrillSpan c2 c1\stopTrillSpan
Mon trill empiète sur mon 3ème do
Et si je fais
c2\startTrillSpan c2\stopTrillSpan c1
Alors mon trill ne va pas jusqu'à la fin de mon deuxième do.

J'ai bien bidouiller une solution en créant une seconde voix, mais c'est
hyper fastidieux...

\version "2.18.2"
\score {
\new Staff
\relative c'  {
<< { s2.\startTrillSpan s8 s8\stopTrillSpan s1} \\ {\voiceOne c2 c2 c1} >>
  }
}

Donc si quelqu'un à une meilleure solution je suis preneur !!

Merci beaucoup !!
Christophe

---

From: Pierre Perol-Schneider <[email-masked]>
Date: Fri, 9 Aug 2019 18:32:06 +0200

Bonjour Christophe,

Est-ce que :
\relative c' {
  c2-\tweak to-barline  ##t \startTrillSpan c2 c1\stopTrillSpan
}

Convient ?
Cordialement,
Pierre

Le ven. 9 août 2019 à 18:07, Christophe Belletante <
[email-masked]> a écrit :

> _______________________________________________
> liste de diffusion lilypond-user-fr
> [email-masked]
> https://lists.gnu.org/mailman/listinfo/lilypond-user-fr
>

---

From: Christophe Belletante <[email-masked]>
Date: Fri, 9 Aug 2019 19:08:06 +0200

Merci Pierre pour l'astuce !
C'est super ! C'est déjà beaucoup plus simple comme ça !

Le ven. 9 août 2019 à 18:32, Pierre Perol-Schneider <
[email-masked]> a écrit :

>> << { s2.\startTrillSpan s8 s8\stopTrillSpan s1} \\ {\voiceOne c2 c2 c1}
>> >>
>>   }
>> }
>>

-- 
*www.christophebelletante.com <http://www.christophebelletante.com>*
*www.facebook.com/ChristopheBelletanteCompositeur
<http://www.facebook.com/ChristopheBelletanteCompositeur>*

---

From: Jean-Jacques Gerbaud <[email-masked]>
Date: Sat, 10 Aug 2019 11:47:03 +0200

>> Donc si quelqu'un à une meilleure solution je suis preneur !!

La réponse de Pierre ne fonctionne pas chez moi (Lilypond 2.18.20)

c2- \startTrillSpan c2 c1\stopTrillSpan
prolonge le trille jusqu'au début du do ronde, 2ème mes.

c2-\tweak to-barline  ##t \startTrillSpan c2 c1\stopTrillSpan
prolonge le trille jusqu'à la fin de la *1ère* mes.

En bidouillant :
c2\startTrillSpan c2 c1\tweak to-barline ##t \stopTrillSpan
prolonge effectivement le trille jusqu'à la fin de la 2ème mes. mais
provoque une erreur :
Erreur : « post-event » inattendu
  c2\startTrillSpan c2 c1
                         \tweak to-barline ##t \stopTrillSpan

Donc, comme Christophe dans son 1er message, je n'arrive pas à faire
prolonger le trille jusqu'à la fin de la 2ème mesure.

Ca vient de chez moi ?

Merci Pierre de me préciser où "je me plante" ? :-)

--

JJG

---

From: Jean ABOU SAMRA <[email-masked]>
Date: Sat, 10 Aug 2019 12:41:12 +0200

> C'est super ! C'est déjà beaucoup plus simple comme ça !

… et donc extrêmement simple en mettant seulement au début du fichier :

\layout {
  \context {
    \Score
    \override TrillSpanner.to-barline = ##t
  }
}

Cela permet d'utiliser \startSpanTrill et \stopSpanTrill comme d'habitude. Je ne fais que réécrire ce que propose très justement Pierre. Cette incantation signifie très exactement : ô grande maîtresse Lili des étangs, lorsque tu rencontres un trille étendu entre deux notes et que la deuxième note est la première de sa mesure, alors place la fin de ce trille non pas sur la deuxième note mais sur la barre de mesure qui la précède. On retrouve ce réglage pour tous les objets extenseurs. Par exemple, en remplaçant TrillSpanner par Hairpin, on obtient le même réglage pour les soufflets (crescendo et decrescendo).

> prolonge le trille jusqu'au début du do ronde, 2ème mes.

Voilà le comportement habituellement attendu en ce qui concerne les extenseurs, trilles comme soufflets, etc. \stopTrillSpan fait se stopper le trille juste sur cette note.

> prolonge le trille jusqu'à la fin de la *1ère* mes.

Je crois que c'est bien ce qu'attendait Christophe : « J'aimerais que mon trill aille jusqu'à la fin de mon deuxième do, mais n'empiète pas sur le 3ème ».

> prolonger le trille jusqu'à la fin de la 2ème mesure.

Si vous voulez qu'il se prolonge jusqu'à la fin de la deuxième mesure, mettre \override TrillSpanner.to-barline = ##t et \stopTrillSpan sur la première note de la troisième mesure, comme pour terminer un crescendo par exemple.

Cordialement,
Jean Abou Samra

---

From: Jean-Jacques Gerbaud <[email-masked]>
Date: Sat, 10 Aug 2019 14:41:53 +0200

>     \override TrillSpanner.to-barline = ##t
[......]

Désolé, je n'avais pas compris ce que désirait Christophe.

A mon tour de poser le même problème qui est de prolonger le trille
jusqu'à la fin de la 2ème mes.

Voici mon code :

\version "2.18.2"
\score {
\new Staff

\relative c' { \override TrillSpanner.to-barline = ##t

	c2\startTrillSpan c2 c1-\tweak to-barline ##t \stopTrillSpan

}
\layout {
  \context {
    \Score

}

le résultat : le trille se termine à la fin de la 1ère mesure mais pas à
la fin de la 2ème mesure comme le souhaitait Christophe

A vrai dire, s'il s'agissait de soufflets de decrescendo, ce serait
normal que le soufflet se termine sur ce 2ème do mais pour le spanner ?

Comment faire ça ?

Meci

--

JJG

---

From: Christophe Belletante <[email-masked]>
Date: Sat, 10 Aug 2019 18:35:14 +0200

Bonjour,

Merci pour votre aide !
Du coup est-ce que c'est ça que tu cherches Jean-Jacques ?

\version "2.18.2"

\score {

  \layout {
    \context {
      \Score

 \new Staff
 \relative c' {
   c2\startTrillSpan c2 c1 R1\stopTrillSpan
   c2\startTrillSpan c2 c1 \bar "||"

 }

}

Le sam. 10 août 2019 à 14:42, Jean-Jacques Gerbaud <[email-masked]> a

---

From: Pierre Perol-Schneider <[email-masked]>
Date: Sun, 11 Aug 2019 09:32:37 +0200

Bonjour Jean-Jacques, bonjour à tous,

Le sam. 10 août 2019 à 11:47, Jean-Jacques Gerbaud <[email-masked]> a
écrit :
 [...]

> Merci Pierre de me préciser où "je me plante" ? :-) :
>

Essaie :

\version "2.18.2"
{
  c2-\tweak to-barline ##t \startTrillSpan c2 c1 c\stopTrillSpan
}

PS. Ne pas oublier le "-" devant le "\tweak..." afin d'éviter tout message
d'erreur.

---

From: Pierre Perol-Schneider <[email-masked]>
Date: Sun, 11 Aug 2019 09:38:31 +0200

[...]

1. Attention aux commandes redondantes : dans ton code, elle est trissée;
2. le "-\tweak..." est mal placé: c2 -\tweak to-barline ##t \startTrillSpan
c2 c1\stopTrillSpan etc.

Cordialement,
Pierre

---

From: Jean ABOU SAMRA <[email-masked]>
Date: Sun, 11 Aug 2019 17:46:20 +0200

Bonjour,
Il y a quelques confusions dans votre réponse. Comme l'a souligné Pierre, le \tweak est mal placé. Il faut bien comprendre que le \tweak ici a pour seul objet d'apporter un aménagement typographique : il demande que le trille s'arrête au niveau de la barre de mesure en supprimant la petite prolongation du trille entre la barre de mesure et la note, mais il ne sert pas à déterminer jusqu'à quelle barre de mesure s'étend le trille ! Observez la différence :
{
% trille sur deux mesures
c2\startTrillSpan c2 c1 c1\stopTrillSpan  \break
% avec amélioration
c2-\tweak to-barline ##t \startTrillSpan c2 c1 c1\stopTrillSpan  \break
% équivalent à :
\once \override TrillSpanner.to-barline = ##t
c2\startTrillSpan c2 c1 c1\stopTrillSpan
}

\tweak est inefficace et incorrect lorsqu'il est placé au milieu du trille car la commande \tweak apporte un aménagement aux propriétés de l'objet graphique qui est créé juste après elle. L'objet TrillSpanner est créé par la commande \startTrillSpan, donc il ne sert à rien de mettre un \tweak après cette commande, il n'y aura aucun effet et LilyPond signale éventuellement une erreur.

La seule chose à faire pour indiquer sur quelle note se termine le trille est de bien positionner son \stopTrillSpan. Mais il y a une petite subtilité. Observez d'abord cet exemple avec un crescendo :
c\< d\! e

À première vue, un lecteur non-averti penserait probablement que le crescendo commence sur do, continue sur ré et aboutit sur mi. Il n'en est rien : il commence sur do et aboutit sur ré. Pourquoi ?
Cela tient tout simplement à la syntaxe de LilyPond qui veut que tout élément rattaché à une note arrive juste après elle. Le \! indique la note sur laquelle aboutit le crescendo, et il se place donc juste après elle.
D'ailleurs, j'ai toujours pensé qu'il était étrange d'écrire c( c) pour une liaison et non pas (c c). Mais syntaxiquement, c'est nécessaire.
À présent, remplacez \< par \startTrillSpan et \! par \stopTrillSpan. Vous trouverez le même résultat. Musicalement, nous pensons ces éléments un peu différemment mais LilyPond veut que \stopTrillSpan se place sur la première note qui n'a plus de trille.
Donc, pour créer un trille qui s'étend jusqu'à la fin de la deuxième mesure, il faut mettre \stopTrillSpan juste après la première note de la troisième mesure.

Enfin, vos commandes sont effectivement redondantes. Pour appliquer le réglage à tous les trilles de la partition, mettre le \override dans un \layout, et pour l'appliquer à un seul trille, \once \override ou bien \tweak.
J'espère que les choses sont plus claires ainsi.
Cordialement,
Jean Abou Samra

---

From: Jean ABOU SAMRA <[email-masked]>
Date: Tue, 13 Aug 2019 09:43:37 +0200

> Bonjour Jean et tous mes remerciements pour cette longue explication.
> 
> Oui, les commandes dans mon code étaient redondantes et les explications
> données dans ce long message devraient me permettre de ne plus faire
> d'erreur.
> 
> J'ai bien fait la comparaison entre Start / StopTrillSpan et < et >.
> 
> Cependant, mon problème reste entier.
> 
> soit 2 blanches, 1 ronde, une autre ronde et \bar "||"
> 
> Comment faire pour que le trille soit maintenu jusqu'à la fin !

Bonjour,
Je comprends mieux votre interrogation.
Ici, nous sommes en face d'un autre problème. Pour qu'un trille aille jusqu'à la fin d'une mesure, il faut le faire se terminer (\stopTrillSpan) sur la première note de la mesure suivante comme je le disais. Mais si on veut le faire aller jusqu'à la fin de la dernière mesure, on se trouve embêté car il n'y a pas de mesure suivante ! Solution : une mesure invisible.

\relative c' {
\override TrillSpanner.to-barline = ##t
c2\startTrillSpan c2 c1 c1 \bar "||" \stopStaff s1\stopTrillSpan
}

Cordialement,
Jean Abou Samra

---

From: Jean-Jacques Gerbaud <[email-masked]>
Date: Tue, 13 Aug 2019 10:58:49 +0200

> c2\startTrillSpan c2 c1 c1 \bar "||" \stopStaff s1\stopTrillSpan

Merci Jean,

C'est tellement simple que j'aurais dû trouver tout seul cette solution.
Je me disais aussi que, avec Lilypond, il y aurait *forcément* une
réponse à ma question.

Merci de m'avoir aidé.

Cordialement.

A bientôt

--

JJG