Alexander Kobel wrote Monday, December 26, 2016 1:00 AM

> Oh well, it's late. I didn't spot measure 7, with the 8( 8) in alto. 
> Same there.
> And, of course, you should have an extender there in the second verse, 
> and you should have extenders in measure 1 (was/was/shall) an measure 9 
> (shall/shall/was); but that's a limitation of the satb-template (or, 
> rather, a lack of voice assignment) that's beyond this patch to correct.

Well spotted!  In fact there are several other places where the lyric
alignment was wrong.  At the time I posted it it was a work-in-progress
(for Christmas 2017, in fact), but thank you for helping with the final
tweaks :)  For interest, I attach the latest version, hopefully now almost
correct, albeit several messy tweaks!  Can you spot any other improvements?
It will make a useful test as the various improvements to LP which you 
outline below take effect.  One day maybe all the tweaks can be removed.
 
> In fact, to solve this, one would need a simultaneous assignment of the 
> lyrics to all four voices they apply to. Basically, a \addlyrics 
> \lyricsto ChoirStaff.

That would indeed be a great improvement - once it can be made to work!

> (Note 1 to whom it may concern, including myself: once this works, the 
> satb and ssaattbb templates should be changed to associate the Verse* 
> lyrics with the entire ChoirStaff, and *Lyrics with the corresponding 
> Staff per default.)

I'd be happy to make this change as soon it it becomes available.
 
> (Note 2 to whom it may concern, including myself: we should have auto 
> extender regtests for \lyricsto ctx = name, for at least ctx = Voice, 
> Staff, ChoirStaff.)

Yes.

Trevor
\version "2.19.52"

#(set-global-staff-size 17)

\header {
  title = "As Joseph was A-Walking"
  subtitle = ""
  subsubtitle = ""
  composer = "Trad."
  arranger = "arr. R.R.Terry"
  poet = ""
  revisionDate = \markup {
    %"4 Dec 2016"  % first draft
    "27 Dec 2016"  % tweaks to lyrics alignments
  }
}

TwoVoicesPerStaff = ##t

SopranoMidiInstrument = "voice oohs"
AltoMidiInstrument = "voice oohs"
TenorMidiInstrument = "choir aahs"
BassMidiInstrument = "choir aahs"

sd = \once \slurDashed
td = \once \tieDashed
la = \once \override LyricText.self-alignment-X = #LEFT
nudgeR =
#(define-music-function (alignment) (number?)
    #{ \once \override LyricText.parent-alignment-X = #alignment #})

Time = {
  \set melismaBusyProperties = #'()
  \numericTimeSignature
  \time 6/8
  \key ees \major
  \tempo "Andante" 4. = 56
  \repeat volta 2 {
    \partial 8
    s8 |
    s2.*7 |
    s4. s4
  }
  \break
  \repeat volta 2 {
    s8 |
    s2.*7 |
    s4. s4
  }
}

SopranoMusic = \relative {
  ees'8 |
  g4 bes8 c4 d8 |
  \sd ees4\=1(\=2( bes8\=1) g4\=2) bes8 |
  c4 ees8 d4 c8 |
  bes4.~ 4 c16( d) |
  \sd ees4( d8) c( d) ees |
  \sd bes4\=1(\=2( g8\=1) ees4\=2) f8 |
  \sd g8\=1(\=2( f\=1) ees\=2) \sd bes'4( g8) |
  ees4.~ 4

  ees8 |
  g4 bes8 c4 d8 |
  \sd ees4( bes8) g4 bes8 |
  c4 ees8 d4 c8 |
  bes4.~ 4 c16( d) |
  \sd ees4( d8) c( d) ees |
  \sd bes4\=1(\=2( g8\=1) ees4\=2) f8 |
  \sd g8\=1(\=2( f\=1) ees\=2) \sd bes'4( g8) |
  ees4.~ 4
}

AltoMusic = \relative {
  bes8 |
  ees4 8 4 f8 |
  \sd g4\=1(\=2( f8\=1) ees4\=2) 8 |
  ees4 8 aes4 8 |
  aes4.( g4) ees8 |
  \td ees4~ 8 ees( f) g |
  \sd f4\=1(\=2( d8\=1) ees4\=2) 8 |
  \td ees4~ 8 \sd d\=1(\=2( c\=1) d\=2) |
  ees4( c8 bes4)

  bes8 |
  ees4 8 4 f8 |
  \sd g4( f8) ees4 8 |
  ees4 8 aes4 8 |
  aes4.( g4) ees8 |
  \td ees4~ 8 ees( f) g |
  \sd f4\=1(\=2( d8\=1) ees4\=2) 8 |
  \td ees4~ 8 \sd d\=1(\=2( c\=1) d\=2) |
  ees4( c8 bes4)
}

