5.1.2 Objectes i interfícies (Manual d’aprenentatge del GNU LilyPond)

#### 5.1.2 Objectes i interfícies

L’ajustament consisteix en modificar el funcionament i estructure interna del programa LilyPond, per la qual cosa en primer lloc introduirem alguns termes que es fan servir per descriure aquestes operacions i estructures internes.

El terme ‘Objecte’ és un terme genèric que s’usa per referir-se A les múltiples estructures que el LilyPond construeix durant el processat d’un fitxer d’entrada. D’aquesta manera, quan es troba una instrucció com ara `\new Staff`, es construeix un objecte nou de tipus `Staff`. Aleshores, aquest objecte `Staff` conté totes les propietats associades amb aquest pentagrama en particular, per exemple, el seu nom i 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 tota la resta de contextos, com ara objectes de `Voice`, objectes de `Score`, objectes de `Lyrics`, així com objectes que representen tots els elements de notació 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 reguladores, les indicacions d’octava alta i baixa, i mols altres objectes gràfics no estan situats en un sol lloc: tenen un punt d’inici, un punt final, i un potser altres propietats relacionades amb la seva forma. Els objectes amb una forma estesa com aquests, reben el nom d’«objectes d’extensió» o ‘Spanners’.

Els «spanners» no es poden ajustar després d’haver-se creat. Això inclou tant a `StaffSymbol` com a `LedgerLineSpanner`, que continuen al llarg de tota la partitura (excepte si si se’ls dóna fi amb l’ordre `\stopStaff` i es tornen a crear amb l’ordre `\startStaff`.

Encara més, hi ha objectes gràfics ‘abstractes’ que no imprimeixen res per sí mateixos, sinó que en realitat el que fan és que recopilen, posicionen i gestionen a altres objectes gràfics. El exemples habituals són `DynamicLineSpanner`, `BreakAlignment`, `NoteColumn`, `VerticalAxisGroup`, `NonMusicalPaperColumn` i semblants. Més tard veurem com s’usen alguns d’ells.

Encara falta explicar què són les ‘Interfícies’. Molts objectes, tot i que són 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 comunes s’agrupen a un objecte anomenat `grob-interface`, interfície d’objecte gràfic. Hi ha moltes altres agrupacions de propietats comunes com aquesta, i cadascuna rep un nom que acaba en `interface`. En total hi ha més de 100 interfícies d’aquestes. Veurem més endavant perquè és interessant i d’utilitat per a l’usuari.

Aquests són, en definitiva, els termes principals relatius als objectes que utilitzarem a aquest capítol.

#### Manual d’aprenentatge del GNU LilyPond v2.26.0 (stable-branch).

- 1 Installing
  - 1.1 Graphical setup
  - 1.2 Command line setup
- 2 Tutorial
  - 2.1 Compilació d’un fitxer
  - 2.2 Com escriure fitxers d’entrada
    - 2.2.1 Notació senzilla
      - Altures
      - Duracions (valors rítmics)
      - Silencis
      - Indicació de compàs
      - Indicacions de tempo
      - Clau
      - Tot a l’hora
    - 2.2.2 Treball sobre els fitxers d’entrada
  - 2.3 Gestió dels errors
    - 2.3.1 Consells generals de solució de problemes
    - 2.3.2 Alguns errors comuns
  - 2.4 Com llegir els manuals
    - 2.4.1 Material omès
    - 2.4.2 Exemples amb enllaç
    - 2.4.3 Panoràmica dels manuals
- 3 Notació corrent
  - 3.1 Notació en un sol pentagrama
    - 3.1.1 Línies divisòries i comprovacions de compàs
      - Línies divisòries
      - Comprovacions de compàs
    - 3.1.2 Alteracions accidentals i armadures
      - Alteracions accidentals
      - Armadures
      - Advertiment: armadures i altures
    - 3.1.3 Lligadures d’unió i d’expressió
      - Lligadures d’unió
      - Lligadures d’expressió
      - Lligadures de fraseig
      - Advertiments: lligadures d’expressió en front a lligadures d’unió
    - 3.1.4 Articulacions i matisos dinàmics
      - Articulacions
      - Indicacions de digitació
      - Matisos dinàmics
    - 3.1.5 Addició de text
    - 3.1.6 Barres automàtiques i manuals
    - 3.1.7 Instruccions rítmiques avançades
      - Compàs parcial
      - Grups especials
      - Notes d’adorn
  - 3.2 Diverses notes a l’hora
    - 3.2.1 Explicació de les expressions musicals
      - Analogia: expressions matemàtiques
      - Expressions musicals simultànies: diversos pentagrames
      - Expressions musicals simultànies: un sol pentagrama
    - 3.2.2 Diversos pentagrames
    - 3.2.3 Grups de pentagrames
    - 3.2.4 Combinar notes per formar acords
    - 3.2.5 Polifonia a un sol pentagrama
  - 3.3 Cançons
    - 3.3.1 Elaborar cançons senzilles
    - 3.3.2 Alineació de la lletra a una melodia
    - 3.3.3 Lletra en diversos pentagrames
  - 3.4 Retocs finals
    - 3.4.1 Organitzar les peces mitjançant variables
    - 3.4.2 Afegir títols
    - 3.4.3 Noms de nota absoluts
    - 3.4.4 Més enllà del tutorial
- 4 Conceptes fonamentals
  - 4.1 Com funcionen els fitxers d’entrada del LilyPond
    - 4.1.1 Introducció a l’estructura dels fitxers del LilyPond
    - 4.1.2 La partitura és una (única) expressió musical composta
    - 4.1.3 Niuat d’expressions musicals
    - 4.1.4 Quant a la impossibilitat de niuar claus i lligadures
  - 4.2 Les veus contenen música
    - 4.2.1 Sento veus
    - 4.2.2 Veus explícites
    - 4.2.3 Veus i música vocal
  - 4.3 Contextos i gravadors
    - 4.3.1 Explicació dels contextos
    - 4.3.2 Creació de contextos
    - 4.3.3 Explicació dels gravadors
    - 4.3.4 Modificar les propietats dels contextos
    - 4.3.5 Afegir i eliminar gravadors
  - 4.4 Extensió de les plantilles
    - 4.4.1 Soprano i violoncel
    - 4.4.2 Partitura vocal a quatre veus SATB
    - 4.4.3 Crear una partitura partint de zero
    - 4.4.4 Estalvi de tecleig mitjançant variables i funcions
    - 4.4.5 Partitures i particel·les
- 5 Ajustament de la sortida
  - 5.1 Elements d’ajustament
    - 5.1.1 Introducció a l’ajustament
    - 5.1.2 Objectes i interfícies
    - 5.1.3 Convencions de noms d’objectes i propietats
    - 5.1.4 Mètodes d’ajustament
      - L’ordre `\override`
      - L’ordre `\revert`
      - El prefix `\once`
      - L’ordre `\overrideProperty`
      - L’ordre `\tweak`
      - El prefix `\single`
  - 5.2 Manual de referència de funcionament intern
    - 5.2.1 Propietats dels objectes de presentació
    - 5.2.2 Propietats de les interfícies
    - 5.2.3 Tipus de propietats
  - 5.3 Aparença dels objectes
    - 5.3.1 Visibilitat i color dels objectes
      - La propietat `stencil` (segell)
      - La propietat `break-visibility` (visibilitat del salt)
      - La propietat `transparent` (transparent)
      - La propietat `color`
    - 5.3.2 Mida dels objectes
    - 5.3.3 Longitud i gruix dels objectes
  - 5.4 Col·locació dels objectes
    - 5.4.1 Comportament automàtic
    - 5.4.2 Objectes interiors al pentagrama
      - La propietat `direction` (direcció)
      - Digitacions
    - 5.4.3 Objectes fora del pentagrama
      - La propietat `outside-staff-priority` (prioritat fora del pentagrama)
      - L’ordre `\textLengthOn`
      - Posicionament dels matisos dinàmics
      - Escalat d’un «Grob»
  - 5.5 Espaiat vertical
  - 5.6 Col·lisions d’objectes
    - 5.6.1 Moviment d’objectes
    - 5.6.2 Ajustament de la notació amb superposicions
      - La propietat `padding` (farciment))
      - La propietat `right-padding` (farciment per la dreta)
      - La propietat `staff-padding` (farciment de pentagrama)
      - La propietat `self-alignment-X` (auto-alineació en X)
      - La propietat `staff-position` (posició al pentagrama)
      - La propietat `extra-offset` (desplaçament addicional)
      - La propietat `positions` (posicions)
      - La propietat `force-hshift` (forçar desplaçament horitzontal)
    - 5.6.3 Exemple real de música
  - 5.7 Ajustaments addicionals
    - 5.7.1 Altres aplicacions dels ajustaments
      - Unió de notes entre veus diferents
      - Simulació de un calderó al MIDI
    - 5.7.2 Ús de variables per als ajustaments de disposició
    - 5.7.3 Fulls d’estil
    - 5.7.4 Altres fonts d’informació
    - 5.7.5 Ajustaments avançats amb l’Scheme
