Hi,
Well, I would say it depends on what you intend to
do. Help out in implementing this particular feature?
The StaffCollection ancestor to StaffGroup might be
a good first contribution. For completeness you could
also add the intermediate type StaffMonoid.
I already have this ready in a branch, along with some cleanup of
ly/engraver-init.ly (but didn't feel much of a hurry to create a merge
request).
But I'm at a bit of a loss about your notion of a StaffMonoid. All sorts
of math puns aside (a CommutativeStaffRing of nonzero characteristic
especially for engraving _Le Spec de la Rose_ by Berlioz) - what do you
mean by a StaffMonoid?
To be clear: I have a StaffCollection such that the definition of
StaffGroup boils down to
\context {
\StaffCollection
\name "StaffGroup"
\consists "Span_bar_engraver"
\consists "Span_bar_stub_engraver"
\consists "System_start_delimiter_engraver"
systemStartDelimiter = #'SystemStartBracket
%% The default for DynamicText.extra-spacing-width causes dynamics to
%% be placed across span bars, so switch it off:
\override DynamicText.extra-spacing-width = ##f
}
(and I still wasn't sure if the Span_arpeggio_engraver should be in
StaffCollection or rather in StaffGroup).
So StaffMonoid, if it's not meant as a joke, should be some subset of this?
https://gitlab.com/lilypond/lilypond/-/issues?scope=all&state=opened&label_name[]=Doc
Now if what you want is really coding, there are
heaps of open issues waiting for you. Here are a
few that I believe (NB no warranty) would be feasible
for a power user with some minimal understanding of
Scheme:
Wow, this is very valuable. Thanks much for this list!
Lukas
PS. And also thanks for the comments on the Instrument_name_engraver;
I'm afraid I won't have time before the weekend to really think about
your comments.