| [ << Tutorial de l’Scheme ] | [Top][Contents][Index] | [ Interfícies per a programadors >> ] |
| [ < Cadenes de llistes-A ] | [ Up: Scheme dins del LilyPond ] | [ Construcció de funcions complicades > ] |
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
\simultaneousporta 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, però també és 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
Musicde 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 expressió musical composta és un objecte musical que conté
d’altres objectes musicals dins de les seves propietats. Es pot
emmagatzemar una llista d’objectes dins de la propietat
elements. Per exemple, SequentialMusic té el
seu fill dins de elements, i GraceMusic té el
seu argument únic dins de element. El cos d’una repetició
s’emmagatzema dins de la propietat element de
VoltaRepeatedMusic, i les alternatives dins de
elements.
| [ << Tutorial de l’Scheme ] | [Top][Contents][Index] | [ Interfícies per a programadors >> ] |
| [ < Cadenes de llistes-A ] | [ Up: Scheme dins del LilyPond ] | [ Construcció de funcions complicades > ] |