lilypond-user
[Top][All Lists]
Advanced

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

Re: sunday school songs


From: Ralph Little
Subject: Re: sunday school songs
Date: Thu, 06 Sep 2007 11:51:14 -0700
User-agent: Thunderbird 1.5.0.13 (X11/20070824)


Tim Litwiller wrote:
I can do it this way - but it sure would be simpler to input if we are able to have each voice separated.



Ralph Little wrote:
Hi,
I had a bit of a fiddle and came up with the following which produces pretty much what you want, but I'm not really happy with it.

It uses chords instead of \partcombine which would make note entry a lot easier. If someone knows how to tweak the operation of \partcombine so that some notes could separate with different "flags" (where you have indicated) that would make it a lot easier to do I think.

Hope this helps... P.S. I did this using 2.11.32 which is the version I'm using at the moment.

BTW, do you have an example of the natural sign problem that you were having?

Cheers,
Ralph


\version "2.11.32"
\include "english.ly"
\header {
   title="Fishers Of Men"
   poet="Harry D. Clark"
   composer="H.D.C"
}
\layout {
   indent = #0
}

PartsTop = {
   \key f \major
   \clef treble
   \relative c' {
       <f c>4 <f c> <f c> <g c,>
       <a f>8 <a f>4 <<gs8 \\ f8>> <a f>2

       <g e>8 <g e>4 <fs ds>8 <g e>2
       <f c>8 <f c>4 <d bf>8 << c2 \\ c2 >>
   }
}


PartsBottom = {
   \key f \major
   \clef bass
   \relative c' {
       <a f>4 <a f> <a f> <bf f>
       <c f,>8 <c f,>4 <b c,>8 <c f,>2
              <c c,>8 <c c,>4 <c c,>8 <c c,>2
       <a f>8 <a f>4 <bf f>8 <a f>2
   }
}



\score {
<<
   \new Staff = top
   {           \new Voice = "1"
       \override Staff.TimeSignature #'style = #'()
       \aikenHeads
       \PartsTop
   }
\new Lyrics \lyricsto "1" { \set stanza = "1. " I will make you fish-- ers of men fish-- ers of men fish-- ers of men } \new Lyrics \lyricsto "1" { \set stanza = "2. " Hear Christ call-- ing Come un-- to me Come un-- to me Come un-- to me }
   \new Staff = bottom
   {           \override Staff.TimeSignature #'style = #'()
       \aikenHeads
       \PartsBottom
   }
>>
}


Hi Tim,
OK, it is a bit of a frig if you fancy giving it a try, but I think I can make it happen and it depends on what version of Lilypond you are using.

Find the file part-combiner.scm - it should be in the scm directory of your Lilpond installation.

Search for the string ";; voice crossings:" - should be about line 300.
This should be before it:

                  (< chord-threshold (ly:pitch-steps
                          (ly:pitch-diff (car pitches1)
                                 (car pitches2))))

Add the following *after* the above snippet:

                  (= 1 (ly:pitch-steps
                          (ly:pitch-diff (car pitches1)
                                 (car pitches2))))
                  (= 0 (ly:pitch-steps
                          (ly:pitch-diff (car pitches1)
                                 (car pitches2))))

You should be able to just use \partcombine. The code above decides that if the pitch difference is 1 or 0 then separate the notes.

I will try to get something more official added to the distribution that is configurable to make this happen optionally.

Let me know how you get on.

Regards,
Ralph




reply via email to

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