Next: Void functions, Previous: Paired substitution functions, Up: Music functions
Music functions can involve Scheme programming in addition to simple substitution,
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
}
{ c'2 \AltOn #0.5 c'4 c'
\AltOn #1.5 c' c' \AltOff c'2 }
This example may be rewritten to pass in music expressions,
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 #})
{ c'2 \withAlt #0.5 {c'4 c'}
\withAlt #1.5 {c' c'} c'2 }
Next: Void functions, Previous: Paired substitution functions, Up: Music functions
This page is for LilyPond-2.10.33 (stable-branch).