[ < ] [ > ]   [ << ] [ Amunt ] [ >> ]         [Part superior] [Continguts] [Índex] [ ? ]

4.2 Manual de referència de funcionament intern

@translationof The Internals Reference manual


[ < ] [ > ]   [ << ] [ Amunt ] [ >> ]         [Part superior] [Continguts] [Índex] [ ? ]

4.2.1 Propietats dels objectes de presentació

@translationof Properties of layout objects

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
  }
}

[image of music]

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 RFI(1).

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
  }
}

[image of music]

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
  }
}

[image of music]

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
  }
}

[image of music]

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
  }
}

[image of music]

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ó.


[ < ] [ > ]   [ << ] [ Amunt ] [ >> ]         [Part superior] [Continguts] [Índex] [ ? ]

4.2.2 Propietats de les interfícies

@translationof Properties found in interfaces

Suposeu ara que volem imprimir la lletra de la cançó en cursiva. Quina forma d’instrucció \override necessitem per fer-lo? En primer lloc mirem a la pàgina de RFI que fa una relació de tots els objectes, ‘All layout objects’, com abans, i busquem un objecte que pugui controlar la lletra de la cançó. Trobem LyricText, que sembla adequat. En seguir aquest enllaç es presenten les propietats ajustables per al text de la lletra. Aquests inclouen font-series i font-size, però res que pogués genera una forma cursiva. Això és perquè la propietat de la forma és comuna a tots els objectes de font tipogràfica, i per tant, en comptes d’incloure’l en cada u dels objectes de presentació, s’agrupa junt amb altres propietats comunes semblants i es deposita a un Interface, la interfície dels tipus de lletra font-interface.

Per tant, ara necessitem aprendre com trobar les propietats de les interfícies, i descobrir quins objectes usen aquestes propietats d’interfície.

Mireu un altre cop la pàgina del RFI que descriu a LyricText. Al final de la pàgina hi ha una llista d’enllaços a les interfícies que LyricText contempla. La llista té set elements, entre ells font-interface. En seguir aquest enllaç arribem a les propietats associades amb aquesta interfície, que també són propietats de tots els objectes que la porten, entre ells LyricText.

Ara veiem totes les propietats ajustables per l’usuari que controles els tipus de lletra, entre elles font-shape(symbol), on symbol es pot establir a upright (recta), italics (cursiva) o caps (majúscules petites).

Observareu que font-series i font-size també es troben aquí relacionats. Això fa que de seguida se’ns plantegi la pregunta: Perquè estan les propietats comunes de tipografia font-series i font-size relacionades sota LyricText així com sota la interfície font-interface però font-shape no ho està? La resposta és que font-series i font-size es canvie a partir dels seus valors predeterminats globals quan es crea un objecte LyricText, però font-shape no ho fa. Aleshores els elements de la llista LyricText els diuen els valors per aquestes dues propietats que són d’aplicació per a LyricText. D’altres objectes que tenen en compte font-interface establiran aquestes propietats de forma diferent quan es creen.

Vejam ara si podem construir la instrucció \override per canviar la lletra a cursiva. L’objecte és LyrcText, la propietat és font-shape i el valor és italic. Igual que abans, ometrem el context.

Com a nota a part, tot i que és important, observeu que certes propietats prenen valors que són símbols, com ara italic, i han d’anar precedits per un apòstrof, '. Els símbols es llegeixen a continuació internament per part del LilyPond. Tingueu en compte la diferència amb les cadenes de text arbitràries, que apareixeran com «una cadena de text»; per veure més detalls sobre els símbols i les cadenes, consulteu (extending)Scheme tutorial section ‘Tutorial de l’Scheme’ in Extensions.

Així doncs, l’ordre \override necessària per imprimir la lletra en cursiva és:

 
\override LyricText.font-shape = #'italic

Això s’ha d’escriure just davant de la lletra que ha d’afectar, d’aquesta forma:

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

[image of music]

i tota la lletra s’escriu en cursiva.

Nota: Dins de la lletra, deixeu sempre espais entre la síl·laba final i la clau de tancament.

Vegeu també

Manual de Extensió: (extending)Scheme tutorial section ‘Tutorial de l’Scheme’ in Extensions.


[ < ] [ > ]   [ << ] [ Amunt ] [ >> ]         [Part superior] [Continguts] [Índex] [ ? ]

4.2.3 Tipus de propietats

@translationof Types of properties

Fins aquí hem vis dos tipus de propietats: número i símbol. Perquè sigui vàlid, el valor que es dóna a una propietat ha de ser del tipus correcte i obeir les regles d’aquest tipus. El tipus de la propietat es mostra sempre entre claus després del nom de la propietat al RFI. Vet aquí una llista dels tipus que us podrà caldre, junt amb les regles d’aquest tipus, i alguns exemples. Heu d’escriure sempre un símbol d’encoixinat, #, per suposat, endavant d’aquests valors quan s’introdueixen a l’ordre \override, fins i tot si el propi valor ja comença per #. Sols oferim aquí exemple per a constants; si voleu calcular un valor usant l’Scheme, consulteu (extending)Calculations in Scheme section ‘Càlculs a l’Scheme’ in Extensions.

Tipus propietatReglesExemples de propietat
BooleàVertader o fals, representat per #t o #f#t, #f
Dimensió (en espais de pentagrama)Un nombre decimal (en unitats de espais de pentagrama)2.5, 0.34
DireccióUna constant vàlida de direcció o el seu equivalent numèric (0 o CENTER indiquen una direcció neutra)LEFT, CENTER, UP, 1, -1
EnterUn número enter positiu3, -1
LlistaUna seqüència de constants o símbols separats per espais, envoltada per claus i precedida per un apòstrof o cometa simple'(left-edge staff-bar), '(1), '(), '(1.0 0.25 0.5)
MarcatgeQualsevol element vàlid de marcatge de text\markup { \italic "cresc." }, "gaita"
MomentUna fracció de rodona construïda amb la funció make-moment(ly:make-moment 1/4), (ly:make-moment 3/8)
NombreQualsevol valor positiu, possiblement decimal3, -2.45
Parella (de números)Dos números separats per un ‘espai . espai’, envoltat entre parèntesis i precedir per un apòstrof'(2 . 3.5), '(0.1 . -3.2)
SímbolQualsevol del conjunt de símbols permesos per a aquesta propietat, precedir per un apòstrof'italic, 'inside
DesconegutUn procediment o #f per no produir cap accióbend::pr int, ly:text-interface::print, #f
VectorConstants envoltades per #(…).#(#t #t #f)

Vegeu també

Manual de Extensió: (extending)Scheme tutorial section ‘Tutorial de l’Scheme’ in Extensions.


[ < ] [ > ]   [ << ] [ Amunt ] [ >> ]

This document was generated by gub on Juliol 13, 2020 using texi2html 1.82.

Altres idiomes: English, česky, deutsch, español, français, italiano, 日本語, nederlands.
Quant a la selecció automàtica de la llengua.