- Appendix A Plantilles
  - A.1 Plantilles incorporades
    - A.1.1 Plantilla coral SATB
    - A.1.2 Plantilla coral SSAATTBB
  - A.2 Plantilles de pentagrama únic
    - A.2.1 Sols notes
    - A.2.2 Notes i lletra
    - A.2.3 Notes i acords
    - A.2.4 Notes, lletra i acords
  - A.3 Plantilles de piano
    - A.3.1 Piano sol
    - A.3.2 Piano i melodia amb lletra
    - A.3.3 Piano amb lletra centrada
  - A.4 Plantilles de quartet de corda
    - A.4.1 Quartet de corda simple
    - A.4.2 Particel·les de quartet de corda
  - A.5 Plantilles de conjunts vocals
    - A.5.1 Partitura vocal SATB
    - A.5.2 Partitura vocal SATB i reducció per a piano automàtica
    - A.5.3 SATB amb contextos alineats
    - A.5.4 SATB sobre quatre pentagrames
    - A.5.5 Estrofes a sol y tornada a dues veus
    - A.5.6 Melodies d’himnes
    - A.5.7 Salms
  - A.6 Plantilles orquestrals
    - A.6.1 Orquestra, cor i piano
  - A.7 Plantilles per a notació antiga
    - A.7.1 Transcripció dfe música mensural
    - A.7.2 Plantilla per a transcripció de cant gregorià
  - A.8 Altres plantilles
    - A.8.1 Combo de jazz
- Appendix B GNU Free Documentation License
- Appendix C Índex