Couleur des portées d'un instrument dans une partition à plusieurs

Bonjour,

dans un message précédent je posais la question suivante :

> comment mettre l 'arrière plan d'une portée
> en couleur ?

oui il faut faire une boite

http://lsr.dsi.unimi.it/LSR/Item?id=699

Merci à Martial qui m'a répondu mais sa réponse ne concerne pas seulement UNE portée mais tout l'arrière plan d'une partition.

Je voudrais que seulement la portée d'un instrument soit en couleur. (Et, si possible, choisir la couleur ! (mais là, j'en demande peut être trop !)

Merci d'avance

···

--
JJG
(En raison du degré important de mon "oublitude", je demande à mes correspondants
de me prévenir à l'approche d'un rendez-vous prochain)

Quelque chose comme ça ?

\new Staff \with {
  \override StaffSymbol #'stencil = #(lambda (grob)
     (let* ((staff (ly:staff-symbol::print grob))
            (X-ext (ly:stencil-extent staff X))
            (Y-ext (ly:stencil-extent staff Y)))
          (ly:stencil-add
            (ly:make-stencil (list 'color (rgb-color 1 0.8 0.6)
                (ly:stencil-expr (ly:round-filled-box X-ext Y-ext 0))
                X-ext Y-ext))
            staff)))
}
{ a'1 }

Cordialement,
V. Villenave.

···

2010/10/26 Jean-Jacques Gerbaud <****@****>:

Merci à Martial qui m'a répondu mais sa réponse ne concerne pas seulement
UNE portée mais tout l'arrière plan d'une partition.

Je voudrais que seulement la portée d'un instrument soit en couleur. (Et, si
possible, choisir la couleur ! (mais là, j'en demande peut être trop !)

ou bien comme ça

\override Staff.StaffSymbol #'color = #(x11-color 'SlateBlue2)

\new Staff
\relative c' {
  \override Staff.StaffSymbol #'color = #green
     c8[ c] e[ e] g[ g] e4
}

C'est dans la doc au même endroit que précedement
http://lilypond.org/doc/v2.12/Documentation/user/lilypond/Inside-the-staff#Coloring-objects

···

--
Martial

Valentin Villenave a écrit :

Merci à Martial qui m'a répondu mais sa réponse ne concerne pas seulement
UNE portée mais tout l'arrière plan d'une partition.

Je voudrais que seulement la portée d'un instrument soit en couleur. (Et, si
possible, choisir la couleur ! (mais là, j'en demande peut être trop !)

Quelque chose comme ça ?

\new Staff \with {
  \override StaffSymbol #'stencil = #(lambda (grob)
     (let* ((staff (ly:staff-symbol::print grob))
            (X-ext (ly:stencil-extent staff X))
            (Y-ext (ly:stencil-extent staff Y)))
          (ly:stencil-add
            (ly:make-stencil (list 'color (rgb-color 1 0.8 0.6)
                (ly:stencil-expr (ly:round-filled-box X-ext Y-ext 0))
                X-ext Y-ext))
            staff)))
}
{ a'1 }

C'est exactement ça ! Merci Valentin (Et désolé pour Martial...

Et pour changer de couleur ?

Mais il faut avouer que c'est vachement difficile à trouver dans la documentation et qu''il faut bien connaître la grammaire de Lilypond pour trouver, mais je vous fais confiance à tous les deux :slight_smile: Bravo encore.

Mais j'avais trouvé une solution qui me satisfaisait, faute de mieux :

J'ai rajouté ça dans ma partition, pour la partie qui me concerne :
  \override Staff.StaffSymbol #'color = #(x11-color 'red)
         \override NoteHead #'color = #red
         \override Stem #'color = #red
         \override Beam #'color = #red

Merci encore pour les solutions que vous proposez aux utilisateurs de Lilypond. Et je dois dire que plus j'utilise ce logiciel plus je suis épaté par ses possibilités non seulement techniques mais esthétiques. Et je ne manque pas d'en faire la propagande.

Et si on écarte le présent sujet (plus complexe ?), c'est quelquefois d'une facilité déconcertante : pour rajouter les paroles, un petit
\add lyrics
suivi du texte, bien séparé avec une syllabe pour les notes (qu'on peut adapter) et voilà les paroles bien alignées sous les notes correspondantes !

Bravo à tous ceux qui participent à ce projet. (et à vous aussi, bien sûr)

···

2010/10/26 Jean-Jacques Gerbaud <****@****>:

--
JJG
(En raison du degré important de mon "oublitude", je demande à mes correspondants
de me prévenir à l'approche d'un rendez-vous prochain)

Et pour changer de couleur ?

Bon, cette fois je mets ça sur le LSR:
http://lsr.dsi.unimi.it/LSR/Item?id=726

Mais il faut avouer que c'est vachement difficile à trouver dans la
documentation et qu''il faut bien connaître la grammaire de Lilypond pour
trouver, mais je vous fais confiance à tous les deux :slight_smile: Bravo encore.

Ça n'est pas difficile à trouver, c'est juste que pour parvenir à
rédiger ce type de fonctions il faut un peu de pratique...

Merci encore pour les solutions que vous proposez aux utilisateurs de
Lilypond. Et je dois dire que plus j'utilise ce logiciel plus je suis épaté
par ses possibilités non seulement techniques mais esthétiques. Et je ne
manque pas d'en faire la propagande.

Travers que je ne peux que vous inviter à cultiver, dans la mesure où
c'est là notre seul moyen de publicité.

Et si on écarte le présent sujet (plus complexe ?), c'est quelquefois d'une
facilité déconcertante : pour rajouter les paroles, un petit
\add lyrics
suivi du texte, bien séparé avec une syllabe pour les notes (qu'on peut
adapter) et voilà les paroles bien alignées sous les notes correspondantes !

Absolument. Au demeurant, c'est \addlyrics, sans espace :slight_smile:

Cordialement,
V. Villenave.

···

2010/10/27 Jean-Jacques Gerbaud <****@****>:

Valentin Villenave a écrit :

Merci à Martial qui m'a répondu mais sa réponse ne concerne pas seulement
UNE portée mais tout l'arrière plan d'une partition.

Je voudrais que seulement la portée d'un instrument soit en couleur. (Et, si
possible, choisir la couleur ! (mais là, j'en demande peut être trop !)

Quelque chose comme ça ?

\new Staff \with {
  \override StaffSymbol #'stencil = #(lambda (grob)
     (let* ((staff (ly:staff-symbol::print grob))
            (X-ext (ly:stencil-extent staff X))
            (Y-ext (ly:stencil-extent staff Y)))
          (ly:stencil-add
            (ly:make-stencil (list 'color (rgb-color 1 0.8 0.6)
                (ly:stencil-expr (ly:round-filled-box X-ext Y-ext 0))
                X-ext Y-ext))
            staff)))
}
{ a'1 }

Cordialement,
V. Villenave.

Voici la partition à laquelle je voudrais appliquer la propriété ci-dessus (portée du milieu)

\score {
<<

         {
          \override Staff.VerticalAxisGroup #'minimum-Y-extent = #'(-3 . 3)
          \override Score.BarNumber #'break-visibility =#end-of-line-invisible
          \override Score.RehearsalMark #'padding = #2.5
          \resetBarnum
         }

         \context Staff = "track 1" <<
             \set Staff.instrumentName = \markup { \column { "Fl.Alto + htb" } }
             \set Staff.midiInstrument = "Oboe"
             \set Score.skipBars = ##t
             \set Staff.printKeyCancellation = ##f
             \new Voice \global
             \new Voice \globalTempo
\relative c''

             \context Voice = "voice 1" {
               \override Staff.VerticalAxisGroup #'minimum-Y-extent = #'(-6 . 6)
                 \override Voice.TextScript #'padding = #2.0
                 \override MultiMeasureRest #'expand-limit = 1
                 \once \override Staff.TimeSignature #'style = #'() \time 2/2
                 \clef "treble"
                 \key g \major
                 \time 2/2
                 \repeat volta 2 {
  \mark \markup { \fontsize #2 "Ritournelle" }
         r2 r4 r8 d8
         \bar "|:" d1
         e4 e d4. c8
         b2. b4
         c4 d e d
         c4 b a2
   ............
  \bar "|:"
      }
      >> % fin partition hautbois
  
      \context Staff = "track 2" <<
{ \override StaffSymbol #'stencil = #(lambda (grob)
      (let* ((staff (ly:staff-symbol::print grob))
             (X-ext (ly:stencil-extent staff X))
             (Y-ext (ly:stencil-extent staff Y)))
           (ly:stencil-add
             (ly:make-stencil (list 'color (rgb-color 1 0.8 0.6)
                 (ly:stencil-expr (ly:round-filled-box X-ext Y-ext 0))
                 X-ext Y-ext))
             staff)))
}
             \set Staff.instrumentName = \markup { \column { "Fl.basse + bsn" } }
             \set Staff.midiInstrument = "bassoon"
             \set Score.skipBars = ##t
             \set Staff.printKeyCancellation = ##f
             \new Voice \global
             \new Voice \globalTempo
\relative c
             \context Voice = "voice 2"
            {
              \override Voice.TextScript #'padding = #2.0
                 \override MultiMeasureRest #'expand-limit = 1
                 \once \override Staff.TimeSignature #'style = #'()

                 \clef "bass"
                 \key g \major
                 \time 2/2

        R1
        r4 r8 g'8 g2
        c,4 c d4. d8
        e4. fis8 g4. g8
        a4 b c b
        a4 g d2
  ...........
         } % fin voice 2
            
                         >> % fin Track 2

(vient ensuite le cello qu'il est inutile que j'ajoute.)

Dans l'écriture ci-dessus, tout fonctionne, les notes sont à leur place, sauf que la partie 2 ne comporte pratiquement plus de barres de mesures ! Idem pour les barres de reprise ou de répétition.

Si je pouvais avoir un petit tuyau, astuce, aide, suggestion, ... (Et aussi ce que je pourrais éventuellement ajouter ou enlever)

Merci

···

2010/10/26 Jean-Jacques Gerbaud <****@****>:

--
JJG
(En raison du degré important de mon "oublitude", je demande à mes correspondants
de me prévenir à l'approche d'un rendez-vous prochain)

Valentin Villenave a écrit :

···

2010/10/26 Jean-Jacques Gerbaud <****@****>:

Merci à Martial qui m'a répondu mais sa réponse ne concerne pas seulement
UNE portée mais tout l'arrière plan d'une partition.

Je voudrais que seulement la portée d'un instrument soit en couleur. (Et, si
possible, choisir la couleur ! (mais là, j'en demande peut être trop !)

Quelque chose comme ça ?

\new Staff \with {
  \override StaffSymbol #'stencil = #(lambda (grob)
     (let* ((staff (ly:staff-symbol::print grob))
            (X-ext (ly:stencil-extent staff X))
            (Y-ext (ly:stencil-extent staff Y)))
          (ly:stencil-add
            (ly:make-stencil (list 'color (rgb-color 1 0.8 0.6)
                (ly:stencil-expr (ly:round-filled-box X-ext Y-ext 0))
                X-ext Y-ext))
            staff)))
}

Dans mon dernier message j'ai oublié d'ajouter que le texte ci-dessus avait été placé en tête du fichier, juste après la version (2.13.22)

Désolé pour cet oubli :frowning:

--
JJG
(En raison du degré important de mon "oublitude", je demande à mes correspondants
de me prévenir à l'approche d'un rendez-vous prochain)

Il aurait été plus simple de nous envoyer le fichier en entier.

Sur ce genre de partition il vaut mieux travailler avec des identificateurs.

D'après ton fichier
ci-joint

color-staff.ly (1.69 KB)

···

--
Martial

Martial a écrit :

Il aurait été plus simple de nous envoyer le fichier en entier.

oui, mais je croyais qu'on ne pouvait pas joindre des fichiers. En tout cas, le voici en PJ

Sur ce genre de partition il vaut mieux travailler avec des identificateurs.

oui, effectivement, ça me semble plus simple.

J'ai rajouté la troisième voix (cello)

Il s'agit d'une ritournelle du Bourgeois Gentilhomme de Lulli, que nous allons monter en Mars avec acteurs et danseurs.

Comme dans mon fichier précédent, les barres de mesures ou de reprises n'apparaissent pas avec la colorisation. Sans la colorisation, tout est en place. (C'est sans doute normal mais je ne sais pas pourquoi !)

color-staff.ly (3.46 KB)

···

--
JJG
(En raison du degré important de mon "oublitude", je demande à mes correspondants
de me prévenir à l'approche d'un rendez-vous prochain)

La commande \with se place juste après le nom du contexte :

\new Staff \ with {blabla} { ma voix }

et non, comme dans votre fichier :

\new Staff { \with {blabla} ma voix }

Cordialement,
V. Villenave.

···

2010/10/28 Jean-Jacques Gerbaud <****@****>:

Comme dans mon fichier précédent, les barres de mesures ou de reprises
n'apparaissent pas avec la colorisation. Sans la colorisation, tout est en
place. (C'est sans doute normal mais je ne sais pas pourquoi !)

ha zut j'ai laissé une accolade
sur le 1er Staff
supprimer pour avoir ceci
\new Staff \voixI

···

--
Martial

Martial a écrit :

ha zut j'ai laissé une accolade
sur le 1er Staff
supprimer pour avoir ceci
\new Staff \voixI

Pareil, rien n'a changé ... (voir ma copie d'écran dans mon message précédent)

voici la dernière partie de mon fichier .ly

%%% Edition portée system
\score {
<<
\new Staff \voixI -------------------> 1ère portée
    
\new Staff \with { %% colorisation de cette portée
    \override StaffSymbol #'stencil = #(lambda (grob)
   (let* ((staff (ly:staff-symbol::print grob))
    (X-ext (ly:stencil-extent staff X))
    (Y-ext (ly:stencil-extent staff Y)))
    (ly:stencil-add
      (ly:make-stencil (list 'color (rgb-color 1 0.8 0.6)
      (ly:stencil-expr (ly:round-filled-box X-ext Y-ext 0))
      X-ext Y-ext))
      staff)))
    }
  \voixII ---------------------> 2ème portée
  
\new Staff \voixIII ---------------------> 3ème portée

  >>
  \layout { }
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

J'ai supprimé les accolades ouvrantes et fermantes enfermant les \voix

C'est si dur que ça pour avoir tout en ordre ?

···

--
JJG
(En raison du degré important de mon "oublitude", je demande à mes correspondants
de me prévenir à l'approche d'un rendez-vous prochain)

Oups, toutes mes excuses. Il y avait un bug dans mon code : le
rectangle de couleur s'imprimait sous les lignes de la portée mais
par-dessus certaines barres de mesure. J'ai ajouté une ligne pour le
forcer à se mettre sur une couche ("layer") plus basse.

Voici votre fichier avec quelques corrections d'indentation, et une
fonction rectifiée.

Cordialement,
V. Villenave.

color-staff.ly (3.28 KB)

···

2010/10/28 Jean-Jacques Gerbaud <****@****>:

Merci Valentin de perdre ton temps avec moi.

Je dois être un peu lourd (mais oui, mais oui... :-)) mais je fais comme tu
dis et ça ne marche toujours pas. S'il n'y a rien à faire, laisse tomber, je
trouverai un autre moyen. C'est déjà pas si mal comme ça.