1 %% Translation of GIT committish: 56145dfed8f19bb34459d5b40cab388776d2ec49
3 Internamente, una partitura de lilypond no es más que una expresión de
4 Scheme, generada por el analizador sintáctico de lilypond. Usando
5 Scheme, también podemos generar automáticamente una partitura sin
6 ningún archivo de entrada. Si tenemos la expresión musical en Scheme,
7 se puede generar la partitura simplemente llamando a (scorify-music
8 music parser) sobre la música. Así se genera un objeto partitura,
9 para el que podemos entonces fijar un bloque layout personalizado con
10 (let* ((layout (ly:output-def-clone $defaultlayout))) ; modificamos el
11 layout aquí, y después lo asignamos: (ly:score-add-output-def! score
15 Finalmente, todo lo que tenemos que hacer es pasar esta partitura a
16 lilypond para que realice la composición tipográfica. Este fragmento
17 de código define las funciones @code{(add-score parser score)},
18 @code{(add-text parser text)} y @code{(add-music parser music)} para
19 pasar una partitura completa, elementos de marcado o algo de música a
20 lilypond para su composición tipográfica.
22 Este fragmento de código también funciona para la tipografía de
23 partituras dentro de un bloque @code{\\book @{...@}}, así como
24 partituras normales del nivel superior jerárquico. Para conseguirlo,
25 cada una de las partituras destinadas a su tipografiado se añaden al
26 final de una lista de partituras del nivel superior jerárquico y se
27 modifica el toplevel-book-handler (que es una función de Scheme que se
28 llama para procesar un libro una vez que se ha cerrado el bloque
29 @code{\\book@{..@}}) para insertar todas las partituras así
30 coleccionadas al libro.
33 doctitlees = "Generación de partituras completas y partes de libro en Scheme sin usar el analizador sintáctico"