La notación musical abarca cerca de 500 años de música. Sus aplicaciones van desde las melodías monofónicas hasta contrapuntos monstruosos para grandes orquestas. ¿Cómo podemos tratar con semejante bestia? Nuestra solución es la de hacer una estricta distinción entre la notación, qué símbolos usar, y el grabado, donde colocarlos. Para atacar el problema de la notación, lo hemos partido en bloques más pequeños y fáciles de programar: cada tipo de símbolo se maneja por un plugin separado. Todos los plugins cooperan a través de la arquitectura de LilyPond. Los plugins son completamente modulares e independientes, por lo que cada uno puede ser desarrollado y mejorado por separado.
Este plugin, crea los objetos gráficos a partir de eventos musicales. La gente que crea imágenes gráficas a partir de ideas musicales son llamados copistas o grabadores, por lo que, por analogía, este plugin se llama Note_head_engraver.
Este grabador es notificado cuando viene una cabeza de nota. Cada vez que una cabeza (o más, para un acorde) es vista, se crea un objeto plica que se anexa a la cabeza de la nota.
El Accidental_engraver es el plugin más complejo: tiene que echarle una mirada a la armadura, las tonalidades, ligaduras y barras de compás para decidir cuando imprimir los accidentes.
En esta situación, los accidentes y el pentagrama se comparten, pero las plicas, ligaduras, barras, etc, son exclusivas de cada voz. Por lo tanto, los grabadores deberían ser agrupables, Los grabadores para cabeza, plica, ligadura, etc, van en un grupo llamado "Voice Context" (contexto de voz), mientras que los grabadores para armadura, accidentes, compás, etc. van en un grupo llamado "Staff Context" (contexto de pentagrama). En el caso de la polifonía, un sólo contexto de pentagrama, contiene más de un contexto de Voz, así mismo, un "Score Context" (contexto de partitura), puede contener muchos contextos de Pentagrama:
Siguiente: el arte del estampado: ¿Cómo hacían la música grabada a mano?