markup-command mit pitch als Parameter

Begonnen von Manuela, Donnerstag, 29. August 2019, 21:58

« vorheriges - nächstes »

Manuela

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?
Danke für eure Hilfe
viele Grüße
-- Manuela

Malte

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.

Manuela

Danke Malte, so etwas ähnliches wollte ich. Auf die Idee mit der doppelten Raute wäre ich nicht gekommen
Danke für eure Hilfe
viele Grüße
-- Manuela