I'm typesetting a piece where a singer alternates between singing and playing maracas while never doing both at the same time.

I would like to use a single stave and make an instrument switch using \addInstrumentDefinition and \instrumentSwitch, but the documentation on it isn't terribly expansive. For instance, there is only this example:

\addInstrumentDefinition #"contrabassoon"
  #`((instrumentTransposition . ,(ly:make-pitch -1 0 0))
     (shortInstrumentName . "Cbsn.")
     (clefGlyph . "clefs.F")
     (middleCPosition . 6)
     (clefPosition . 2)
     (instrumentCueName . ,(make-bold-markup "cbsn."))
     (midiInstrument . "bassoon")) 

Which leaves the question open on the complete list of parameters (i.e. "context properties and values") the syntax etc. --In my case: Is there a way to change to DrumStaff? How do I set the drumStyleTable? etc.

If it is impossible to go back and forth between Staff and DrumStaff with this method, is there another method that allows this? If not, I might follow the solution suggested in How to make unpitched percussion and a pitched instrument share a staff in LilyPond?

Thanks very much

1 Answer 1


I think the documentation has been mostly removed because it just is easier to create some music with overrides in it.

That approach obviously would have no problems including staff changes, while addInstrumentDefinition by principle cannot include anything you cannot achieve via setting context properties.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.