TenorMusic = \relative {
  g8 |
  bes4 8 aes 4 8 |
  \td \sd bes4~( 8 4) g8 |
  aes4 g8 aes4 c8 |
  f8.( d16 bes8 ees4) c8 |
  \td bes4~ 8 aes4 bes8 |
  \sd \td bes4~( 8 g4) c8 |
  \sd bes4( g8) \sd aes4( bes8) |
  g4( aes8 g4)

  g8 |
  bes4 8 aes 4 8 |
  \td bes4~ 8 4 g8 |
  aes4 g8 aes4 c8 |
  f8.( d16 bes8 ees4) c8 |
  \td bes4~ 8 aes4 bes8 |
  \sd \td bes4~( 8 g4) c8 |
  \sd bes4( g8) \sd aes4( bes8) |
  g4( aes8 g4)
}

BassMusic = \relative {
  ees8 |
  ees8.( f16) g8 aes8.( g16) f8 |
  \sd ees4\=1(\=2( d8\=1) ees4\=2) 8 |
  aes,4 c8 f4 ees8 |
  d4.( ees4) aes8 |
  \td g4~ 8 aes4 ees8 |
  \sd d4\=1(\=2( bes8\=2) c4\=1) aes8 |
  \sd bes4( c8) \td bes4~ 8 |
  c8.( bes16 aes8 ees'4)

  ees8 |
  ees8.( f16) g8 aes8.( g16) f8 |
  \sd ees4( d8) ees4 8 |
  aes,4 c8 f4 ees8 |
  d4.( ees4) aes8 |
  \td g4~ 8 aes4 ees8 |
  \sd d4\=1(\=2( bes8\=2) c4\=1) aes8 |
  \sd bes4( c8) \td bes4~ 8 |
  c8.( bes16 aes8 ees'4)
}

VerseOne = \lyricmode {
  \set stanza = "1."
  As \la Jo -- seph \la "was __" a -- walk -- _ ing,
  He heard an an -- gel sing, __ _
  This _ __ night __ _ shall _ be born __ _ _
  Our hea -- _ ven -- \la ly __ _ \nudgeR #-3 King. __ _

  \set stanza = "4."
  He \la nei -- ther \la shall __ be ro -- _ cked
  In sil -- ver or in gold, __ _
  But _ in a woo -- _ den cra -- _ dle
  That rocks __ _ _ \la "on___" the \nudgeR #-3 mould. __ _
}

VerseTwo = \lyricmode {
  \set stanza = "2."
  He \la nei -- ther \la shall __ be born __ _ _
  In hous -- sen nor in hall, __ _
  Nor _ in the place _ of Pa -- ra -- dise,
  But in __ _ an \la ox -- 's \nudgeR #-3 stall. __ _

  \set stanza = "5."
  He \la nei -- ther \la shall __ be chri -- sten -- ed
  In white wine or in red, __ _
  But _ in the fair _ spring wa -- _ ter
  As we __ _ were \la chri -- sten -- \nudgeR #-3 ed. __ _

}

VerseThree = \lyricmode {
  \set stanza = "3."
  He \la nei -- ther \la shall __ be clo -- _ thed
  In pur -- ple nor in pall, __ _
  But _ all __ _ in __ _ fair li -- _ nen
  As wear __ _ _ \la ba -- bies \nudgeR #-3 all. __ _

  \set stanza = "(1."
  As \la Jo -- seph \la "was __" a -- walk -- _ ing,
  He heard an an -- gel sing, __ _
  This _ __ night __ _ shall _ be born __ _ _
  Our hea -- _ ven -- \la ly __ _ \nudgeR #-3 King.) __ _
}

\paper {
  indent = 0
  top-margin = 10
  bottom-margin = 5
  left-margin = 25
  right-margin = 15
  ragged-bottom  = ##f
  ragged-last-bottom = ##f
  print-page-number = ##t
  top-markup-spacing.basic-distance = 10
  markup-system-spacing.basic-distance = 15
  system-system-spacing.basic-distance = 22
  top-system-spacing.basic-distance = 15
  last-bottom-spacing.basic-distance = 25
  oddFooterMarkup = \markup {
    \column {
      \fill-line {
        %% Copyright header field only on first page in each bookpart.
        \on-the-fly \first-page \fromproperty #'header:copyright
        %% Revision date on every page
        \fromproperty #'header:revisionDate
      }
      \fill-line {
        %% Tagline header field only on last page in the book.
        \on-the-fly \last-page \fromproperty #'header:tagline
      }
    }
  }
}

\include "satb.ly"

Attachment: As Joseph was A-Walking.pdf
Description: Adobe PDF document

_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to