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

Reply via email to