Subject: Re: Hampe personnalisée

From: [email-masked]
Date: Thu, 10 Feb 2022 18:11:13 +0100 (CET)

Merci à vous, Jean et Rémy ! 

Je n'ai pas bien compris comment utiliser \override Beam . auto-knee-gap = #1

J'ai essayé la solution de Jean, qui fonctionne

J'avais bien lu cette page de doc, mais je n'avais pas réussi à l'adapter à mon code :(

Voici mon code modifié :

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\version "2.23.3"
\language "français"

global = { \key do \major \time 4/4}

hamp = { \change Staff = "right" \once \stemDown }
dehamp = { \change Staff = "left" \once \stemUp }

right = \relative do' { \global mi2. fa8. sol16 do2 }

leftOne = \relative do' { \global 
  \repeat unfold 3 { r8 sol \hamp do \dehamp sol } }

leftTwo = \relative do { \global
  do2. }

\score {
  \new PianoStaff \with { instrumentName = "Piano" } 
     <<  \new Staff = "right" \right
         \new Staff = "left" { \clef bass << \leftOne \\ \leftTwo >> }
     >>
}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

J'ai créé des variables pour ne pas trop noircir le code (je vais devoir l'utiliser presque chaque mesure)

et à priori, le premier   \once \stemUp du code de Jean n'est pas nécessaire ici

(pour ceux qui se posent la question, hamp veut dire : "début de la hampe bizarre" et dehamp : "défaire (finir) la hampe bizarre")

^^'

David

De : Remy CLAVERIE <[email-masked]>
À : [email-masked];
   [email-masked]
Sujet : Re: Hampe personnalisée
Date : 10/02/2022 12:51:19 Europe/Paris

Bonjour David,

C'est vrai que ce n'est pas toujours facile de chercher et de trouver dans la doc... 

Voici ce que tu cherches, je crois : 

\override Beam . auto-knee-gap = #1

A+

Rémy

envoyé : 10 février 2022 à 12:26
de : [email-masked]
à : [email-masked]
objet : Hampe personnalisée

Bonjour,

Dans une partition de piano, j'aimerai faire une hampe personnalisée comme sur la photo

Il me semble l'avoir déjà vu dans la doc, mais je n'arrive pas à remettre la main dessus....

si je fais : 

\change Staff = "up" do \change Staff = "down"

la ligature se place au dessus des 3 notes et non pas au milieu comme je voudrais

Quelqu'un aurait-il une idée ?

D'avance merci,

David

---

From: Jean Abou Samra <[email-masked]>
Date: Thu, 10 Feb 2022 22:18:25 +0100

Le 10/02/2022 à 18:11, [email-masked] a écrit :
> (pour ceux qui se posent la question, hamp veut dire : "début de la 
> hampe bizarre" et dehamp : "défaire (finir) la hampe bizarre")
> ^^'
>
> David

La solution de Rémy est maline et meilleure que la mienne, elle
vous évitera des \stemUp et \stemDown sur toutes les hampes même
si on peut effectivement les combiner avec les \change (tant
que ces commandes arrivent au même moment). La seule chose qui
l'empêche de marcher sur l'exemple, c'est le << \\ >>, qui force
les hampes à pointer vers le haut dans la première voix, sauf
à mettre \stemDown. Pour éviter ce désagrément, il faut utiliser
la construction << >> sans \\ et mettre \voiceTwo dans la deuxième
voix, mais pas de \voiceOne dans la première, ce qui dit
à LilyPond qu'elle peut faire comme bon lui semble pour la
direction des hampes. Donc :

\version "2.23.3"
\language "français"

global = { \key do \major \time 4/4 }

up = \change Staff = right
down = \change Staff = left

leftOne = \relative do' {
   \global
   \override Beam.auto-knee-gap = 1
   \repeat unfold 3 { r8 sol \up do \down sol }
}

leftTwo = \relative do {
   \global
   \voiceTwo
   do2.
}

\score {
   \new PianoStaff \with { instrumentName = "Piano" }
      <<  \new Staff = "right" \right
          \new Staff = "left" { \clef bass << \leftOne \new Voice 
\leftTwo >> }
      >>
}

