Kieren MacMillan <[email protected]> writes:

> Hi all,
>
> Given
>
> \version "2.21"
> { \omit Script c''1^\fermata_\espressivo }
>
> obviously both Script grobs will be omitted; same, of course, with
>
> \version "2.21"
> \layout { \context { \Score \omit Script } }
> { c''1^\fermata_\espressivo }
>
> Is there a way (e.g., via callback or improved \omit function
> definition) to make \omit more surgical? For example, can one
> effectively say
>
>     \omit #'(fermata) Script
>
> so that only fermatas get omitted?
>
> Thanks,
> Kieren.

Sort of butt-ugly:

\version "2.21"
\layout {
  \context { \Score
	     \override Script.stencil =
	     #(grob-transformer 'stencil
				(lambda (grob default)
				  (and (not (string=?
					     (ly:event-property (event-cause grob)'articulation-type)
					     "fermata"))
				       default)))
	   }
}

{ c''1^\fermata_\espressivo }

-- 
David Kastrup

Reply via email to