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

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

Re: Notes en couleur


From: Jean Abou Samra
Subject: Re: Notes en couleur
Date: Mon, 28 Nov 2022 19:51:10 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.5.0

Le 28/11/2022 à 13:43, Christian LE BARS a écrit :
ta fonction ne vois pas les si bémol 3eme ligne§

Pourquoi?


C'est normal, mais je reconnais que je t'ai induit en erreur par ma
façon d'écrire le code. C'est la même chose que ce qui se produit
si tu fais

\version "2.22.2"

{
  \override NoteHead.color = "red"
  c'1 2 4 8 8
  << { c''4 } \\ { c'4 } >>
}


Comme tu peux le constater, le \override n'a pas d'effet à l'intérieur
du << >>, ceci parce que \override Objet.propriété = ... est un raccourci
pour \override Context.Objet.propriété = ... où Contexte est le contexte
le plus proche, en l'occurrence Voice. Le \override ne s'applique donc
qu'au contexte Voice qui démarre au début de l'_expression_ { ... }.
Or, la construction << >> crée de nouveaux Voice.


L'une des solutions possibles est de changer « \override NoteHead ... » en
« \override Score.NoteHead... », ce qui donne :


\version "2.22.2"

%--------------------------------------------
\layout {
  \context {
    \Voice
    \override NoteHead.color =
      #(lambda (grob)
         (and (not (zero? (ly:pitch-alteration (ly:event-property (event-cause grob) 'pitch))))
              (assq-ref (ly:grob-property grob 'details) 'altered-color)))
  }
}
%-----------------------------------------------------------
alteredColor = \override Score.NoteHead.details.altered-color = \etc
%--------------------------------------------
Global=
{
 \numericTimeSignature
 \time 4/4
 \key f\major
 \alteredColor #magenta
}
%------------------------------------------
LaMainDroite =
\relative c''
 {
  \Global
  \clef "treble"
  <<
    { a'4^5^1(f^3)f(d)f(d)d(bes)d(bes)bes(g)r4 c'^2 ^"MD"f^5 r\fermata }
    \\
    {c,2 bes a g f ees  <bes ees g c>2.\arpeggio -"MG" s4}
  >>
  r4<a c^1^2>r<a d^1^3>r<d f^3^5>r bes^1r <c f^2^5>r<a d>r<bes d f^1^3^5>r<g' bes,>
 }
%-------------------------------------------
\score
 {
  \new Staff\LaMainDroite
 \layout
  {
   \context
    {\Score \override Fingering.color = red}
  }
 }



Une autre possibilité est de déplacer le \alteredColor directement
dans le \layout :



\version "2.22.1"

%--------------------------------------------

alteredColor = \override NoteHead.details.altered-color = \etc
\layout {
   \context {
     \Voice
     \override NoteHead.color =
       #(lambda (grob)
          (and (not (zero? (ly:pitch-alteration (ly:event-property  (event-cause grob) 'pitch))))
               (assq-ref (ly:grob-property grob 'details) 'altered-color)))
     \alteredColor #magenta
   }
}

%--------------------------------------------
Global=
{
  \numericTimeSignature
  \time 4/4
  \key f\major
}
%------------------------------------------
LaMainDroite =
\relative c''
  {
   \Global
   \clef "treble"
   <<
     { a'4^5^1(f^3)f(d)f(d)d(bes)d(bes)bes(g)r4 c'^2 ^"MD"f^5 r\fermata }
     \\
     {c,2 bes a g f ees  <bes ees g c>2.\arpeggio -"MG" s4}
   >>
   r4<a c^1^2>r<a d^1^3>r<d f^3^5>r bes^1r <c f^2^5>r<a d>r<bes d
f^1^3^5>r<g' bes,>
  }
%-------------------------------------------
\score
  {
   \new Staff\LaMainDroite
  \layout
   {
    \context
     {\Score \override Fingering.color = red}
   }
  }




Cordialement,
Jean

Attachment: OpenPGP_signature
Description: OpenPGP digital signature


reply via email to

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