On Sat, 25 Jul 2020 at 05:28, David Sumbler <[email protected]> wrote:
>
> The only orchestral piece I have set in Lilypond until now was for 12
> strings and a couple of other instruments.  I had 2 versions of the
> strings material, one of which kept all of the parts on separate staves
> for the parts, and the other which combined them on to fewer staves
> (where appropriate) for the score.  This worked tolerably well: I wrote
> one version first, then copied and edited it to produce the other.  In
> simpler sections I could even make the necessary changes by using tags.
>
> But I feel that there must be a better way.  As I am now about to start
> on a work for full orchestra, I have been experimenting with having
> separate parts which can nonetheless be combined on to a single stave
> using \partCombine and its cousins. For instance, I have:
>
> instOne = {c'4 d' e' f' | g' a' b' c'' | d'' e'' f'' g''}
> instTwo = {a4 b c' d' | e' f' g' a' | b' c'' d'' e''}
> instScore = ?
>
> The form of instOne and instTwo would be correct for the parts.  I am
> looking for a way of writing instScore so that it combines the parts on
> to one staff in bar 2, while keeping them separate in bars 1 and 3.
> (Obviously this would be senseless here, but imagine that each bar
> represents a passage taking up a full page width or more.)
>
> Is this possible?  Or am I approaching this in completely the wrong
> way?
>
> David
>
>

I've been working on an old orchestral score of mine where flutes keep
swapping to piccolo etc. I have something like this, the attached files.
Being able to put variables in quotes is a godsend.

Vaughan
\version "2.20.0"

scorePart =
#(define-music-function
  (scoreMarkup partMarkup)
  (markup? markup?)
  #{ <<
    \tag #'removeFromPart { <>^#scoreMarkup }
    \tag #'removeFromScore { <>^#partMarkup }
     >>
  #}
  )

\paper {
  ragged-right = ##t
  left-margin = 3\cm
}

global = {
  \time 4/4
  \key c \major
  s1*5
  \bar "|."
}


"Fl1 1-4" = \relative c''' {
  c4 c c c |
  R1
  c8 b c b c b c b |
  R1
}

"Fl1 5-5" = \relative g'' {
  \tag #'removeFromPart <>^"Fl 1,2"
  g4 g g g |
}

"Fl2 1-4" = \relative g'' {
  g4 g g g |
  R1
  g4 g g g |
  R1
}

"Fl2 5-5" = \relative g'' {
  g4 g g g |
}

"Fl3 1-4" = \relative e'' {
  e4 e e e |
  R1
  e4 e e e |
  % scorePart takes two markups,
  % one for the score and one for the part
  \scorePart
  \markup \left-column { "Flute 3" "to piccolo" }
  "To piccolo"
  R1
}

"Fl3 5-5" = \relative b' {
  \transposition c'
  b4^"Piccolo"  b b b |
}

fluteOnePart = {
  \"Fl1 1-4"
  \"Fl1 5-5"
}

fluteTwoPart = {
  \"Fl2 1-4"
  \"Fl2 5-5"
}

fluteThreePart = {
  \"Fl3 1-4"
  \"Fl3 5-5"
}

\score {
  \new Staff
  \removeWithTag #'removeFromPart
  <<
    \global
    \fluteOnePart
  >>
  \layout {}
}

\score {
  \new Staff
  \removeWithTag #'removeFromPart
  <<
    \global
    \fluteTwoPart
  >>
  \layout {}
}

\score {
  \new Staff
  \removeWithTag #'removeFromPart
  <<
    \global
    \fluteThreePart
  >>
  \layout {}
}

flutesTop = \new Staff <<
  \global
  {
    \set Staff.instrumentName = "Fl. 1,2"
    \partcombine \"Fl1 1-4" \"Fl2 1-4"
    \break
    \set Staff.shortInstrumentName = "Picc"
    \"Fl3 5-5"
  }
>>

flutesBottom = \new Staff <<
  \global
  {
    \set Staff.instrumentName = "Fl. 3"
    \"Fl3 1-4"
    \break
    \set Staff.shortInstrumentName = "Fl. 1,2"
    \partcombine \"Fl1 5-5" \"Fl2 5-5"
  }
>>

\score {
  \removeWithTag #'removeFromScore
  \new StaffGroup
  <<
    \flutesTop
    \flutesBottom
  >>
  \layout {}
}

Attachment: flutes.pdf
Description: Adobe PDF document

Reply via email to