Valentin Petzel <valen...@petzel.at> writes: > Hello David, > > if I understand this correctly the intent here is to have different staff > behaviour in one staff. I believe that there might be a more general concept > here. Instead of creating a new context and mechanic to set additional clefs, > maybe it would make sense to have a more general concept of say sub staves, > which would allow us to do the same thing for a more general set of staff > features? So instead of > > \extraClef #-3 "bass" ... > > one could have > > \new SubStaff { > \override SubStaff.Clef.Y-offset = #-3 > \clef "bass" > ... > } > > This should then allow for similar things such as multiple individual > handlings of Accidentals, multiple bar lines, key signatures, lines and > brackets, ...
Have you ever seen any of those? At the same point of time, a lot more needs to be done for an extra clef than setting the Y-offset . In terms of implementation, it would be possible to split much of the work into a neutral "SubStaff" and context mod, like doing \new SubStaff \with \ExtraClef #-3 "violin" but this still does not deal with reseating the current Voice to the SubStaff and back afterwards, necessary for keeping beams and slurs operative. So there would need to be separate commands for that. So instead of a targeted end-user feature limited to clefs, we are talking about some fuzzy generic framework requiring an expert to cater for the particular common use case. There is something to be said for a more generic name/feature such as SubStaff in terms of the context hierarchy, moving the necessary fixed mods into a context mod. -- David Kastrup