Я пытаюсь написать функции в Lilypond, которые принимают аккорд (или список высот) в качестве аргумента и возвращают музыку с указанным аккордом, вставленным в ритм.Более конкретно, я бы хотел, чтобы функция вызывалась следующим образом:
\chordFunction <c ef f af>
% or
\chordFunction #'(c ef f af)
и возвращала код Лилипонда следующим образом:
\tuplet 3/2 {<c ef f af>4 <c ef f af>8~} <c ef f af>2
Я пытался
jazzsyncoA =
#(define-music-function
(parser location chord)
(symbol-list-or-music?)
#{
\tuplet 3/2 {$<chord>4 $<chord>8~} $<chord>2
#}
)
, но это выдает
error: GUILE signaled an error for the expression beginning here
\tuplet 3/2 {$
<chord>4 $<chord>8~} $<chord>2
вместе с другими ошибками при попытке вызова.Как мне написать функции для достижения этой цели?Я неправильно подхожу к проблеме?
Я смотрел в документах
Lilypond по предикатам предопределенного типа , но я не могу распознать какое-либо потенциальное использование.