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

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

Re: Custos de couleurs différentes selon les voix


From: Valentin Villenave
Subject: Re: Custos de couleurs différentes selon les voix
Date: Tue, 19 Feb 2019 23:15:08 +0000

On 2/15/19, address@hidden <address@hidden> wrote:
> Très chers lilypondiens, l'un d'entre vous saurait-il comment faire en sorte
> que chaque voix d'une même portée ait son guidon (Custos) dans sa couleur?

Bonsoir,
par défaut, les Custos sont gravés au niveau du contexte Staff (ou
plus exactement MensuralStaff en l’occurrence). Ici comme on souhaite
les rendre autonomes pour chaque voix, il faut donc l’enlever du
contexte supérieur et le remettre dans le contexte MensuralVoice.

Par ailleurs, j’en profite pour mettre les couleurs dans une fonction
afin que ce soit plus propre ; j’ai également nettoyé quelques autres
aspects de votre code, notamment en regroupant quelques propriétés
dans le \layout (mais ce n’est pas essentiel).

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

changeColor=
#(define-music-function (col) (list?)
   #{
     \override NoteHead.color = #col
     \override Rest.color = #col
     \override Dots.color = #col
     \override Accidental.color = #col
     \override Stem.color = #col
     \override Custos.color = #col
   #})

bPet = \override NoteHead.style = #'blackpetrucci
Pet = \override NoteHead.style = #'petrucci

\new MensuralStaff \with {
  instrumentName = \markup { \fontsize #-3 "Analyse" }
  shortInstrumentName = \markup { \fontsize #-3 "An." }
} <<
  \new MensuralVoice \relative c'' {
    \tiny \changeColor #blue
    \omit Score.BarNumber
    \clef "mensural-c2"
    \Pet
    \set Timing.measureLength = #(ly:make-moment 3/1 )
    \stopStaff
    \startStaff
    \voiceOne \shiftOff
    c\longa*3/2
    \bPet
    e,\breve bes'1
    \Pet
    e1*3/2 bes
    c\breve*3/2
    f1*3/2 c\breve*3/2
    g1*3/2
    \bPet
    \once \shiftOn f\breve e1
    f1 a g
    \Pet
    a\breve*3/2
    \bPet
    e'1 c a \once \shiftOn g\breve bes1
    \Pet
    c1*3/2 d
    \bPet
    e1 c bes
    \Pet
    c\longa*3/4
    \bar "||"
  }
  \new MensuralVoice \relative c' {
    \tiny \changeColor #darkgreen
    \Pet
    \voiceTwo \shiftOff
    \once \stemDown f\longa*3/2
    \bPet
    g\breve g1
    \Pet
    c,1*3/2 d c\breve*3/2
    d1*3/2 f\breve*3/2 e1*3/2
    \bPet
    \once \shiftOn f\breve c1
    f,1 c' bes
    \Pet
    a\breve*3/2
    \bPet
    c1 e fis
    \Pet
    \once \shiftOn g\breve*3/2
    c,1*3/2 bis
    \bPet
    c1 e d
    \Pet
    \once \stemDown c\longa*3/4
  }
  \new MensuralVoice \relative c {
    \tiny \changeColor #red
    \Pet
    \voiceThree \shiftOff
    f\longa*3/2
    \bPet
    c'\breve g1
    \Pet
    g'1*3/2 g,
    g'\breve*3/2
    f1*3/2 f,\breve*3/2 c'1*3/2
    \bPet
    f,\breve a1
    c1 f, d'
    e\breve a1
    \bPet
    g\breve d1
    \Pet
    g,\breve*3/2
    g'1*3/2 d
    \bPet
    a1 c g
    \Pet
    \once \stemDown g'\longa*3/4
  }
>>

\layout {
  \context {
    \MensuralStaff
    \remove Custos_engraver
    \remove Ambitus_engraver
    \override Clef.stencil =
    #(lambda (grob)
       (grob-interpret-markup grob
         #{ \markup
            \fontsize #-2
            \raise #2.6
            \concat
            {
              \hspace #1 \musicglyph #"clefs.mensural.g"
              \hspace #-1.5 \lower #2.6 \musicglyph #"clefs.mensural.c"
              \hspace #-0.75 \lower #5.4 \musicglyph #"clefs.petrucci.f"
            }
         #}))
    \omit TimeSignature
    \override Custos.neutral-position = #8
    \override Custos.style = #'mensural
    \override StaffSymbol.line-count = #9
    \override StaffSymbol.staff-space = #1.4
    \override StaffSymbol.line-positions = #'(-6 -6 -4 -2 -0 2 4 6 8 )
  }
  \context {
    \MensuralVoice
    \consists Custos_engraver
    \override Stem.length-fraction = 0.5
  }
}

%%%%%%%%

Cordialement,
V. V.



reply via email to

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