Manual d'aprenentatge del GNU LilyPond: 4.2.1 Propietats dels objectes de presentació

### 4.2.1 Propietats dels objectes de presentació

Suposeu que teniu una partitura amb una lligadura d’expressió que al seu gust és massa fina i voleu dibuixar-la una mica més gruixuda. Com heu de procedir? Ja sabeu, per les afirmacions anteriors sobre la flexibilitat del LilyPond, que hi ha aquesta possibilitat, i segurament penseu que caldrà alguna ordre de sobreescriptura `\override`. Però, hi ha una propietat de gruix per a les lligadures? I si hi ha, com es pot modificar? Aquí es on intervé el Manual de Funcionament Intern. Conte tota la informació que podeu necessitar per construir aquesta i la resta d’ordres `\override`, de sobreescriptura.

Un advertiment abans de dirigir la nostra mirada a la referència de funcionament intern. Aquest és un document de referència, cosa que significa que es proveeixen poques explicacions o cap: el seu propòsit és presentar la informació de forma precisa i concisa. Per tant, us podrà sembla desencoratjador a primera ullada. No us amoïneu! La guia i les explicacions que presentem aquí us permetran extraure la informació de la referència de funcionament intern a vós mateix, sols us cal una mica de pràctica.

Anem a fer servir un exemple concret amb un senzill fragment de música real:

>     {
>       \key es \major
>       \time 6/8
>       \relative {
>         r4 bes'8 bes[( g]) g |
>         g8[( es]) es d[( f]) as |
>         as8 g
>       }
>       \addlyrics {
>         The man who | feels love's sweet e -- | mo -- tion
>       }
>     }

Suposeu ara que decidim que ens agrades les lligadures una mica més gruixudes. És possible? La lligadura és, certament, un objecte de presentació, de manera que la qüestió és ‘Hi ha una propietat pertanyent a les lligadures d’expressió que controli el seu gruix?’ Per respondre a aquesta pregunta hem de mirar el manual de Referència de Funcionament Intern, abreujadament RFI1.

L’RFI és la versió del LilyPond que esteu usant es pot trobar a la pàgina web del LilyPond a https://lilypond.org. Aneu a la pàgina de la documentació i seguiu l’enllaç Manual de Referència de Funcionament Intern (RFI). Per als nostres propòsits pedagògics seria millor que utilitzéssiu la versió en HTML, no la ‘en una sola pàgina’ ni el PDF. Perquè els següents paràgrafs tinguin algun sentit haureu de consultar-lo realment al temps que llegiu.

Sota l’encapçalament Top podreu veure cinc enllaços. Seleccioneu l’enllaç Backend, que és on es troba la informació sobre els objectes de presentació. Un cop allí, sota l’encapçalament Backend, seguiu l’enllaç All layout objects. La pàgina que apareix relaciona totes els objectes de presentació que s’usen a la vostra versió del LilyPond, en ordre alfabètic. Segui l’enllaç Slur (lligadura d’expressió), i apareixeran relacionades les propietats de les lligadures d’expressió o Slurs.

Una forma alternativa de trobar aquesta pàgina és a partir de la Referencia de la Notació. En una de les pàgines que tracten de les lligadures d’expressió podreu trobar un enllaç al manual de referència del funcionament intern. Aquest enllaç us portarà directament a aquesta pàgina, tot i que si teniu una idea del nom de l’objecte de presentació que preteneu ajustar, li resultarà més fàcil anar directament al RFI i buscar allí.

Aquesta pàgina sobre les lligadures d’expressió dins del manual RFI ens diu en primer lloc que els objectes Slur es creen pel gravador Slur_engraver. A continuació relaciona els ajustos estàndard. Navegueu per ells buscant una propietat que pogués controlar el gruix de les lligadures, i trobarà

>     thickness (number)
>          1.2
>          Line thickness, generally measured in line-thickness

Això promet ser una bona opció per canviar el gruix. Ens diu que el valor de `thickness` és un simple número, que el valor predeterminat és 1.2, i que les unitats estan dins d’una altra propietat anomenada `line-thickness`.

Com havíem dit amb anterioritat, hi ha entre poques i cap explicació al RFI, però ja tenim informació suficient per provar de canviar el gruix de la lligadura. Vejam que el nom de l’objecte de presentació és `Slur`, que el nom de la propietat que hem de canviar és `thickness` i que el nou valor ha de ser un número una mica més gran que 1.2 si volem fer les lligadures més gruixudes.

Ara podem construir la instrucció de sobreescriptura `\override` simplement mitjançant la substitució dels valores que hem trobar per als noms, ometent el context. Usarem un valor molt gran per al gruix al començament, per estar segurs que l’ordre estigui funcionant. Obtenim el següent:

>     \override Slur.thickness = #5.0

No oblideu el `#'` abans del nom de la propietat i `#` abans del valor nou!

La pregunta final és ‘On s’ha de col·locar aquesta ordre?’ Tot i que ens falta seguretat i estem aprenent encara, la millor resposta és: ‘Dins de la música, abans de la primera lligadura i a prop d’ella.’ Fem-lo així:

