Federico Bruni <[email protected]> writes:

> Hi David,
>
> thanks for the hint
>
> Il 24/10/2011 23:12, David Kastrup ha scritto:
>> systemgrace = #grace
>> grace = #(define-music-function (parser location m)
>>              #{ \tag #'grace \systemgrace $m #})
>>
>> Then define your music in \mymusic as usual (it will use the changed
>> version of \grace).  When you want the version without graces, call the
>> music with \removeTag #'grace \mymusic.
>>
>> Something like that.
>
> you probably meant \removeWithTag

Yup.

> grace = #(define-music-function (parser location m)
>             #{ \tag #'grace \systemgrace $m #})

Well, the real surprise here is the absence of a syntax error.  The type
signature is missing after the argument list.  If you add (ly:music?)
after (parser location m), the example compiles and does what you want.
It would require a thorough analysis to understand just _what_ this
definition actually does without that.

Of course, it complains about not being able to end the slur that
started inside of the grace note.

-- 
David Kastrup


_______________________________________________
lilypond-user mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to