lilypond-user
[Top][All Lists]
Advanced

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

Re: Advice sought on making parts for string quartet


From: karl
Subject: Re: Advice sought on making parts for string quartet
Date: Wed, 13 Mar 2019 12:50:05 +0100 (CET)

...
> I cannot be the only person to need to deal with this. What's the best
> practice for making parts when using explicit page breaking?

So the question is, how do one handle, for a given set of music, 
varying requirements for line and page breaks ?

The way I handle it is to first split the lilypond code into two sets.
I'm using
 http://aspodata.se/git/musik/Guillaume_du_Fay/ave_regina_caelorum/
 http://aspodata.se/git/musik/Franz_Zaver_Brixi/heac_est_dies/
here to exemplify things.

One file (the .ily) with just the music and some defaults, e.g.:

musTen = \relative a {
  \key c \major

  \[ a\breve*3/2 \melisma | % 1
     g\breve \] f1  \melismaEnd | % 2
  e\breve*3/2 | % 3
  d\breve e1 | % 4
...
}

I.e. just the music put in variables.

Then I have realisation files, the .ly's, where I set e.g. paper and 
score things. In this I can also redefine the defaults set in the .ily 
file. In this example I have two of them ave_regina_caelorum.ly and
ave_regina_caelorum_alt.ly, which differ in the look, old or a somewhat 
more modern:
 
http://aspodata.se/choir/ensemble/2019-03-23/Guillaume_du_Fay_ave_regina_caelorum.pdf
 
http://aspodata.se/choir/ensemble/2019-03-23/Guillaume_du_Fay_ave_regina_caelorum_alt.pdf
or small typed (two pages) vs. big typed (three pages):
 http://aspodata.se/choir/osthammar/Brixi/

 http://aspodata.se/git/musik/bin/mkinstr.pl relieves my of much the 
 work writing staff things, which is much cut and paste.
 It generates the .instr_ily and .staff_ily files.)

///

Now regarding page and line breaks, I use a variable PS which is set
empty as default: PS = {} and usually that is sufficient, but in
 
http://aspodata.se/git/musik/Franz_Zaver_Brixi/heac_est_dies/heac_est_dies_big.ly
I want to put the page break in a proper place, like:

\include "heac_est_dies.ily"
PS = \relative f {
  s2.*85 | \pageBreak % 1..85
  s2.*25 | % 86..110
}

where in the "normal" two page version, I don't need that, which 
thus doesn't contain that redefinition.

Then writing the staff part, make a new variable which has the
with the line/page breaks, something linke:

staffSop  = \new Staff << \voiceSop \PS >>

And the score becomes something like:

 For a partiture:
\score {
  <<
    \new ChoirStaff <<
      \staffSop
      \staffAlt
      \staffTen
      \staffBas
    >>
  >>
}

 for parts:
\score { \staffSop }

or if you wants it all in one file:

PS = { ... \break ... }
\score {
  \new Staff << \voiceSop \PS >>
}

PS = { ... some other \break's ... }
\score {
  <<
    \new ChoirStaff <<
      \new Staff << \voiceSop \PS >>
...
    >>
  >>
}

So, by using variables, you can completely separate the "break
structure" from the music.

///

You mentioned \tag's, I don't know how this interract with tags.

You mentioned signature changes, you can handle \time , \clef, 
\bar in the same way. Just write the Cello = \relative c' { } without
any of theese things and use it like 
 \new \Staff << \PS \timeCello \clefCello \barCello ... \Cello >>

An example of that is in 
 http://aspodata.se/git/musik/JohannPachelbel/magnificat/
clefCem.ily contains two variants of clef use which I can switch between
them in magnificat.ly by commenting:

\include "clefCem.ily"
%clefCem = \clefCemOrg
clefCem = \clefCemMod
...
\score {
...
    \new GrandStaff <<
      \transpose c \pitchTranspose \new Staff = "up" << \musA \musB \musC \BS 
\PS >>
      \transpose c \pitchTranspose \new Staff = "down" \with \nameCem << 
\clefCem \voiceCem \BS \PS >>
      \new FiguredBass \gbCem
    >>
...
}

Regards,
/Karl Hammar





reply via email to

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