\version "2.24.4"

%%%  FUNCTIONS
%%  helper functions for music (inspired by Kieren): 
h = \hideNotes
u = \unHideNotes

% useful when two voices have a unison (same pitch) to show the two note heads separately: 
fhs = \tweak NoteColumn.force-hshift \etc

% Create custom \IPA markup command: 
#(define-markup-command (IPA layout props arg) (markup?)
   (interpret-markup layout props
     (markup #:override '(font-name . "Times New Roman,") #:fontsize -2 arg)))
% (See https://lists.gnu.org/archive/html/lilypond-user/2025-11/msg00161.html )

%%%  GLOBALS
global = {
  \key aes \major
  \time 4/4
}

%%%  VOICES
soprano = \relative c'' {
  %%  1
  \mark \default  % 1
    aes1-\tweak X-offset 1 -\f bes2 ees,4 c'1 \bar"|" 
    c1 bes2 ees4 ees4( d4) ees1 \bar"||" 
  %%  2
  \mark \default  % 2
    des?1 \h des4 \u c2 f,2 bes1 \bar"|" 
    bes1 c4( ees4) des4( bes4) aes1 \bar"||" 
  %% 10
  \mark #10  % 10
    aes1-\tweak X-offset 3 -\mf bes4-\shape #'((0 . -0.7) (0 . -0.7) (-0.5 . -1) (-1.25 . 0)) ( \fhs #1 ees,4) c'1 \bar"|" 
    c1 bes4 ees4 ees4 d4 ees1 \bar"||" 
  %% 11
  \mark \default  % 11
    des1
    c2 f,4 bes1 \bar"|" 
    bes4 c2 ees4 des4 bes4 aes1 \bar"||" 
}

%%  helper function for lyrics (h/t Kieren): 
lyrSAX = \tweak LyricText.self-alignment-X \etc

verse = \lyricmode {
  %%  1
    \lyrSAX #-0.9 "Give the Kíng thy" 
    \lyrSAX #-0.85 
      \markup \override #'(baseline-skip . 0.8) 
      \general-align #Y #-0.21 
      \center-column { júdgments, \override #'(thickness . 2) \concat { \draw-line #'(0 . 0.5) \draw-line #'(6 . 0) \draw-line #'(0 . 0.5) } } 
    O God, 

    \lyrSAX #-0.9 "and thy ríghteousness" 
    \lyrSAX #-0.7 
      \markup \override #'(baseline-skip . 0.8) 
      \general-align #Y #-0.29 
      \center-column { unto \override #'(thickness . 2) \concat { \draw-line #'(0 . 0.5) \draw-line #'(3 . 0) \draw-line #'(0 . 0.5) } } 
    the King’s 
    són. 
    
  %% 2
    \lyrSAX #-0.7 "Thén shall he"
    "júdge thy people ac"
    -- % critical to display this hyphen for clarity to singers
    \lyrSAX #-0.7 
      \markup \override #'(baseline-skip . 0.8) 
      \general-align #Y #-0.21 
      \center-column { cording \override #'(thickness . 2) \concat { \draw-line #'(0 . 0.5) \draw-line #'(4 . 0) \draw-line #'(0 . 0.5) } } 
    \lyrSAX #-0.6 
      \markup \override #'(baseline-skip . 0.8) 
      \general-align #Y #-0.29 
      \center-column { unto \override #'(thickness . 2) \concat { \draw-line #'(0 . 0.5) \draw-line #'(3 . 0) \draw-line #'(0 . 0.5) } } 
    \lyrSAX #-0.7 ríght, 
    
    \lyrSAX #-0.7 \markup \concat {
      "and "
      \override #'(baseline-skip . 1.7) \column { de \IPA /dɪ/ } }
    -- fénd __ 
    the __ 
    \lyrSAX #-0.3 póor. 
    
  %% 10
    \lyrSAX #-0.9 \markup \concat { "The kings of " 
        \override #'(baseline-skip . 1.7) \center-column { Társhish \IPA /ˈtɑɹʃɪʃ/ }
        " and of the ísles shall" }
    give 
    \lyrSAX #-0.6 présents;
    
    \lyrSAX #-0.8 \markup \concat { 
      "the kings of "
      \override #'(baseline-skip . 1.7) \center-column { Arábia \IPA /əˈɹeɪ.bi.ə/ }
      " and" }
    \markup \override #'(baseline-skip . 1.7) \center-column { Sá \IPA /ˈsɑ }
    -- 
    \markup \override #'(baseline-skip . 1.7) \center-column { ba \IPA bə/ }
    shall bring gífts. 
    
  %% 11
    \lyrSAX #-0.8 "All kíngs shall" 
    \lyrSAX #-0.8 \markup \override #'(baseline-skip . 0.8) 
      \general-align #Y #-0.34 
      \center-column { "fáll down" \override #'(thickness . 2) \concat { \draw-line #'(0 . 0.5) \draw-line #'(5 . 0) \draw-line #'(0 . 0.5) } } 
    be -- 
    \lyrSAX #-0.7 "fóre him; " % added space after semicolon for barring 
    
    all 
    \lyrSAX #-0.55 
      \markup \override #'(baseline-skip . 0.8) 
      \general-align #Y #-0.32 
      \center-column { nátions \override #'(thickness . 2) \concat { \draw-line #'(0 . 0.5) \draw-line #'(3 . 0) \draw-line #'(0 . 0.5) } } 
    shall do him
    \lyrSAX #-0.7 sérvice.
}

%%%  SCORE
\score {
  \new ChoirStaff <<
    \new Staff <<
      \new Voice = "soprano" << \global { \voiceOne \soprano } >>
    >>
    \new Lyrics \lyricsto "soprano" \verse
  >>
  \layout {
    \context {
      \Score
      \omit TimeSignature 
      \remove "Bar_number_engraver"
      \cadenzaOn  % unmetered music (disables automatic measure demarcation)
      forbidBreakBetweenBarLines = ##f  % allows breaks to occur within measures/bars
      rehearsalMarkFormatter = #format-mark-box-numbers
    }
    \context {
      \Staff 
      midiInstrument = "choir aahs"
      \dynamicUp %  force all dynamic markings to be engraved *above* the staff
    }
    \context {
      \Voice
      \omit Stem 
    }
    \context {
      \Lyrics
      \override VerticalAxisGroup.staff-affinity = #CENTER
      \override VerticalAxisGroup.nonstaff-relatedstaff-spacing = #'(
        (padding . 1.5) (basic-distance . 0) (minimum-distance . 0) (stretchability . 0)
        )
      \override LyricHyphen.minimum-distance = #0.8 % forces all lyric hyphens to display
        \consists "Bar_engraver" 
        \hide BarLine 
      }
    }
}