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

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

Re: ras de 4


From: Jean Abou Samra
Subject: Re: ras de 4
Date: Sun, 01 Oct 2023 10:15:02 +0200
User-agent: Evolution 3.48.4 (3.48.4-1.fc38)

> Pas certain d'avoir compris l'explication pour le positionnement des
> caisses claires (c'est toute la différence entre un mécanicien et un
> conducteur) mais merci tout de même pour cette solution

Je vais essayer de l'expliquer de manière plus claire.

La source du problème, c'est que vous utilisez la construction << >>,
ce qui est bizarre ici (il n'y a aucune raison). Cette construction est
faite pour mettre des choses en parallèle. Par exemple, si vous
compilez

\version "2.24.2"

\new Voice <<
  { c'4 4 8 8 4 }
  { c4 4 8 8 4 }
>>


vous obtenez une suite de do en octaves. Maintenant, modifions un peu
la situation :

\version "2.24.2"

\new Voice <<
  { \once \override Staff.NoteHead.color = red c'4 4 8 8 4 }
  { \grace b,8 c4 4 8 8 4 }
>>


J'ai rajouté un \grace b,8 dans la partie du bas et un \once \override
dans la partie du haut. Là, LilyPond est confrontée à un problème fondamental,
à savoir qu'il est impossible de savoir si vous voulez que le \override
du haut s'applique avant ou après l'appoggiature du bas. Dans ce cas,
avec NoteHead, on a plutôt envie de dire « après », mais avec un

\once \override Staff.Clef.color = red

on a plutôt envie de dire « avant ».

Donc, LilyPond est obligée de faire un choix, et ce choix (qui n'est ni meilleur
ni pire que l'autre) est de mettre le \override après. C'est pour ça que les
notes coloriées en rouge dans mon exemple sont les deux premiers do, et pas le
si juste avant.

Modifions encore un peu l'exemple :

\version "2.24.2"

\new Voice <<
  { \once \override Staff.NoteHead.color = red c'4 }
  { \grace b,8 c4 4 8 8 4 }
>>


J'ai juste enlevé des notes dans la partie du haut. Rien de très spécial,
LilyPond gère parfaitement les << >> où toutes les parties n'ont pas la
même durée. Et si on pousse la chose plus loin ?

\version "2.24.2"

\new Voice <<
  \once \override Staff.NoteHead.color = red
  { \grace b,8 c4 4 8 8 4 }
>>

Là, ça devient plus contre-intuitif que ce soit le do et pas le si qui est
colorié en rouge, mais c'est juste la prolongation logique des exemples
ci-dessus.


Moralité : quand vous faites

  \new DrumStaff
  <<
    \set DrumStaff.drumStyleTable= #(alist->hash-table mydrums)
    \new DrumVoice { \voiceOne \up }
  >>

le \set ne s'applique qu'après les notes d'ornement, pour la même raison
que mon \once \override NoteHead.color = red  affecte la première note
après l'ornement. Donc les notes d'ornement utilisent la drumStyleTable
par défaut, pas celle que vous avez définie.

La manière standard de forcer LilyPond à choisir l'autre possibilité en
gardant la construction << >> est de rajouter un silence invisible en note
d'ornement, comme ceci :

  \new DrumStaff
  <<
    {
      \set DrumStaff.drumStyleTable= #(alist->hash-table mydrums)
      \grace { s16 s16 s16 }
    }
    \new DrumVoice { \voiceOne \up }
  >>



mais c'est franchement inutile ici, vu que si c'est juste pour un \set,
il est plus simple et naturel de faire

  \new DrumStaff \with {
    drumStyleTable= #(alist->hash-table mydrums)
  } {
    \new DrumVoice { \voiceOne \up }
  }


Attachment: signature.asc
Description: This is a digitally signed message part


reply via email to

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