lilypond-user-fr
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Hampe personnalisée


From: david427
Subject: Re: Hampe personnalisée
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 <remy.claverie@orange.fr>
À : david427@mailo.com;
   Jean Abou Samra <jean@abou-samra.fr>;
   lilypond-user-fr@gnu.org
Sujet : Re: Hampe personnalisée
Date : 11/02/2022 06:16:41 Europe/Paris

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 <jean@abou-samra.fr>
à : david427@mailo.com, remy.claverie@orange.fr, lilypond-user-fr@gnu.org
objet : Re: Hampe personnalisée




Le 10/02/2022 à 18:11, david427@mailo.com a écrit :

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



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

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

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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]