lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Splitting Staves


From: David Kastrup
Subject: Re: Splitting Staves
Date: Thu, 06 Feb 2020 15:10:04 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)

Valentin Petzel <address@hidden> writes:

> Hello,
>
> As it is I think one of the important features missing in Lilypond is the 
> ability to split one staff into multiple staves, which is a feature quite 
> nescessary for orchestral and choral settings. There is an ”official“ hack to 
> do 
> it by using different staves and switching context, but this is neighter 
> beautyful nor useful in large settings and it bears the problem that one 
> needs 
> to manually specify all these splits, including System breaks &c.

Take a look at input/regression/divisi-staves.ly : that at least
showcases some low-level interfaces/hooks for implementing that sort of
functionality.  It doesn't really constitute a user interface, though.

> So what I want to work on is some sort of ”Splittable Staff“. Main specs 
> should 
> be:
>
> → At any point in the Score a staff should be splittable
> → Splits can be denoted by a markup like divisi
> → If a split occurs within on system, one should have the choice between:
> →→ Extending the split to the whole system, doubling not split notes (as it’s 
> usually done)
> →→ Splitting the staff in the middle of the system, as sometimes done in more 
> complex scores.
> → There should be a penalty for having a longer split start or end in such a 
> way, that it eighter starts very late into the system or ends very early in 
> the system (leading to lots of duplicated stuff)
> → One should be able to specify brackets for splits
> → One should be able to specify if a split will occur only at a barline 
> (potentially doubling stuff) of at any point
> → There should be a way to make Voices work nicely with splits (so if you 
> split four Voices 1,2,3,4 from high to low into 1,2 and 3,4 they should 
> automatically be remapped to the voice configurations 1,3,4,2 when together, 
> and 1,2 and 1,2 when split.
> → It should be possible to do nested splits
> → It should be possible to specify Instrument names for split Staves
>
> I have thought up a way one could specify this, but I do not have time to 
> elaborate it here, so I will probably follow up on this.
>
> Now, for the gist of my question: I’m very well versed with the Lilypond 
> codebase, so I appreciate if someone could give me a few directions, what 
> parts I should study to get into the right direction.

See above for some low-level hooks, but the rest will be a bunch of
programming work including juggling contexts and both split and
condensed versions typeset in parallel.

-- 
David Kastrup



reply via email to

[Prev in Thread] Current Thread [Next in Thread]