Success! Thank you for the fast response.
Your \layout with
\context { \Staff \RemoveEmptyStaves }
works as expected, but you want to remove _DrumStaff_, add.
\context { \DrumStaff \RemoveEmptyStaves }
I was thinking of a DrumStaff as a sub-type of staff.
As long as I think of Staff, DrumStaff, RhythmStaff, GrandStaff, etc as separate objects, this makes sense.
Your
#(define perc '(
(triangle default #f 2)
(cymbals default #f 0)
(tamtam default #f -2)
))
redefines
perc = {\drummode { tri4 cymc4 tt4 R2.} }
Yup. Too early in the morning!
GRB