lilypond-devel
[Top][All Lists]
Advanced

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

Patch to Axis_group_engraver + Scheme engraver for staff combining


From: Saul Tobin
Subject: Patch to Axis_group_engraver + Scheme engraver for staff combining
Date: Wed, 6 Mar 2019 20:57:07 -0800

Hi all,

I posted some earlier versions of this Scheme engraver to the user list. It
provides an intuitive user interface to control whether shared or separate
staves are printed, and should work for combinations of 4 or more parts.
The examples are in the tests.ly file attached, while the engraver code is
in the divisi_engraver.ly file.

This engraver lives at the StaffGroup level and during process-music reads
from one context property, then writes to keepAliveInterfaces of each child
context. Because child contexts are evaluated first for process-music, in
order to get this to work I needed to patch Axis_group_engraver so that it
will wait to read keepAliveInterfaces and use the updated value.

Currently, Axis_group_engraver reads keepAliveInterfaces into an internal
variable during process-music, then uses the stored value during
acknowledge-grob. In the patched version, it waits to read
keepAliveInterfaces during acknowledge-grob. Reading the property every
grob is probably a performance hit, but I don't know how big.

Saul

Attachment: tests.ly
Description: Text Data

Attachment: axis_patch.patch
Description: Binary data

Attachment: divisi_engraver.ly
Description: Text Data


reply via email to

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