Ich dachte, dieses Thema gibt es schon, kann es jedoch trotz aller Suche nicht finden.
Wenn ich versuche, eine Tonhöhe als Parameter an ein Markup-Kommando zu übergeben, scheitere ich.
\version "2.19.82"
#(define-markup-command (pitch-string layout props p) (ly:pitch?)
(interpret-markup layout props
#{ \markup "tu irgendwas "
#}))
\markup \pitch-string #(ly:make-pitch 0 0 0) % funktioniert
\markup \pitch-string c' % funktioniert nicht
Ist ja auch irgendwie klar, denn woher soll Lilypond wissen, dass c ein Pitch und kein Text sein soll. Die funktionierende Methode ist aber ziemlich umständlich, geht es nicht einfacher?
Ich nehme an, mit ,,einfacher" meinst du, daß man auf ly:make-pitch verzichtet, um fis'' statt unintuitiv (ly:make-pitch 1 3 1/2) schreiben zu können?
Was funktioniert, ist\markup \pitch-string ##{ c' #}
Das erste # schaltet um in Scheme-Syntax, von da aus #{ wieder zurück in LilyPond-Syntax.
Danke Malte, so etwas ähnliches wollte ich. Auf die Idee mit der doppelten Raute wäre ich nicht gekommen