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