>     {
>       \key es \major
>       \time 6/8
>       \relative {
>         % Increase thickness of all following slurs from 1.2 to 5.0
>         \override Slur.thickness = #5.0
>         r4 bes'8 bes[( g]) g |
>         g8[( es]) es d[( f]) as |
>         as8 g
>       }
>       \addlyrics {
>         The man who | feels love's sweet e -- | mo -- tion
>       }
>     }

i podem veure que la lligadura és, sense dubte, més gruixuda.

Així doncs, aquesta és la forma bàsica de construir ordres `\override` o de sobreescriptura. Hi ha unes quantes complicacions més amb les quals ens trobarem a seccions posteriors, però ara coneixeu totes els principis essencials que us calen per fer-lo per vós mateix (tot i que encara us fa falta una mica de pràctica). Els següents exemples us donaran més pràctica.

#### Cerca del context

Però en primer lloc, que hauria passat si haguéssim hagut d’especificar el context? Quin seria? Podem suposar que les lligadures estan al context Voice, per estar clarament associats de manera estreta amb les línies individuals de música, però podem tenir seguretat? Per esbrinar-lo, anem de nou a l’inici de la pàgina del RFI que descriu les lligadures (Slur), con diu ‘Slur objects are created by: Slur engraver’ («Els objectes de lligadura d’expressió es creen per: el gravador Slur»). Així doncs, les lligadures d’expressió es creen en qualsevol context en el que es trobi el gravador `Slur_engraver`. Seguiu l’enllaç a la pàgina del gravador `Slur_engraver`. Al final de tot, diu que el gravador `Slur_engraver` és part de set contextos de veu, inclòs el context de veu estàndard, `Voice`, per la qual cosa la nostra suposició és encertada. I a causa que `Voice` és un dels contextos de més baix nivell que es troba implícit sense ambigüitat pel fet que estem escrivint notes, podem ometre’l en aquest lloc concret.

#### Sobreescriptura per un sol cop

Com podeu veure, totes les lligadures són més gruixudes a l’últim exemple. Però, i si volguéssim que sols la primera lligadura fos més gruixuda? Això s’aconsegueix amb la instrucció o prefix `\once`. Col·locat immediatament abans de la instrucció `\override` ocasiona que sols canviï la lligadura que comença a la nota immediata següent. Si la nota immediata següent no inicia una lligadura, l’ordre no té cap efecte en absolut: no es recorda fins que es trobi alguna lligadura, sinó que simplement s’ignora. Així doncs, l’ordre que porta `\once` s’ha de tornar a posicionar de la forma següent:

>     {
>       \key es \major
>       \time 6/8
>       \relative {
>         r4 bes'8
>         % Increase thickness of immediately following slur only
>         \once \override Slur.thickness = #5.0
>         bes8[( g]) g |
>         g8[( es]) es d[( f]) as |
>         as8 g
>       }
>       \addlyrics {
>         The man who | feels love's sweet e -- | mo -- tion
>       }
>     }

Hem fet que ara sols la primera lligadura sigui més gruixuda.

L’ordre o prefix `\once` també es pot fer servir abans de l’ordre `\set`.

#### Recuperació de l’ajustament

Finalment, i si volguéssim que sols les dues primeres lligadures fossin més gruixudes? Per acabar; podríem usar dues ordres, cadascuna d’elles precedida pel prefix `\once`, situades immediatament abans de cada una de les notes on comencen les lligadures:

>     {
>       \key es \major
>       \time 6/8
>       \relative {
>         r4 bes'8
>         % Increase thickness of immediately following slur only
>         \once \override Slur.thickness = #5.0
>         bes[( g]) g |
>         % Increase thickness of immediately following slur only
>         \once \override Slur.thickness = #5.0
>         g8[( es]) es d[( f]) as |
>         as8 g
>       }
>       \addlyrics {
>         The man who | feels love's sweet e -- | mo -- tion
>       }
>     }

o podríem ometre l’ordre prefix `\once` i utilitzar l’ordre `\revert` (restableix) per retornar la propietat del gruix, `thickness`, al seu valor predeterminat després de la segona lligadura:

>     {
>       \key es \major
>       \time 6/8
>       \relative {
>         r4 bes'8
>         % Increase thickness of all following slurs from 1.2 to 5.0
>         \override Slur.thickness = #5.0
>         bes[( g]) g |
>         g8[( es]) es
>         % Revert thickness of all following slurs to default of 1.2
>         \revert Slur.thickness
>         d8[( f]) as |
>         as8 g
>       }
>       \addlyrics {
>         The man who | feels love's sweet e -- | mo -- tion
>       }
>     }

L’ordre `\revert` es pot utilitzar per retornar qualsevol propietat que s’hagi canviat amb `\override` al seu valor predeterminat. Podeu utilitzar el mètode que millor s’adapti a allò que voleu fer.

D’aquesta manera finalitza la nostra introducció al manual de RFI, i el mètode bàsic d’ajustament. A continuació, en les últimes seccions d’aquest capítol trobareu diversos exemples, en par par introduir-vos a algunes de les possibilitats addicionals del manual RFI, i en part per proporcionar-vos més pràctica sobre com extraure informació d’ell. Aquests exemples aniran contenint cada cop menys paraules de guia i explicació.

### Notes a peu de pàgina

[1] IR (Internals Reference) en anglès

#### LilyPond — Manual d’aprenentatge v2.22.2 (branca estable).