La propietat color

Per finalitzar, intentem fer invisibles les barres de compàs pintant-les de color blanc (hi ha un problema relacionat, que consisteix en què la línia divisòria blanca pot tapar o no tapar les línies del pentagrama amb les quals es creua. Podreu observar en alguns dels exemples que apareixen a continuació, que això succeeix de forma impredictible. Els detalls sobre perquè això passa així, i com controlar-lo, s’estudien a Pintar els objectes de blanc; de moment estem estudiant el color, per la qual cosa us preguem que accepteu aquesta limitació per ara).

La interfície grob-interface especifica que la propietat del color és una llista, però no hi ha cap explicació sobre el que ha d’anar a aquesta llista. La llista que requereix és realment una llista de valors en unitats internes, però per evitar haver de saber quines són, s’ofereixen diverses vies per a l’especificació dels colors. La primera forma és utilitzar un dels colors ‘normals’ dels quals es fa una relació a la primera taula de la Llista de colors. Per posar les línies divisòries de color blanc, escrivim:

\relative {
  \time 12/16
  \override Staff.BarLine.color = #white
  c''4 b8 c d16 c d8 |
  g,8 a16 b8 c d4 e16 |
  e8
}

[image of music]

i un altre cop podem comprovar que les barres de compàs no són visibles. Observeu que white no ve precedit d’un apòstrof: no és un símbol, sinó una variable. Quan s’avalua, proporciona la llista de valors interns que es requereixen per establir el color a blanc. Els altres colores de la llista normal també són variables. Per convèncer-vos que això funciona, potser voleu canviar el color a una de les altres variables de la llista.

La segona forma de canviar el color és utilitzar la llista de noms de colores d’X11 que apareix a la segona llista de Llista de colors. De totes maneres, es fan correspondre als valors real per mitjà de la funció x11-color que converteix els símbols de color d’X11 a la llista de valors interns d’aquests colors:

\relative {
  \time 12/16
  \override Staff.BarLine.color = #(x11-color 'white)
  c''4 b8 c d16 c d8 |
  g,8 a16 b8 c d4 e16 |
  e8
}

[image of music]

Observeu que en aquest cas la funció x11-color agafa un símbol com a argument, de manera que el símbol ha d’anar precedit d’un apòstrof per evitar que resulti avaluat com si fos una variable, i tota la crida a la funció s’ha de envoltar entre parèntesis.

Encara hi ha una altra funció, que converteix valors RGB en colors interns: la funció rgb-color. Agafa tres arguments que donen les intensitats de vermell, verd i blau. Cadascú d’ells pot agafar valors entre 0 i 1. Per tant, per establir el color a vermell, el valor ha de ser (rgb-color 1 0 0) i per a blanc ha de ser (rgb-color 1 1 1):

\relative {
  \time 12/16
  \override Staff.BarLine.color = #(rgb-color 1 1 1)
  c''4 b8 c d16 c d8 |
  g,8 a16 b8 c d4 e16 |
  e8
}

[image of music]

Finalment, hi ha també una escala de grisos com a part del conjunt de colors d’X11. Varien des del negre, 'grey0, fins al blanc, 'grey100, en passos de 1. Il·lustrarem això establint tots els objectes de presentació del nostre exemple a diverses gradacions de gris:

\relative {
  \time 12/16
  \override Staff.StaffSymbol.color = #(x11-color 'grey30)
  \override Staff.TimeSignature.color = #(x11-color 'grey60)
  \override Staff.Clef.color = #(x11-color 'grey60)
  \override Voice.NoteHead.color = #(x11-color 'grey85)
  \override Voice.Stem.color = #(x11-color 'grey85)
  \override Staff.BarLine.color = #(x11-color 'grey10)
  c''4 b8 c d16 c d8 |
  g,8 a16 b8 c d4 e16 |
  e8
}

[image of music]

Observeu els contextos associats amb cadascú dels objectes de presentació. És important que estiguin correctament escrits, o les ordres no funcionaran. Recordeu que el context és aquell en el qual es troba el gravador corresponent. El context predeterminat per als gravadors pot trobar-se començant per l’objecte de presentació, d’aquí al gravador que el produeix, i a la pàgina del gravador del RFI apareix en quin context es pot trobar normalment el gravador.


Manual d’aprenentatge del GNU LilyPond v2.25.22 (development-branch).