[ << Trucar la salida ] | [Top][Contents][Index] | [ Plantillas >> ] |
[ < Introducción al trucaje ] | [ Up : Elementos de trucaje ] | [ Convenciones de nombres de objetos y propiedades > ] |
5.1.2 Objetos e interfaces
El trucaje consiste en modificar el funcionamiento y estructura interna del programa LilyPond, por lo que en primer lugar introduciremos algunos términos que se usan para describir dichas operaciones y estructuras internas.
El término ‘Objeto’ es un término genérico que se usa para
referirse a la multitud de estructuras internas que LilyPond
construye durante el procesado de un archivo de entrada. Así,
cuando se encuentra una instrucción como \new Staff
, se
construye un objeto nuevo del tipo Staff
. Entonces, este
objeto Staff
contiene todas las propiedades asociadas con
ese pentagrama en particular, por ejemplo, su nombre y su
armadura, además de otros detalles de los grabadores que se han
asignado para que operen dentro del contexto del pentagrama. De
forma similar, hay objetos que guardan las propiedades de todos
los demás contextos, como objetos de Voice
, objetos de
Score
, objetos de Lyrics
, así como objetos que
representan todos los elementos notacionales como líneas
divisorias, cabezas de las notas, ligaduras, indicaciones
dinámicas, etc. Cada objeto tiene su propio conjunto de valores
de propiedad.
Ciertos tipos de objetos reciben nombres especiales. Los objetos que representan elementos de notación sobre la salida impresa como cabezas de notas, plicas, ligaduras de expresión y de unión, digitaciones, claves, etc. reciben el nombre de ‘Objetos de presentación’, a menudo conocidos como ‘Objetos gráficos’, o abreviadamente ‘Grobs’. Aún son objetos en el sentido genérico que hemos mencionado, y también todos ellos tienen propiedades asociadas, como su posición, tamaño, color,etc.
Ciertos objetos de presentación son aún más especializados. Las ligaduras de fraseo, los reguladores, las indicaciones de octava alta y baja, y muchos otros objetos gráficos no están situados en un solo lugar: tienen un punto de inicio, un punto de final, y quizá otras propiedades relacionadas con su forma. Los objetos con una forma extendida como estos, reciben el nombre de «Objetos de extensión» o ‘Spanners’.
Los «spanners» no se pueden trucar después de haberse creado.
Ello incluye tanto a StaffSymbol
como a
LedgerLineSpanner
, que continúan a lo largo de toda la
partitura (excepto si se les da fin con la instrucción
\stopStaff
y se vuelven a crear con la instrucción
\startStaff
.
Es más, existen objetos gráficos ‘abstractos’ que no impriman
nada por sí mismos, sino que más bien recopilan, posicionan y
gestionan a otros objetos gráficos. Los ejemplos usuales son
DynamicLineSpanner
, BreakAlignment
,
NoteColumn
, VerticalAxisGroup
,
NonMusicalPaperColumn
y similares. Más tarde veremos cómo
se usan algunos de ellos.
Aún falta por explicar qué son los ‘Interfaces’. Muchos
objetos, incluso aunque son bastante diferentes, comparten
funcionalidades que se deben procesar de la misma manera. Por
ejemplo, todos los objetos gráficos tienen un color, un tamaño,
una posición, etc., y todas estas propiedades se procesan de la
misma forma durante la interpretación del archivo de entrada por
parte de LilyPond. Para simplificar estas operaciones internas,
estas acciones y propiedades comunes se agrupan en un objeto
llamado grob-interface
, interface de grob. Hay muchas
otras agrupaciones de propiedades comunes como ésta, y cada una
recibe un nombre que acaba en interface
. En total hay más
de 100 interfaces de éstos. Veremos más adelante porqué esto es
del interés y de utilidad para el usuario.
Estos son, en fin, los términos principales relativos a los objetos que vamos a utilizar en este capítulo.
[ << Trucar la salida ] | [Top][Contents][Index] | [ Plantillas >> ] |
[ < Introducción al trucaje ] | [ Up : Elementos de trucaje ] | [ Convenciones de nombres de objetos y propiedades > ] |