B.3.5 Matemáticas dentro de las funciones

Las funciones musicales pueden contar con programación de Scheme además de la simple sustitución:

AltOn =
#(define-music-function
     (parser location mag)
     (number?)
   #{
     \override Stem #'length = #(* 7.0 mag)
     \override NoteHead #'font-size =
       #(inexact->exact (* (/ 6.0 (log 2.0)) (log mag)))
   #})

AltOff = {
  \revert Stem #'length
  \revert NoteHead #'font-size
}

\relative c' {
  c2 \AltOn #0.5 c4 c
  \AltOn #1.5 c c \AltOff c2
}

[image of music]

Este ejemplo se puede reescribir de forma que pase expresiones musicales:

withAlt =
#(define-music-function
     (parser location mag music)
     (number? ly:music?)
   #{
     \override Stem #'length = #(* 7.0 mag)
     \override NoteHead #'font-size =
       #(inexact->exact (* (/ 6.0 (log 2.0)) (log mag)))
     #music
     \revert Stem #'length
     \revert NoteHead #'font-size
   #})

\relative c' {
  c2 \withAlt #0.5 { c4 c }
  \withAlt #1.5 { c c } c2
}

[image of music]


Otros idiomas: English, deutsch, français.
Acerca de la selección automática del idioma.

LilyPond — Extender