Deutschsprachiges LilyPond-Forum

Allgemeine Fragen und Probleme => Fragen und Probleme aller Art => Thema gestartet von: Manuela am Donnerstag, 29. August 2019, 21:58

Titel: markup-command mit pitch als Parameter
Beitrag von: Manuela am Donnerstag, 29. August 2019, 21:58
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?
Titel: Antw:markup-command mit pitch als Parameter
Beitrag von: Malte am Freitag, 30. August 2019, 09:56
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.
Titel: Antw:markup-command mit pitch als Parameter
Beitrag von: Manuela am Freitag, 30. August 2019, 12:49
Danke Malte, so etwas ähnliches wollte ich. Auf die Idee mit der doppelten Raute wäre ich nicht gekommen