Foremost, a BIG thank-you to everyone who has written, developed, tweaked, and improved Lilypond and to everyone who has answered questions on the Lilypond Users Group.
I am preparing a score in Lilypond for full orchestra and want to use my customary layout (system starts, naming, etc.).
In particular I want to name groups of instruments by family, say Clarinets in Bb, and then individually name each staff (vertically) 1 and 2. I want to be able to freely assign a "family-group-instrument-name" to any number of staves (say 5 percussion staves). I do not want to create staff groups for each family. I have succeeded in making a tweak using various markup commands. But, I am very dissatisfied with the process and the result.
1. My entire tweak is a kludge.
2. The tweak is not logical. I am using text commands to create a "familyGroupStaffScoreInstrumentName".
3. The layout is imperfect despite my best efforts to tweak positioning by eye.
4. The layout must be modified if I change the line-width (which I often do in making final layout decisions).
5. I must tag and filter the tweak for score and parts.
6. I had to create a fictitious spacing (s1*0) to use the markup text commands. (The rests are necessary in the Ur-piece.)
Questions: Is there a better, easier, more logical, more consistent solution with better layout?
Have I missed a staff-group command for nestled groups (but using the system start delimiters of my choice)?
I am enclosing a minimal excerpt from my score (just woodwinds and two strings). I am a pencil and paper composer trying to make the transition to digital engraving. I don't really understand Lilypond or Scheme --- I usually solve my problems by perspiration and reading the archives --- so please be simple and detailed in any replies. Much obliged.
%snippet begins (Six woodwinds and Two strings in two StaffGroup s)
d4.\pp^"pizz." d8 a4 a4
d4. d8 a4 a4
d4. d8 a4 a4
d4 a'8 bes a g f e \bar "|."
}}
\paper {
indent = 20.0\mm
line-width=170.0\mm
}
\score {
<<
\new StaffGroup <<
\set StaffGroup.systemStartDelimiterHierarchy =
#'(SystemStartBracket (SystemStartSquare a b ) c (SystemStartSquare d e ))