Hallo,
ich hätte gerne eine event function, die mal ein TextScriptEvent zurückgibt, mal nichts. Geht das und wenn ja, was ist „nichts“ bei events? Eine music function kann ja die halbwegs leere music expression #{ #} zurückgeben, aber das geht hier natürlich nicht. Mein nächster Versuch '() auch nicht.
\version "2.19.25"
comment =
#(define-event-function (text) (string?)
(if (ly:get-option 'point-and-click)
(make-music 'TextScriptEvent
'text text)
'()))
{ c'1 \comment "bla" }
Edit: Es gibt ein post-event namens PostEvents. Das ist mit dem folgenden schönen Kommentar versehen: „Container for several postevents. This can be used to package several events into a single one. Should not be seen outside of the parser.“ Klingt also, als sollte/dürfte ich das nicht verwenden und es könnte was kaputt gehen, oder? Sonst wär das nämlich ganz einfach: (make-music 'PostEvents) zurückgeben. Aber vielleicht gibts ja noch eine bessere Variante?