4.6.1 Moviment d’objectes

Tot i que us pugui sorprendre, el LilyPond no és perfecte. Certs elements de notació es poden superposar, el que és una llàstima, però en realitat és força poc freqüent. Normalment la necessitat de moure objectes és per claredat o raons estètiques: l’aspecte és millor amb una mica més o una mica menys d’espai de separació.

Hi ha tres enfocaments principals que porten a la resolució de superposicions en la notació. Es poden considerar en l’ordre següent:

  1. La direcció d’un dels objectes que se superposen es pot canviar usant les ordres predefinides que estan relacionades a dalt per als objectes dins-del-pentagrama (vegeu Objectes interiors al pentagrama). Es poden recol·locar fàcilment les pliques, lligadures d’expressió i d’unió, barres de corxera, indicacions dinàmiques, text i grups de valoració especial d’aquesta forma. La limitació és que sols teniu la possibilitat d’elegir entre dues posicions, i podria fer que cap d’elles fos l’adequada.
  2. Les propietats de l’objecte, que el LilyPond usa quan està col·locant els objectes de presentació, es poden modificar usant l’ordre de sobreescriptura \override. Els avantatges de fer canvis d’aquest tipus de propietat són: a) que algun altre objecte es mourà automàticament si és necessari, per deixar-li lloc, i b) una única sobreescriptura es pot aplicar a totes les instàncies del mateix tipus d’objecte. Entre tals propietats es troben:
    • direction (direcció)

      Ja s’ha estudiat amb cert detall: vegeu Objectes interiors al pentagrama.

    • padding (farciment), right-padding (farciment per la dreta) staff-padding (farciment de pentagrama)

      Segons s’està col·locant un objecte, el valor de la seva propietat de farciment padding especifica l’espai intermedi que s’ha de deixar entre ell mateix i el límit més pròxim de l’objecte contra el que s’està col·locant. Observeu que és el valor de padding de l’objecte que s’està col·locant el que s’usa; el valor de padding de l’objecte que ja està col·locat s’ignora. Els espais intermedis especificats mitjançant padding es poden aplicar a tots els objectes que responen a la interfície side-position-interface.

      En lloca de amb padding, la col·locació dels grups d’alteracions es controla amb right-padding. Aquesta propietat es troba a l’objecte AccidentalPlacement que, observeu, viu dins del context de Staff. Durant el procés tipogràfic, els caps de les notes es composen tipogràficament en primer lloc, i després les alteracions, si hi ha, s’afegeixen a l’esquerra dels caps utilitzant la propietat de farciment per la dreta right-padding per determinar la separació entre l’alteració i el cap, i de les alteracions entre sí. Així doncs, sols la propietat de farciment per la dreta right-padding de l’objecte AccidentalPlacement té efecte sobre la col·locació de les alteracions.

      La propietat staff-padding està estretament relacionada amb la propietat padding: padding controla la separació mínima entre qualsevol objecte que respongui a la interfície side-position-interface i l’objecte més proper (generalment la nota o les línies del pentagrama); staff-padding s’aplica sols als objectes que sempre se situen fora del pentagrama: controla la separació mínima entre aquest objecte i el pentagrama. Observeu que staff-padding no té cap efecte sobre objectes que es posicionen respecte a la nota en comptes de fer-lo respecte al pentagrama, fins i tot malgrat pugui ser sobreescrit sense error per aquests objectes: simplement s’ignora.

      Per descobrir quina propietat de farciment es necessita per a l’objecte que voleu recol·locar, heu de tornar al manual de RFI i buscar les propietat de l’objecte. Aneu amb compte perquè les propietats de farciment podrien no estar a l’objecte més obvi, així que busqueu en els objectes que puguin tenir alguna relació amb ell.

      Tots els valors de farciment es mesuren en espais del pentagrama. Per la major part dels objectes el valor s’estableix de forma predeterminada en aproximadament 1.0 o menys (varia amb cada objecte). Es pot sobreescriure si es necessita una separació intermèdia major (o menor).

    • self-alignment-X (Alineament automàtic a l’eix X)

      Aquesta propietat es pot usar per alinear l’objecte a l’esquerra, a la dreta, o centrar-lo amb respecte al punt de referència de l’objecte «pare». Es pot usar amb tots els objectes que contemplen la interfície self-alignment-interface. En general són objectes que contenen text. Els valors són LEFT, RIGHT o CENTER. De forma alternativa es pot especificar un valor numèric entre -1 i +1, on -1 és alineat per l’esquerra, +1 és alineat per la dreta, i els números intermedis mouen el text progressivament des d’alineat per l’esquerra fins alineat per la dreta. Es poden especificar valors numèrics més grans de 1 per moure el text fins i tot més lluny cap a l’esquerra, o menys de -1 per allunyar-lo més cap a la dreta. Un canvi en 1 al valor correspon a un moviment de la meitat de la longitud total del propi text.

    • extra-spacing-width (amplada de separació addicional)

      Aquesta propietat està disponible per a tots els objectes que respecten la interfície item-interface. Agafa dos números, el primer se suma al límit esquerre i el segon se suma al límit dret. Els números negatius desplacen el límit a l’esquerra i els positius a la dreta, per la qual cosa per fer més ample un objecte el primer número ha de ser negatiu i el segon positiu. Observeu que no tots els objectes necessiten els dos números. Per exemple, l’objecte Accidental (alteració) sols respon al primer número (la vora esquerra).

    • staff-position (posició de pentagrama)

      staff-position és una propietat de la interfície staff-symbol-referencer-interface, que està contemplat pels objectes que es col·loquen amb relació al pentagrama. Especifica la posició vertical de l’objecte amb relació a la tercera línia del pentagrama en mig espais de pentagrama. És útil en la resolució de col·lisions entre objectes de presentació com silencis multicompàs, lligadures d’unió i notes en diferents veus.

    • horizontal-shift

      Dins d’una veu totes les notes que es produeixen al mateix moment s’agrupen en una columna de notes, i es crea un objecte NoteColumn per controlar el posicionament horitzontal d’aquest grup de notes (vegeu “Columnes de nota” a Veus explícites). Si i sols si dues o més columnes de nota apareixen al mateix moment musical i les dues tenen les pliques en la mateixa direcció, els valors de les seves propietats horizontal-shift s’usen per assignar-los una puntuació i les columnes amb puntuacions més altes es desplacen progressivament per evitar les col·lisions entre els caps de les notes. Aquesta propietat s’estableix amb les ordres \voiceXXX i es poden sobreescriure directament amb una ordre \override o, de forma més comú amb les ordres \shiftOn. Observeu que aquesta propietat s’usa per qualificar les columnes de nota o per aplicar desplaçaments: no especifica la magnitud del desplaçament, que es va incrementant progressivament en passos en base a l’amplada dels caps de nota per a cada puntuació. Els passos són normalment de la meitat d’amplada d’un cap de nota, però pot ser l’amplada completa del cap d’una nota quan està implicat un grup de notes molt ajustades entre sí.

    • force-hshift (desplaçament horitzontayesl forçat)

      La propietat force-hshift és una propietat d’una NoteColumn (en realitat és una propietat de la interfície note-column-interface). Modificar-lo permet moure una columna de notes en situacions on les columnes de notes se superposen. Observeu que no té efecte sobre les columnes de nota que no se superposen. S’especifica en unitats adequats a una columna de notes, per exemple l’amplada del cap de la nota de la primera veu. S’ha d’usar en situacions complexes on les ordres \shiftOn normals (vegeu Veus explícites) no resolen el conflicte entre les notes de forma satisfactòria. És preferible a la propietat extra-offset per a aquest propòsit perquè no hi ha necessitat d’esbrinar la distància en espais de pentagrama, i moure les notes dins o fora d’una NoteColumn afecta a altres accions com a la fusió entre caps de nota.

  3. Finalment, quan tota la resta falla, els objectes es poden tornar a posicionar manualment amb relació a la tercera línia del pentagrama verticalment, o desplaçant-los una certa distància a una nova posició. Els avantatges són que els valors correctes per a tornar a posicionar els objectes s’han d’esbrinar, sovint per prova i error, per a cada objecte individual i, atès que el moviment es fa després que el LilyPond hagi col·locat tots els altres objectes, l’usuari és responsable d’evitar qualsevol col·lisió que pugui produir-se. Però la dificultat principal amb aquest enfocament és que els valors de posicionat podria tenir que ser tornats a calcular si la música es modifica més tard. Les propietats que es poden usar per aquest tipus de posicionament manual són:
    extra-offset (desplaçament addicional)

    Aquesta propietat s’aplica a qualsevol objecte de presentació que contempli el grob-interface. Agafa una parella de números que especifiquen el desplaçament addicional en les direccions horitzontal i vertical. Els números negatius mouen l’objecte a l’esquerra o cap avall. Les unitats són espais de pentagrama. El desplaçament addicional es fa després que la composició tipogràfica dels objectes ha terminat, així que un objecte pot ser tornat a posicionar a qualsevol lloc sense afecta a cap altra cosa.

    positions (posicions)

    Aquesta propietat és de la major utilitat per ajustar manualment la inclinació i l’alçada de les barres de corxera, lligadures d’expressió i claudàtors de grups excedents. Agafa una parella de números que donen la posició dels extrems esquerra i dreta de la barra, lligadura, etc. amb relació a la tercera línia del pentagrama. Les unitats són espais de pentagrama. Observeu, però, que les lligadures d’expressió i de fraseig no es poden tornar a posicionar en quantitats arbitràriament grans. El LilyPond en primer lloc genera una llista de posicions possibles per a la lligadura i de forma predeterminada troba la lligadura que té el “millor aspecte”. Si la propietat positions s’ha sobreescrit, la lligadura que està més a prop de les posicions que s’han sol·licitat, se selecciona de la llista.

Un objecte en particular podria no tenir totes aquestes propietats. És necessari anar al manual RFI per buscar quines propietats es troben disponible per a l’objecte en qüestió.

Aquí presentem una llista dels objectes que és més probable que estiguin implicats en col·lisions, amb el nom de l’objecte que hauria de buscar-se en el RFI per descobrir quines propietats s’han d’usar per moure’ls.

Tipus d’objecteNom de l’objecte
ArticulacionsScript
BarresBeam
Dinàmica (verticalment)DynamicLineSpanner
Dinàmica (horitzontalment)DynamicText
DigitacionsFingering
Marques d’assaig i textualsRehearsalMark
Lligadures d’expressióSlur
Text, per exemple ^"text"TextScript
Lligadures d’unióTie
Grups de valoració especialTupletBracket

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

LilyPond — Manual d’aprenentatge v2.19.40 (branca de desenvolupament).