Rok Kršmanc <rok.krsm...@gmail.com> writes:

> Hi!
>
> I would like to write a function for the next music expression:
> \once \override TextScript.extra-offset = #'(0 . 1)
> c^"o"
>
> Here is my try:
> f =
> #(define-music-function (parser location offset music)
>   (number? ly:music?)
>   #{
>     \once \override TextScript.extra-offset = #'(0 . $offset)
>     $music ^"o"
>   #})
>
> When I call this function:
> \f #1 c
>
> I get syntax error:
> unexpected '^'
>
> What am I doing wrong?

First it seems like a bad idea to redefine \f ("forte").  But the main
problem is that an expression like $music cannot take articulations
(this has been ameliorated to some degree in current development, likely
appearing as 2.21 eventually).

You can achieve about the same effect with << $music <>-"o" >> namely
putting the articulation instead on a simultaneously executing empty
chord.

-- 
David Kastrup

_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to