Merci Rémy, j'aurai appris quelque chose aujourd'hui !

Cordialement,
Jean

---

From: Remy CLAVERIE <[email-masked]>
Date: Fri, 11 Feb 2022 06:16:41 +0100 (CET)

Heureux de t'avoir appris qq chose, Jean.

Je ne pensais pas que cela soit possible...

Bonne journée,

Rémy

envoyé : 10 février 2022 à 22:18
de : Jean Abou Samra <[email-masked]>
à : [email-masked], [email-masked], [email-masked]
objet : Re: Hampe personnalisée

Je n'ai pas bien compris comment utiliser \override Beam .
auto-knee-gap = #1

J'ai essayé la solution de Jean, qui fonctionne
J'avais bien lu cette page de doc, mais je n'avais pas réussi à
l'adapter à mon code :(
Voici mon code modifié :

\score {
}

J'ai créé des variables pour ne pas trop noircir le code (je vais
devoir l'utiliser presque chaque mesure)
et à priori, le premier   \once \stemUp du code de Jean n'est pas
nécessaire ici

David

\version "2.23.3"
\language "français"

leftTwo = \relative do {
\global
\voiceTwo
do2.
}

\score {
}

Cordialement,
Jean

---

From: [email-masked]
Date: Fri, 11 Feb 2022 08:23:12 +0100 (CET)

Oui ça marche très bien aussi !

(tu m'as aussi appris quelque chose, mais pour moi c'est moins rare que quelqu'un m'apprenne quelque chose sur cette liste !)

Pour que les silences tombent a bon endroit, j'ai juste modifié légèrement le code comme ceci :

(si je mets juste r8, les demi-soupirs se placent sous le do blanche pointée )

leftOne = \relative do' {
  \global
  \override Beam.auto-knee-gap = 1
  \repeat unfold 3 { la8\rest sol \up do \down sol }
}

Je n'avais pas besoin de faire cette correction pour le code de Jean

Et, question subsidiaire, est ce que l'un de vous pourrait m'expliquer ce que veut dire en français la commande \override Beam.auto-knee-gap = 1 ? (si c'est pas trop long, bien sûr !)

David

De : Remy CLAVERIE <[email-masked]>
À : [email-masked];
   Jean Abou Samra <[email-masked]>;
   [email-masked]
Sujet : Re: Hampe personnalisée
Date : 11/02/2022 06:16:41 Europe/Paris

Bonne journée,

Rémy

\score {

David

\version "2.23.3"
\language "français"

leftTwo = \relative do {
  \global
  \voiceTwo
  do2.
}

\score {

Cordialement,
Jean

---

From: Jean Abou Samra <[email-masked]>
Date: Mon, 14 Feb 2022 00:33:30 +0100

Le 11/02/2022 à 08:23, [email-masked] a écrit :
> (tu m'as aussi appris quelque chose, mais pour moi c'est moins rare 
> que quelqu'un m'apprenne quelque chose sur cette liste !)
>

Effectivement, car avec cette méthode il n'y a plus de \voiceOne
dans cette voix, car le \voiceOne forcerait la direction des hampes
  Il faut mettre \voiceOne ponctuellement pour les passages qui
ne sont pas à cheval entre les portées (\voiceOne ... \oneVoice,
ou plus simplement s'il n'y a qu'une seule note ou un seul
silence, \once \voiceOne ...).

> Et, question subsidiaire, est ce que l'un de vous pourrait m'expliquer 
> ce que veut dire en français la commande \override Beam.auto-knee-gap 
> = 1 ? (si c'est pas trop long, bien sûr !)

La description est ici (en anglais il est vrai) :

http://lilypond.org/doc/v2.23/Documentation/internals/beam

En français : c'est le seuil de distance à partir duquel Lily choisit
une hampe coudée plutôt qu'une hampe normale. 1 est une petite valeur,
qui fait que Lily utilise beaucoup plus facilement ce style.

Cordialement,
Jean