4.1.2 Objectes i interfícies
L’ajustament consisteix de modificar el funcionament i estructura interna del programa LilyPond, per la qual cosa en primer lloc introduirem alguns termes que s’usen per descriure aquestes operacions i estructures internes.
El terme ‘Objecte’ és un terme genèric que s’usa per referir-se
a la multitud d’estructures internes que el LilyPond construeix
durant el processament d’un fitxer d’entrada. Així, quan es troba
una ordre com ara \new Staff, es construeix un objecte
no del tipus Staff. Així doncs, aquest objecte
Staff conté totes les propietats associades amb aquest
pentagrama en particular, per exemple, el seu nom i la seva
armadura, a més d’altres detalls dels gravadors que s’han assignat
perquè operin dins del context del pentagrama. De forma semblant,
hi ha objectes que emmagatzemen les propietats de tots els altres
contextos, com ara objectes de Voice, objectes de
Score, objectes de Lyrics, així com objectes que
representen tots els elements notacionals com ara línies
divisòries, caps de les notes, lligadures, indicacions dinàmiques,
etc. Cada objecte té el seu propi conjunt de valors de
propietat.
Certs tipus d’objectes reben noms especials. Els objectes que representen elements de notació sobre la sortida impresa com ara caps de notes, pliques, lligadures d’expressió i d’unió, digitacions, claus, etc., reben el nom de ‘Objectes de presentació’, sovint coneguts com ‘Objectes gràfics’, o abreujadament ‘Grobs’. Encara són objectes en el sentit genèric que hem mencionat, i també tots ells tenen propietats associades, com la seva posició, mida, color, etc.
Certs objectes de presentació són encara més especialitzats. Les lligadures de fraseig, els reguladors, les indicacions d’octava alta i baixa, i molts altres objectes gràfics on estan situats en un sol lloc: tenen un punt d’inici, un punt de final, i potser altres propietats relacionades amb la seva formam. Els objectes amb una forma estesa com aquests, reben el nom de «Objectes de extensió» o ‘Spanners’.
Encara falta per explicar que són les ‘Interfícies’. Molts
objectes, tot i ser força diferents, comparteixen funcionalitats
que s’han de processar de la mateixa manera. Per exemple, tots
els objectes gràfics tenen un color, una mida, una posició, etc.,
i totes aquestes propietats es processen de la mateixa forma
durant la interpretació del fitxer d’entrada per part del
LilyPond. Per simplificar aquestes operacions internes, aquestes
accions i propietats comuns s’agrupen en un objecte anomenat
grob-interface, interfície de grob. Hi ha moltes altres
agrupacions de propietats comuns com aquesta, i cada una rep un
nom que acaba en interface. En total hi ha més de 100
interfícies d’aquest tipus. Veurem més endavant perquè és
d’interès i d’utilitzar per a l’usuari.
Aquest són, doncs, els termes principals relatius als objectes que utilitzarem en aquest capítol.
Altres idiomes: English, česky, deutsch, español, français, italiano, 日本語, nederlands.
Quant a selecció automàtica de l'idioma.