[ << Tutorial de l’Scheme ] | [Top][Contents][Index] | [ Interfícies per a programadors >> ] |
[ < Cadenes de llistes-A ] | [ Up: Scheme dins del LilyPond ] | [ Construir funciones complicadas > ] |
A.2.7 Representació interna de la música
Internament, la música es representa com una llista de l’Scheme. la llista conté diversos elements que afecten a la sortida impresa. L’anàlisi sintàctica és el procés de convertir la música de la representació d’entrada del LilyPond a la representació interna de l’Scheme.
Quan s’analitza una expressió musical, es converteix en un conjunt d’objectes musicals de l’Scheme. La propietat definitòria d’un objecte musical és que ocupa un temps. El temps que ocupa s’anomena duració. Les duracions s’expressen com un nombre racional que mesura la longitud de l’objecte musical en rodones.
Un objecte musical té tres classes de tipus:
- nom musical: Cada expressió musical té un nom. Per exemple, una
nota porta a un NoteEvent, i
\simultaneous
porta a una SimultaneousMusic. Hi ha una llista de totes les expressions disponibles al manual de funcionament intern, sota l’epígraf Music expressions. - ‘type’ (tipus) o interfície: Cada nom musical té diversos
‘tipus’ o interfícies, per exemple, una nota és un
event
, pero también es unnote-event
, unrhythmic-event
, i unmelodic-event
. Totes les classes de música estan llistades en el manual de Referència de funcionament intern, sota l’epígraf Music classes. - objecte de C++: Cada objecte està representat per un objecte de la
classe
Music
de C++.
La informació real d’una expressió musical s’emmagatzema en
propietats. Per exemple, un NoteEvent té propietats
pitch
i duration
que emmagatzemen l’altura i la
duració d’aquesta nota. HI ha una llista de totes les propietats
disponibles al manual de Referència de funcionament intern, sota
l’epígraf Music properties.
Una expresión musical compuesta es un objeto musical que contiene
otros objetos musicales dentro de sus propiedades. Se puede
almacenar una lista de objetos dentro de la propiedad
elements
de un objeto musical, o un único objeto musical
‘hijo’ dentro de la propiedad element
. Por ejemplo,
SequentialMusic tiene su hijo dentro de
elements
, y GraceMusic tiene su argumento
único dentro de element
. El cuerpo de una repetición se
almacena dentro de la propiedad element
de
RepeatedMusic, y las alternativas dentro de
elements
.
[ << Tutorial de l’Scheme ] | [Top][Contents][Index] | [ Interfícies per a programadors >> ] |
[ < Cadenes de llistes-A ] | [ Up: Scheme dins del LilyPond ] | [ Construir funciones complicadas > ] |