Incluir digitaciones adicionales con Scheme

Se pueden añadir elementos adicionales a las notas usando map-some-music. En este ejemplo se ajunta una inscripción adicional a una nota.

En general se debe efectuar primero un \displayMusic de la música que queremos crear, para ver su estructura. Más tarde, podemos usar esto como plantilla para nuestro código de Scheme.

addScript =
#(define-music-function (script music) (ly:event? ly:music?)
   (map-some-music
    (lambda (mus)
      (define (append-script-at! prop)
        (set! (ly:music-property mus prop)
              (append (ly:music-property mus prop)
                      (list (ly:music-deep-copy script))))
        mus)

      (case (ly:music-property mus 'name)
        ((EventChord)
         (append-script-at! 'elements))
        ((NoteEvent)
         (append-script-at! 'articulations))
        (else #f)))
    music))

{
  \addScript _6 { c'4-3 <c' e' g'> }
}
[image of music]

LilyPond snippets v2.25.34 (development-branch).