I have found my issue. Using the short vocal name got me part way there.
But I was being lazy and not using a correct partial measure. Instead I
was being lazy and starting the first measure of the verse with a skip.
It seems that if the start of the measure is a skip or a rest then
neither long or short vocal name will show up.
Here is a my corrected MWE and result including an initial partial
measure (which is what I should have done in the first place).
\version "2.24.4"
\language "english"
\include "../../Lilypond/Functions.ly"
introChords = \chordmode {
d2:m c | bf a:m7 | d1:m | \partial 2. q2. | \break
}
introNotes = \relative c' {
\clef "treble" \numericTimeSignature\time 4/4
\key d \minor
s1 | s | a'8 bf a g f e d c | \partial 2. d2. |
}
verseChords = \chordmode {
|
\partial 4 s4
d4:m s4 s4 s4 |
d4:m s4 s4 s4 |
c4 s4 s4 s4 |
d2.:m s4 |
d4:m s4 s4 s4 |
d4:m s8 s8 s4 s4 |
c1 |
c2. s4 |
c4:7 s4 s4 s4 |
d2.:m s4 |
}
verseNotes = \relative c' {
\clef "treble" \numericTimeSignature\time 4/4
\key d \minor
\partial 4 d4 |
\repeat unfold 32 d4
}
verseOneLyrics = \lyricmode {
\set ignoreMelismata = ##t
\repeat unfold 32 test
}
verseTwoLyrics = \lyricmode {
\set ignoreMelismata = ##t
\repeat unfold 32 test
}
theScore = {
<<
\new ChordNames { \introChords }
\new Staff { \introNotes }
>>
\repeat volta 4
{
<<
\new ChordNames { \verseChords }
\new Staff \new Voice { \verseNotes }
\addlyrics
{
\set vocalName = \markup { "Andy"} \set shortVocalName
= \markup { "Andys" }
\verseOneLyrics
}
\addlyrics
\with { \override LyricText.color = #blue }
{
\set vocalName = \markup { "Anita" }
\set shortVocalName = \markup { "Anitas" }
\verseTwoLyrics
}
>>
}
}
\book {
\bookOutputName "test1"
\score {
{
\theScore
}
}
}