[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: resetting accidentals at word breaks
From: |
Fr. Samuel Springuel |
Subject: |
Re: resetting accidentals at word breaks |
Date: |
Tue, 28 Apr 2020 15:47:22 -0400 |
> On 25 Apr, 2020, at 2:02 PM, David Wright <address@hidden> wrote:
>
> So you need a NullLyric which contains your "controlling" lyrics, but
> which is not printed (and occupies no space).
My attempt to create such a context is attached. Unfortunately, the “occupies
no space” thing still has me scratching my head.
> This lyric would have
> very long "words" whose syllables are all hyphenated together unless
> every real lyric line has a word break at that point. It could be
> hand-crafted in the first instance or, with more ingenuity,
> automatically constructed from the other lyrics. Good luck.
My lyrics are all entered in variables which look like: x = \lyricmode { some
wordy -- words }
Using \displayMusic, I see these are make-music expressions with an elements
list inside them containing 1 element per syllable. If a hyphen follows a
syllable, then the corresponding element of the list has a HyphenEvent in its
articulations property.
So an algorithm for combining lyrics (lyrics_one and lyrics_two) would look
like this:
1) Find the longer of lyrics_one and lyrics_two (referred to hereafter as
lyrics_max, the other is lyrics_min)
2) loop over syllables (the elements list) in lyrics_max
2a) if concurrent syllable (element at same index) exists in lyrics_min
(or more specifically the elements list in lyrics_min)
true) continue
false) break out of loop
2b) if current syllable of lyrics_max does has a HyphenEvent in its
list of articulations
true) continue
false) if the concurrent syllable of other lyrics has a
HyphenEvent in its list of articulations
true) add a HyphenEvent to list of articulations in
current syllable of lyrics_max
false) continue
3) return lyrics_max
Does that sound like a reasonable algorithm for implementation in scheme?
✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝
Fr. Samuel, OSB
(R. Padraic Springuel)
St. Anselm’s Abbey
4501 South Dakota Ave, NE
Washington, DC, 20017
202-269-2300
(c) 202-853-7036
PAX ☧ ΧΡΙΣΤΟΣ
null_lyrics.ly
Description: Binary data
- Re: resetting accidentals at word breaks, (continued)
- Re: resetting accidentals at word breaks, Fr. Samuel Springuel, 2020/04/23
- Re: resetting accidentals at word breaks, Aaron Hill, 2020/04/23
- Re: resetting accidentals at word breaks, Fr. Samuel Springuel, 2020/04/25
- Re: resetting accidentals at word breaks, Fr. Samuel Springuel, 2020/04/25
- Re: resetting accidentals at word breaks, David Wright, 2020/04/25
- Re: resetting accidentals at word breaks,
Fr. Samuel Springuel <=
- Re: resetting accidentals at word breaks, Fr. Samuel Springuel, 2020/04/28
- Re: resetting accidentals at word breaks, David Wright, 2020/04/29
- Re: resetting accidentals at word breaks, Fr. Samuel Springuel, 2020/04/29
- Re: resetting accidentals at word breaks, Lukas-Fabian Moser, 2020/04/30