lilypond-user
[Top][All Lists]
Advanced

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

Re: Mutable pronouns in Lyrics


From: Vaughan McAlley
Subject: Re: Mutable pronouns in Lyrics
Date: Thu, 22 Dec 2016 15:58:06 +1100

On 21 December 2016 at 13:25, Br. Samuel Springuel
<address@hidden> wrote:
> This works in the sense that bar checks are indeed allowed in lyrics and
> when I add them to the snippet I get an error when \keepWithTag is removed
> (or has the wrong number of tags in it) and don't when it's present with the
> right number of tags (1).
>
> However, in trying to apply it to my use case I've run into another problem:
>
> These hymns are built of components.  In one folder, I have a bunch of files
> with the words that match a certain metrical pattern (by line), in the case
> of this example 11.11.11.5.  In another folder I have more files with the
> music which also has this metrical pattern (by line). The final score is
> made by including one file from the words folder and one from the music
> folder and setting them as simultaneous music.  I've attached a sample of
> this structure.
>
> The issue is that the music falls into two camps: chant tunes (which only
> have explicit bar lines and only at the end of each metrical line) and
> modern tunes (which have a proper time signature and measures). Once I
> insert bar checks, these tunes are no longer interchangable in the final
> construction.  If I put in the bar checks for a chant tune, then only chant
> tunes will pass.  If I put them in for a modern tune, then only modern tunes
> with the same time signature and number of syllables per measure will pass.
>
> I think what I need is something which works like the bar check except that
> it is not bound by the piece's time signature.  This way it can be inserted
> arbitrarily (in my instance I would put it at the end of each metrical line)
> and only looks for another instance of itself at the same musical moment in
> any simultaneous voices.
>
> Unfortunately, I'm getting stuck here.  I've tried looking into the various
> manuals for more on the bar checks and how they work (and thus might be
> duplicated and modified) but while I've found several pages that appear to
> be related, I can't make sense of them well enough to determine what would
> need to be done to produce this "pseudo bar check."
>
> http://lilypond.org/doc/v2.19/Documentation/internals/barcheck
> http://lilypond.org/doc/v2.19/Documentation/contributor/iterator-tutorial
> http://lilypond.org/doc/v2.19/Documentation/contributor/engraver-tutorial
>
> Is there something else I should be reading to figure this out?
>
> P.S. I feel like I keep moving the goal posts on this issue.  Thank you for
> sticking with me thus far and please let me know if I'm simply reaching
> further than is reasonable.
>
> --
> ✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝
> Br. Samuel, OSB
> St. Anselm’s Abbey
> Washington, DC
> (R. Padraic Springuel)
>
> PAX ☧ ΧΡΙΣΤΟΣ
>
> _______________________________________________
> lilypond-user mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/lilypond-user
>

I don't think you actually need tags. In this example, my extremely
limited Scheme only allows for a very old-fashioned two genders, but
someone who knows what they are doing could easily add more... Happy
Christmas music making!

\version "2.18.2"

ismale = ##f
%gender = "m" % manually set to m(ale), f(emale), n(eutral)

heshe = #(if ismale #{ he #} #{ she #})
hisher = #(if ismale #{ his #} #{ her #})
himher = #(if ismale #{ him #} #{ her #})

global = { \key c \major }

verse = \lyricmode {
  Filled with the Spir -- it, by \hisher earth -- ly la -- bours,
  Brought to your peo -- ple heal -- ing and com -- pas -- sion;
  Rais -- ing the fal -- len, re -- con -- cil -- ing sin -- ners,
  Glad -- ly \heshe served them.
}

music = {
  c' c' c' c' c' c' c' c' c' c' c'
  c' c' c' c' c' c' c' c' c' c' c'
  c' c' c' c' c' c' c' c' c' c' c'
  c' c' c' c' c'
}

\new Staff
<<
  \new Voice = "mel" { \global \music }
  \new Lyrics \lyricsto "mel" { \verse }
>>



reply via email to

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