[ << Schnittstellen für Programmierer ] | [Anfang][Inhalt][Index][ ? ] | [ GNU Free Documentation License >> ] | ||
[ < Paarige Ersetzungsfunktionen ] | [ Nach oben : Musikalische Funktionen ] | [ Leere Funktionen > ] |
B.1.4 Mathematik in Funktionen
Musikalische Funktionen können neben einfachen Ersetzungen auch Scheme-Programmcode enthalten:
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 }
Dieses Beispiel kann auch umformuliert werden, um musikalische Ausdrücke zu integrieren:
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 }
[ << Schnittstellen für Programmierer ] | [Anfang][Inhalt][Index][ ? ] | [ GNU Free Documentation License >> ] | ||
[ < Paarige Ersetzungsfunktionen ] | [ Nach oben : Musikalische Funktionen ] | [ Leere Funktionen > ] |