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)

\version "2.11.35"


fluteOne = \new Voice {
        \relative c'' {
        \set Staff.instrumentName = "1 "

\tag #'score { s1*0_\markup { \translate #'(-19 . -6) \lower #1.5 Flutes } R1 }
        \tag #'part R1

        R1*3 \bar "|."

}}

fluteTwo = \new Voice {
        \relative c'' {
        \set Staff.instrumentName = "2 "

        R1*4 \bar "|."

}}

oboe = \new Voice {
        \relative c' {
        \set Staff.instrumentName = "Oboe "

        R1*4 \bar "|."

}}

clarinetOne = \new Voice {
        \transpose bes c' \relative c' {
        \set Staff.instrumentName = " 1 "

\tag #'score { s1*0_\markup { \translate #'(-28 . -2) "Clarinets in B" \lower #1.5 \flat } R1 }
        \tag #'part R1

        R1*3 \bar "|."

}}

clarinetTwo = \new Voice {
        \transpose bes c'
        \relative c' {
        \set Staff.instrumentName = " 2 "

        R1*4 \bar "|."

}}

bassoon = \new Voice {
        \relative c' {
        \set Staff.instrumentName = "Bassoon "
        \clef bass

        R1*4 \bar "|."

}}

violincello = \new Voice {
        \relative c {
        \set Staff.instrumentName = "Violincello "
        \clef bass

        << { s1*4 } \\ { \tiny d4.\pp^\markup { Bass soli, pizz. } d8 a4 a4
        d4. d8 a4 a4    
        d4. d8 a4 a4    
        d4 a'8 bes a g f e}  >> \normalsize
        \bar "|."

}}

bass = \new Voice {
        \relative c {
        \set Staff.instrumentName = "Contrabass "
        \clef bass

        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 ))

                        \new Staff << \removeWithTag #'part \keepWithTag #'score 
\fluteOne >>
                        \new Staff << \removeWithTag #'part \keepWithTag #'score 
\fluteTwo >>
                        \new Staff << \removeWithTag #'part \keepWithTag #'score 
\oboe >>
\new Staff << \removeWithTag #'part \keepWithTag #'score \clarinetOne >> \new Staff << \removeWithTag #'part \keepWithTag #'score \clarinetTwo >>
                        \new Staff << \removeWithTag #'part \keepWithTag #'score 
\bassoon >>
        >>
                \new StaffGroup <<

\new Staff << \removeWithTag #'part \keepWithTag #'score \violincello >>
                        \new Staff << \removeWithTag #'part \keepWithTag #'score 
\bass >>
                >>
        >>

        \layout {
                \context {
                        \Staff
                                \override TimeSignature #'style = #'numbered
                } % closes context
        } %closes layout
} %closes score

%snippet ends
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to