| [ << Interfaces for programmers ] | [Arriba][Índice general][Índice][ ? ] | [ Literature list >> ] | ||
| [ < Scheme procedures as properties ] | [ Subir : Interfaces for programmers ] | [ Difficult tweaks > ] | ||
6.7 Using Scheme code instead of \tweak
La principal desventaja de \tweak es su inflexibilidad
sintáctica. Por ejemplo, lo siguiente produce un error de sintaxis.
F = \tweak #'font-size #-3 -\flageolet
\relative c'' {
c4^\F c4_\F
}
En otras palabras, \tweak no se comporta como una articulación
en cuando a la sintaxis; concretamente, no se puede adjuntar con
^ y _.
Usando Scheme, se puede dar un rodeo a este problema. La ruta hacia
el resultado se da en Adding articulation to notes (example),
especialmente cómo usar \displayMusic como guía de ayuda.
F = #(let ((m (make-music 'ArticulationEvent
'articulation-type "flageolet")))
(set! (ly:music-property m 'tweaks)
(acons 'font-size -3
(ly:music-property m 'tweaks)))
m)
\relative c'' {
c4^\F c4_\F
}
Aquí, las propiedades tweaks del objeto flageolet m
(creado con make-music) se extraen con
ly:music-property, se antepone un nuevo par clave-valor para
cambiar el tamaño de la tipografía a la lista de propiedades con la
función de Scheme acons, y finalmente el resultado se escribe
de nuevo con set!. El último elemento del bloque let es
el valor de retorno, el propio m.
| [ << Interfaces for programmers ] | [Arriba][Índice general][Índice][ ? ] | [ Literature list >> ] | ||
| [ < Scheme procedures as properties ] | [ Subir : Interfaces for programmers ] | [ Difficult tweaks > ] | ||
Other languages: English.