Phil Holmes <m...@philholmes.net> writes:

>> I'm not top posting
>
> I'm typesetting quite a bit of mensural music, and using the same music 
> source for both mensural and modern.  The mensural rests tend to be 
> pitched and the modern ones aren't.  So I often have to use the following 
> as input:
>
> \tag #'mens { f2 \rest } \tag #'mod { r2 } 
>
> and then I typeset the mensural version with \keepWithTag #'mens.  I 
> thought it would be easier if I could have a music function that would 
> emit the tagged version from a function call; something like:
>
> \menrest { f2 }
>
> would provide the output shown above.  I'm falling at the first hurdle of 
> getting the pitched rest: 
>
> menrest = #(define-music-function
>   (parser location noteval )
>   (ly:music?)
> #{
>   \tag #'mens { #noteval \rest } \tag #'mod { #noteval }
> #})
>
> gives the error "unexpected \rest".  And of course the second expression 
> only gives the note currently.
>
> Could anyone point out the way forward, please?

Perhaps something like
menrest = #(define-music-function (parser location note)
  (ly:music?)
#{
	    \tag #'mens $(make-music 'RestEvent note)
	    \tag #'mod $(make-music 'RestEvent note 'pitch '())
#})

\displayLilyMusic \menrest f2

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

Reply via email to