[Top][All Lists]

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

Re: repeating bar numbers and rehearsal marks in frenched score

From: Mark Knoop
Subject: Re: repeating bar numbers and rehearsal marks in frenched score
Date: Sun, 31 Jul 2016 19:43:32 +0100

On 29/07/16 18:09, Mark Knoop wrote:
> I still think the easiest and most logical way to do this is with
> the Keep_alive_together_engraver.
> Prior to the fix for issue 3518 (support for temporary divisi
> staves), the Keep_alive_together_engraver was useful only in
> Frenched scores, i.e. in conjunction with \RemoveEmptyStaves - one
> doesn't need to keep things alive together if they are alive all the
> time.
> The introduction of the VerticalAxisGroup.remove-layer property
> created a usage of the Keep_alive_together_engraver in an
> un-Frenched score, indeed in the current state the layer with the
> highest score can't include \RemoveEmptyStaves as it would then
> never appear. See attached expansion of the divisi-staves regtest.

OK. Attached are two patches and a test case. The patches are two
alternate methods of approaching the problem.

Keep a staff alive with multiple layers

This changes the remove-layer property to number-or-pair? such that a
list of values can be specified. The layer will remain alive with any
other layer whose remove-layer value is in the list.

Keep a staff alive until it is alone in the group

This patch uses a new boolean property remove-orphan which keeps the
staff alive while any other is alive.

The list approach is a little fancier and creates more options, but the
dedicated property is simpler.

Unfortunately I haven't been able to solve the problem of being able to
use remove-empty with the highest value remove-layer staff. I think this
will have to happen in Hara_kiri_group_spanner::request_suicide but
can't quite figure out the appropriate logic yet.

Any comments on these approaches would be greatly appreciated.

Thanks, Mark

Mark Knoop

Attachment: 0001-Keep-a-staff-alive-with-multiple-layers.patch
Description: Text Data

Attachment: 0001-Keep-a-staff-alive-until-it-is-alone-in-the-group.patch
Description: Text Data

Description: Text Data

reply via email to

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