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