| [ < ] | [ > ] | [ << ] | [ Amunt ] | [ >> ] | [Part superior] | [Continguts] | [Índex] | [ ? ] |
@translationof The Internals Reference manual
| 4.2.1 Propietats dels objectes de presentació | ||
| 4.2.2 Propietats de les interfícies | ||
| 4.2.3 Tipus de propietats |
| [ < ] | [ > ] | [ << ] | [ Amunt ] | [ >> ] | [Part superior] | [Continguts] | [Índex] | [ ? ] |
@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 } }
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 } }
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.
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.
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.
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ó.
| [ < ] | [ > ] | [ << ] | [ Amunt ] | [ >> ] | [Part superior] | [Continguts] | [Índex] | [ ? ] |
@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 } }
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.
Manual de Extensió: (extending)Scheme tutorial section ‘Tutorial de l’Scheme’ in Extensions.
| [ < ] | [ > ] | [ << ] | [ Amunt ] | [ >> ] | [Part superior] | [Continguts] | [Índex] | [ ? ] |
@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 propietat | Regles | Exemples 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 |
| Enter | Un número enter positiu | 3, -1 |
| Llista | Una 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) |
| Marcatge | Qualsevol element vàlid de marcatge de text | \markup { \italic "cresc." }, "gaita" |
| Moment | Una fracció de rodona construïda amb la funció make-moment | (ly:make-moment 1/4),
(ly:make-moment 3/8) |
| Nombre | Qualsevol valor positiu, possiblement decimal | 3, -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ímbol | Qualsevol del conjunt de símbols permesos per a aquesta propietat, precedir per un apòstrof | 'italic, 'inside |
| Desconegut | Un procediment o #f per no produir cap acció | bend::pr
int, ly:text-interface::print,
#f |
| Vector | Constants
envoltades per #(…). | #(#t #t #f) |
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.