Nachts (Josephine Lang)

Zur Navigation springen Zur Suche springen
\version "2.20.0"
\language "deutsch"

#(use-modules (ice-9 regex))

\paper {
  #(set-paper-size "b4")
  #(include-special-characters)
  system-system-spacing.basic-distance = #16
  markup-system-spacing.basic-distance = 12
  oddHeaderMarkup = ##f
  evenHeaderMarkup = ##f
  oddFooterMarkup =\markup \fill-line { \null \concat {  "Quelle: Verlag Fr. Kistner, Leipzig 1844, Platte #1435" } \null }
  evenFooterMarkup = \markup \fill-line { \null \concat { \char #169 " Public Domain" } \null }
  ragged-right = ##f
  ragged-last = ##f
  ragged-bottom = ##f
  ragged-last-bottom = ##f
  top-margin = 15\mm
  bottom-margin = #10
  left-margin = 15\mm
  right-margin = #left-margin
  %page-breaking = #ly:minimal-breaking
  %page-breaking = #ly:one-page-breaking
  annotate-spacing = ##f

  #(define fonts
     (set-global-fonts
      #:music "Ross"
      #:brace "emmentaler"
      #:roman "Century Schoolbook L"
      #:sans "sans-serif"
      #:typewriter "monospace"
      ))
}

\header {
  title = \markup \override #'(font-name . "Edwardian Script ITC")
  \fontsize #9 "Nachts"
  subtitle = ""
  opus = "Opus 12 Nr. 2"
  composer = "Josephine Lang"
  enteredby = "mc"
  poet = "abgeschrieben von Monika M. C."
}

hps =
#(define-music-function (li re)
   (number? number?)
   #{
     \once \override Hairpin.shorten-pair = #`(,li . ,re)
   #}
   )

\layout {
  \context {
    \PianoStaff
    \consists #Span_stem_engraver
    \remove Keep_alive_together_engraver
  }
  \context {
    \Staff
    \RemoveAllEmptyStaves
    \remove "Dot_column_engraver"
  }
  \context {
    \StaffGroup
    \remove System_start_delimiter_engraver
  }
  \context {
    \Voice
    \consists "Dot_column_engraver"
    \override TextScript.font-name = #"French Script MT"
    \override TextScript.font-size = #6
  }
  \context {
    \Score
    \override BarNumber.color = #(rgb-color 0.7 0.7 0.7)
    \override BarNumber.layer = #-200
    \override BarNumber.outside-staff-priority =#'()
    \override BarNumber.padding = #1
    \override BarNumber.font-size = #-1.9
    \override BarNumber.font-series = #'bold
    \override BarNumber.self-alignment-X = #0
  }
  \context {
    \Lyrics
    \override LyricHyphen.dash-period = #6
    \override LyricHyphen.length = #1
    \override LyricHyphen.thickness = #1
    \override LyricHyphen.height = #1
    \override LyricHyphen.minimum-distance = #3
  }
}

dynamictext =
#(define-event-function (text) (markup?)
   (if (string? text)
       (let* ((underscores-replaced
               (string-map
                (lambda (x) (if (eq? x #\_) #\space x))
                text))
              (split-text (string-split underscores-replaced #\space))
              (formatted (map
                          (lambda (word)
                            (if (string-match "^[mrzfps]*$" word)
                                (markup #:dynamic word)
                                (markup #:normal-text
                                  #:override '(font-size . 6)
                                  #:override '(font-name . "French Script MT") word)))
                          split-text)))
         #{
           #(make-dynamic-script (make-line-markup formatted))
         #})
       ;; user provided a full-blown markup, so we don't mess with it:
       #{
         #(make-dynamic-script (markup #:normal-text text))
       #}))

Alt =
\relative c' {
  \key e \major
  \time 6/8
  R2. * 7
  r4 r8 r4 h8
  gis'4. fis
  a gis4 gis8
  fis4. e
  h2.
  r4 r8 e4.
  fis( gis4) gis8
  e4. r4 r8
  R1*6/8
  gis4. fis4 fis8
  a4. gis
  fis e4 e8
  h2.
  r4 r8 e4.
  fis gis4 gis8
  e2.~
  e4. r4 r8
  r4 r8 gis4.
  h~ h4 gis8
  ais2.
  gis4. r4 r8
  r4 r8 gis4.
  h~ h4 dis,8
  fis2.~
  fis4. r4 dis8
  dis4. h4 h8
  fis'4( dis8) a'4( fis8)
  cis'4.(~ cis4 a8)
  fis4. r4 dis8
  e4.( h4) h8
  h4. h
  h^\<( dis4)\> cis8\!
  h4.~ h4 r8
  r4 r8 r4 e8
  gis4 h,8 e[( gis]) h
  d4.~ d4 h8
  e,4.~ e4 e8
  e'2.~
  e4 cis8 \autoBeamOff a gis fis
  h2.\(
  gis4.\) r4 h8
  e2.(
  dis4.) dis
  dis2.
  cis4.~ cis4 cis8
  cis2.(
  dis) e
  gis~
  gis4. fis->
  e-> dis4 cis8
  h4. e~
  e gis,
  h2.~_\markup \italic "dim."
  h\( e,\)
  R2. * 5
  <<
    { \oneVoice R2. }
    \\
    {
      %% Anzeige der letzten Zeile erzwingen!
      \override NoteHead.transparent = ##t
      \override Stem.transparent = ##t
      e2
    }
  >>
  R2.\fermataMarkup
}

dynalt = {
  s2. * 26
  s2.\p
  s2. * 6
  s2.\< s\! s
  s\p s\pp
  s\dynamictext "ritart."
  s s2 s8 s\f
  s2. s s
  s\f s4 s8 s\> s s
  s2.\p s s\p s s\p
  s s\< s\! s
  s\ff s s
  s\< s\> s\<
  \override Hairpin.to-barline = ##f
  s\> s\!
}

dynpio = {
  s2.\pp
  s4.\<
  \override Hairpin.to-barline = ##f
  s\> s\! s
  s2. s4. s\< s\! s
  \override Hairpin.to-barline = ##t
  s2.\> s\p
  s s s s
  s\< s\!
  s4.\> s4 s8\< s4 s4\> s s\! s2
  s2. * 5
  \once \override Hairpin.shorten-pair = #'(0 . -2)
  s2.\<
  \once \override Hairpin.shorten-pair = #'(2 . 0)
  s4.\> s4.
  s2.\!
  s s s
  \once \override Hairpin.shorten-pair = #'(-1 . 0)
  s\< s\!
  s\p\<
  \once \override Hairpin.shorten-pair = #'(0 . 2)
  s\> s\p
  s s4.
  \once \override Hairpin.shorten-pair = #'(0 . 4)
  s\> s4. s\!
  s2.\pp
  s2.
  s\dynamictext "ritart."
  s
  s\ff s s s
  s\ff
  s4 s2\> s2.\p s2 s8 s8\pp
  s2. s s s
  s4
  \once \override Hairpin.shorten-pair = #'(0 . 3)
  s2\< s2 s4\!
  \once \override DynamicText.self-alignment-X = #-1
  s2.\dynamictext "cres."
  s4 s8\ff s4.
  s2. s s s
  s4. s\< s2.\> s\!
  s s s2 s4\p\<
  s2. s\!
  s2
  s4\> s8 s\! s8\pp
}

struktur = {
  \override Score.NonMusicalPaperColumn.page-break-permission = ##f
  \override StaffGroup.VerticalAxisGroup.staff-staff-spacing.basic-distance = #20
  \override PianoStaff.VerticalAxisGroup.staff-staff-spacing.basic-distance = #10
  s2. * 34 \pageBreak
}

Text =	\lyricmode {
  \override LyricHyphen.dash-period = #4.5
  \override LyricHyphen.length = #1.2
  \override LyricHyphen.height = #0.27
  Im Wal -- de weit auf der Hai -- de breit kein Hauch, kein Hauch!
  Le -- ge Dich mü -- der Wan -- der -- er
  auch jetzt un -- ter den Strauch! __
  Ist al -- les Stil -- le! Ist al -- les Ruh! __
  Be -- schlos -- sen in Frie -- dens Schran -- ken
  ist al -- les Stil -- le, al -- les Ruh! __
  Der Bach nur stür -- met im -- mer -- zu
  und mei -- ner Lie -- be Ge -- dan -- ken,
  und mei -- ner Lie -- be Ge -- dan -- ken,
  mei -- ner Lie -- be Ge -- dan -- _ _ _ ken!
}

RechteHand =
\relative c'' {
  \key e \major
  \once \override Score.MetronomeMark.X-offset = #-4
  \tempo \markup \caps "Allegro"
  \override Slur.height-limit = #6
  \shape #'((0 . 0) (1 . 0) (3 . 0) (5 . 0)) Slur
  gis4.(^\markup \italic "molto legato" e
  \change Staff=down <h, fis' a h >2.
  \change Staff=up
  gis''4. e
  \change Staff=down
  < h, fis' a h >2.)
  \once \override Slur.details.max-slope = 0
  \shape #'((0 . 4) (0 . 3) (0 . 0) (3 . 0)) Slur
  < dis fis a h >4.( < e a cis >
  \change Staff=up
  \override TextScript.self-alignment-X = #0
  \override TextScript.outside-staff-priority = ##f
  \override TextScript.padding = #0
  \once \override TextScript.extra-offset = #'(0 . -4.5)
  dis'4.^\markup \italic "legato" e
  < fis cis a > < gis dis h >)
  e2.
  < gis e >4. < h, dis fis >
  < a h dis a' >\arpeggio < gis h e gis >
  < a h dis fis > < gis h e >
  \change Staff=down
  < dis fis a h >4. < e a cis >
  \change Staff=up
  < fis a dis >4. < gis h e >
  < a cis fis > < h dis gis>
  e \change Staff=down
  < cis, e a cis >4.
  < cis fis a cis > < dis fis a h >
  \change Staff=up
  < e' gis >4. < h dis fis >4 < h dis fis >8
  < a h dis a' > 4. < e' gis >
  < dis fis > e
  \change Staff=down
  < dis, fis a h >4. < e a cis >
  \change Staff=up
  dis'4. e
  < a, cis fis > < h dis gis >
  e2. ~
  e4. e
  < gis, h e gis > <gis cis e gis >
  < gis h dis gis > < gis h dis >
  fisis'2.
  gis
  < e gis >4. < cis e gis >
  < h dis gis > < h dis fis >
  \change Staff=down
  \shape #'((0 . 4) (0 . 3) (0 . 1) (-1 . 0)) Slur
  < e,! fis ais cis >( < e fis ais cisis >
  \change Staff=up
  dis'2.) dis
  < a h dis fis >4. < h dis fis a >
  \once \override NoteColumn.force-hshift = #0.7
  cis'2.^\f(
  \once \override NoteColumn.force-hshift = #1.5
  h4.) a
  < e gis > < dis fis >
  e \change Staff=down < h, fis' a h >^\<
  < h e gis h >\>
  < e g ais >
  h'2.\!
  \change Staff=up
  < e gis >4.-^ < e gis >4.-^
  < e gis >4.-^ < e gis >4.-^
  < h d gis h > < d! e a d >
  < d e h' d > q
  < cis e h' cis > q
  < cis e a cis > < a cis fis a >
  fis' fisis
  <<
    { \once \override NoteColumn.force-hshift = #1.2 gis2. }
    \\
    { \voiceOne e4. }
  >>
  < e gis >4. < cis e gis >
  < his dis gis > < his dis gis >
  fis'2.
  < ais, cis fis >4. < ais cis fis >4.
  e'2.
  e
  e2.(
  < e gis >4. q
  e2.
  \once \override NoteColumn.force-hshift = #2
  fis2.)
  \once \override NoteColumn.force-hshift = #1.4
  gis2.
  <gis, h e gis >4. <gis h e gis >4.
  a'2.~ a
  < e gis >4. e
  \change Staff=down
  < h, fis' a h >2.
  \change Staff=up
  gis''4. e
  s2. s
  dis4. e
  < a, cis fis > 4. < h dis gis >^\fz
  e2.\fermata \bar "|."
}

LinkeHandAkkord =
\relative c' {
  \key e \major
  \crossStaff {
    < gis h >4. < e gis >
    s2.
    < gis h >4. < e gis >
    s2. s2.
    < fis a >4. < gis h >
    s2.
    < e gis >2.
    < gis h >4. fis
    s2. * 7
    < gis h >4. fis4 fis8
    s4. < gis h >
    < a h > < gis h >
    s2.
    < fis a >4. < gis h >
    s2.
    < e gis > 4. < cis e a cis >
    < e gis h > < e gis h >
    s2.
    s2.
    < fisis ais dis >4. < fisis ais dis >
    < gis h dis > < gis h dis >
    < gis h > gis
    gis fis
    s2.
    < dis fis h >4. < dis fis h >
    < dis fis h > < dis fis h >
    s2.
    \change Staff=up
    \voiceTwo
    < dis' fis a >4. q
    \once \override DotColumn.after-line-breaking =
    #(lambda (grob)
       (for-each
        (lambda (grob) (ly:grob-translate-axis! grob 1.5 X))
        (take (ly:grob-array->list (ly:grob-object grob 'dots)) 3)))
    q < h dis fis >
    \change Staff=down
    \voiceOne
    < gis h >4. < a h >
    < gis h > s
    s2.
    \voiceTwo
    <dis fis >4. <dis fis >4.
    \voiceOne
    < gis h > < gis h >
    < gis h > < gis h >
    s2. * 4
    < a h dis >2.
    <gis h >4. <gis h >4.
    <gis h >4. gis
    gis gis
    < fis h dis > < fis h dis >
    fis fis
    < e a! cis > < e a cis >
    < e a c > < e a c >
    < e gis h > < e gis h >
    < e gis > < e gis >
    < e fis ais cis > < e fis ais cis >
    \change Staff=up
    \voiceTwo
    < ais cis e > q
    < gis h e > q
    \change Staff=down
    \voiceOne
    s2.
    < a! h dis >4. < a h dis >
    < a h dis > < a h dis >
    < gis h > < e gis >
    s2.
    < gis h >4. < e gis >
    < h fis' a h >2.
    < dis fis a h >4. < e a cis >
    < fis a > < gis h >
    s2.
    < e gis >2.
  }
}
LinkeHandBass =
\relative c, {
  \key e \major
  r4 e8 r4 e8
  e4 e8 dis4 h8
  r4 e8~ e4 e8~
  e4 e8 dis4 h8~
  h4 h'8~ h4 h,8~
  h4 h'8~ h4 h,8~
  h4 h'8~ h4 h,8~
  h4 h8 < e e, >4.
  r4 <h h' >8~ < h h' >4 <h h' >8~
  < h h' >4 <h h' >8~ < h h' >4 <h h' >8
  r4 h8~ h4 h'8
  r4 h,8~ h4 h'8~
  h4 h,8~ h4 h'8
  r4 h,8~ h4 h'8
  r4 e,8 r4 < a, a' >8
  r4 < fis fis' >8 r4 < h h' >8
  r4 h'8~ h4 h,8~
  h4 h'8~ h4 h8~
  h4 h8~ h4 h8~
  h4 h,8~ h4 h'8~
  h4 h,8~ h4 h'8
  r4 <h, h' >8~ < h h' >4 <h h' >8
  r4 e8~ e4 < a, a' >8~
  <a a' >4 e'8~ e4 e'8
  r4 < e, e' >8 r4 < cis cis' >8
  r4 <gis gis' >8~ < gis gis' >4 <gis gis' >8~
  < gis gis' >4 < dis' dis' >8 r4 < dis dis' >8
  r4 gis8 r4 gis8
  r4 <e e' >8 r4 <e e' >8
  r4 <gis, gis' >8 r4 < h h' >8
  r4 fis'8~ fis4 fis8
  r4 < h, h' >8 r4 < h h' >8
  r4 h8 r4 h'8
  \oneVoice
  r4 h,8~ h4 h'8

  r4 <h, h' >8~ < h h' >4 <h h' >8~
  < h h' >4 \voiceTwo <h h' >8~ < h e h' >4 <h gis' h >8
  r4 h'8~ h4 h,8~
  h4 h'8 r4 dis,8
  r4 e8 r4 g8
  r4 h8 r4 h8
  r4 <e, h' e >8 r4 <e h' e >8
  r4 <e h' e >8 r4 <e h' e >8
  \oneVoice
  r4 <e h' e >8 r4 <e a e' >8
  r4 <e gis e' >8 r4 <e gis e' >8
  r4 < a, a' >8 r4 < a a' >8
  r4 < a e' a >8 r4 fis'8
  \voiceTwo
  r4 < h, h' >8 r4 < h h'>8
  r4 e8 r4 < e e' >8
  r4 < e e' >8 r4 < cis cis' >8
  r4 gis'8 r4 gis8
  r4 h,8 r4 dis8
  r4 fis8 r4 fis8
  r4 < a, a' >8 r4 < a a' >8
  r4 a8 r4 a'8
  r4 e8 r4 e8
  r4 < cis gis' cis >8 r4 < cis gis' cis >8
  r4 < fis cis' >8 r4 < fis cis' >8
  \oneVoice
  r4 < fis cis' >8 r4 < fis cis' >8
  r4 < h, h' >8 r4 h8
  r4 < h h' >8 r4 h'8
  \voiceTwo
  r4 h,8 r4 fis'8
  r4 h8 r4 h,8
  r4 e8~ e4 e8~
  e4 e8 dis4 h8~
  h4 e8~ e4 e8
  e4 e8 dis4 h8~
  h4 h'8~ h4 h,8~
  h4 h'8~ h4 h,8~
  h4 \voiceOne h'8~ h4 h,8_~
  h4 h8 < e, e' >4.\fermata
}

\score {
  \new StaffGroup
  <<
    \new Dynamics \dynalt
    \new Staff = "Alt" \with { instrumentName = \markup \fontsize #2 #"Alt" }
    \new Voice = "alt" \Alt
    \new Lyrics \lyricsto "alt" \Text
    \new PianoStaff
    \with { instrumentName = \markup \fontsize #2 "Pianoforte" }
    <<
      \new Staff = "up"
      <<
        \new Voice
        { \voiceOne \RechteHand }
        \context Voice { s2. * 6 \override Staff.BarNumber.stencil = ##f }
      >>
      \new Dynamics \dynpio
      \new Staff = "down"
      <<
        \new Voice
        {
          \voiceOne \LinkeHandAkkord
        }
        \new Voice
        { \clef bass \voiceTwo \LinkeHandBass }
        \new NullVoice \struktur
      >>
    >>
  >>
}
\version "2.20.0"
\language "deutsch"

#(use-modules (ice-9 regex))

\paper {
  #(set-paper-size "b4")
  #(include-special-characters)
  system-system-spacing.basic-distance = #16
  markup-system-spacing.basic-distance = 12
  oddHeaderMarkup = ##f
  evenHeaderMarkup = ##f
  oddFooterMarkup =\markup \fill-line { \null \concat {  "Quelle: Verlag Fr. Kistner, Leipzig 1844, Platte #1435" } \null }
  evenFooterMarkup = \markup \fill-line { \null \concat { \char #169 " Public Domain" } \null }
  ragged-right = ##f
  ragged-last = ##f
  ragged-bottom = ##f
  ragged-last-bottom = ##f
  top-margin = 15\mm
  bottom-margin = #10
  left-margin = 15\mm
  right-margin = #left-margin
  %page-breaking = #ly:minimal-breaking
  %page-breaking = #ly:one-page-breaking
  annotate-spacing = ##f

  #(define fonts
     (set-global-fonts
      #:music "Ross"
      #:brace "emmentaler"
      #:roman "Century Schoolbook L"
      #:sans "sans-serif"
      #:typewriter "monospace"
      ))
}

\header {
  title = \markup \override #'(font-name . "Edwardian Script ITC")
  \fontsize #9 "Nachts"
  subtitle = ""
  opus = "Opus 12 Nr. 2"
  composer = "Josephine Lang"
  enteredby = "mc"
  poet = "abgeschrieben von Monika M. C."
}

hps =
#(define-music-function (li re)
   (number? number?)
   #{
     \once \override Hairpin.shorten-pair = #`(,li . ,re)
   #}
   )

\layout {
  \context {
    \PianoStaff
    \consists #Span_stem_engraver
    \remove Keep_alive_together_engraver
  }
  \context {
    \Staff
    \RemoveAllEmptyStaves
    \remove "Dot_column_engraver"
  }
  \context {
    \StaffGroup
    \remove System_start_delimiter_engraver
  }
  \context {
    \Voice
    \consists "Dot_column_engraver"
    \override TextScript.font-name = #"French Script MT"
    \override TextScript.font-size = #6
  }
  \context {
    \Score
    \override BarNumber.color = #(rgb-color 0.7 0.7 0.7)
    \override BarNumber.layer = #-200
    \override BarNumber.outside-staff-priority =#'()
    \override BarNumber.padding = #1
    \override BarNumber.font-size = #-1.9
    \override BarNumber.font-series = #'bold
    \override BarNumber.self-alignment-X = #0
  }
  \context {
    \Lyrics
    \override LyricHyphen.dash-period = #6
    \override LyricHyphen.length = #1
    \override LyricHyphen.thickness = #1
    \override LyricHyphen.height = #1
    \override LyricHyphen.minimum-distance = #3
  }
}

dynamictext =
#(define-event-function (text) (markup?)
   (if (string? text)
       (let* ((underscores-replaced
               (string-map
                (lambda (x) (if (eq? x #\_) #\space x))
                text))
              (split-text (string-split underscores-replaced #\space))
              (formatted (map
                          (lambda (word)
                            (if (string-match "^[mrzfps]*$" word)
                                (markup #:dynamic word)
                                (markup #:normal-text
                                  #:override '(font-size . 6)
                                  #:override '(font-name . "French Script MT") word)))
                          split-text)))
         #{
           #(make-dynamic-script (make-line-markup formatted))
         #})
       ;; user provided a full-blown markup, so we don't mess with it:
       #{
         #(make-dynamic-script (markup #:normal-text text))
       #}))

Alt =
\relative c' {
  \key e \major
  \time 6/8
  R2. * 7
  r4 r8 r4 h8
  gis'4. fis
  a gis4 gis8
  fis4. e
  h2.
  r4 r8 e4.
  fis( gis4) gis8
  e4. r4 r8
  R1*6/8
  gis4. fis4 fis8
  a4. gis
  fis e4 e8
  h2.
  r4 r8 e4.
  fis gis4 gis8
  e2.~
  e4. r4 r8
  r4 r8 gis4.
  h~ h4 gis8
  ais2.
  gis4. r4 r8
  r4 r8 gis4.
  h~ h4 dis,8
  fis2.~
  fis4. r4 dis8
  dis4. h4 h8
  fis'4( dis8) a'4( fis8)
  cis'4.(~ cis4 a8)
  fis4. r4 dis8
  e4.( h4) h8
  h4. h
  h^\<( dis4)\> cis8\!
  h4.~ h4 r8
  r4 r8 r4 e8
  gis4 h,8 e[( gis]) h
  d4.~ d4 h8
  e,4.~ e4 e8
  e'2.~
  e4 cis8 \autoBeamOff a gis fis
  h2.\(
  gis4.\) r4 h8
  e2.(
  dis4.) dis
  dis2.
  cis4.~ cis4 cis8
  cis2.(
  dis) e
  gis~
  gis4. fis->
  e-> dis4 cis8
  h4. e~
  e gis,
  h2.~_\markup \italic "dim."
  h\( e,\)
  R2. * 5
  <<
    { \oneVoice R2. }
    \\
    {
      %% Anzeige der letzten Zeile erzwingen!
      \override NoteHead.transparent = ##t
      \override Stem.transparent = ##t
      e2
    }
  >>
  R2.\fermataMarkup
}

dynalt = {
  s2. * 26
  s2.\p
  s2. * 6
  s2.\< s\! s
  s\p s\pp
  s\dynamictext "ritart."
  s s2 s8 s\f
  s2. s s
  s\f s4 s8 s\> s s
  s2.\p s s\p s s\p
  s s\< s\! s
  s\ff s s
  s\< s\> s\<
  \override Hairpin.to-barline = ##f
  s\> s\!
}

dynpio = {
  s2.\pp
  s4.\<
  \override Hairpin.to-barline = ##f
  s\> s\! s
  s2. s4. s\< s\! s
  \override Hairpin.to-barline = ##t
  s2.\> s\p
  s s s s
  s\< s\!
  s4.\> s4 s8\< s4 s4\> s s\! s2
  s2. * 5
  \once \override Hairpin.shorten-pair = #'(0 . -2)
  s2.\<
  \once \override Hairpin.shorten-pair = #'(2 . 0)
  s4.\> s4.
  s2.\!
  s s s
  \once \override Hairpin.shorten-pair = #'(-1 . 0)
  s\< s\!
  s\p\<
  \once \override Hairpin.shorten-pair = #'(0 . 2)
  s\> s\p
  s s4.
  \once \override Hairpin.shorten-pair = #'(0 . 4)
  s\> s4. s\!
  s2.\pp
  s2.
  s\dynamictext "ritart."
  s
  s\ff s s s
  s\ff
  s4 s2\> s2.\p s2 s8 s8\pp
  s2. s s s
  s4
  \once \override Hairpin.shorten-pair = #'(0 . 3)
  s2\< s2 s4\!
  \once \override DynamicText.self-alignment-X = #-1
  s2.\dynamictext "cres."
  s4 s8\ff s4.
  s2. s s s
  s4. s\< s2.\> s\!
  s s s2 s4\p\<
  s2. s\!
  s2
  s4\> s8 s\! s8\pp
}

struktur = {
  \override Score.NonMusicalPaperColumn.page-break-permission = ##f
  \override StaffGroup.VerticalAxisGroup.staff-staff-spacing.basic-distance = #20
  \override PianoStaff.VerticalAxisGroup.staff-staff-spacing.basic-distance = #10
  s2. * 34 \pageBreak
}

Text =	\lyricmode {
  \override LyricHyphen.dash-period = #4.5
  \override LyricHyphen.length = #1.2
  \override LyricHyphen.height = #0.27
  Im Wal -- de weit auf der Hai -- de breit kein Hauch, kein Hauch!
  Le -- ge Dich mü -- der Wan -- der -- er
  auch jetzt un -- ter den Strauch! __
  Ist al -- les Stil -- le! Ist al -- les Ruh! __
  Be -- schlos -- sen in Frie -- dens Schran -- ken
  ist al -- les Stil -- le, al -- les Ruh! __
  Der Bach nur stür -- met im -- mer -- zu
  und mei -- ner Lie -- be Ge -- dan -- ken,
  und mei -- ner Lie -- be Ge -- dan -- ken,
  mei -- ner Lie -- be Ge -- dan -- _ _ _ ken!
}

RechteHand =
\relative c'' {
  \key e \major
  \once \override Score.MetronomeMark.X-offset = #-4
  \tempo \markup \caps "Allegro"
  \override Slur.height-limit = #6
  \shape #'((0 . 0) (1 . 0) (3 . 0) (5 . 0)) Slur
  gis4.(^\markup \italic "molto legato" e
  \change Staff=down <h, fis' a h >2.
  \change Staff=up
  gis''4. e
  \change Staff=down
  < h, fis' a h >2.)
  \once \override Slur.details.max-slope = 0
  \shape #'((0 . 4) (0 . 3) (0 . 0) (3 . 0)) Slur
  < dis fis a h >4.( < e a cis >
  \change Staff=up
  \override TextScript.self-alignment-X = #0
  \override TextScript.outside-staff-priority = ##f
  \override TextScript.padding = #0
  \once \override TextScript.extra-offset = #'(0 . -4.5)
  dis'4.^\markup \italic "legato" e
  < fis cis a > < gis dis h >)
  e2.
  < gis e >4. < h, dis fis >
  < a h dis a' >\arpeggio < gis h e gis >
  < a h dis fis > < gis h e >
  \change Staff=down
  < dis fis a h >4. < e a cis >
  \change Staff=up
  < fis a dis >4. < gis h e >
  < a cis fis > < h dis gis>
  e \change Staff=down
  < cis, e a cis >4.
  < cis fis a cis > < dis fis a h >
  \change Staff=up
  < e' gis >4. < h dis fis >4 < h dis fis >8
  < a h dis a' > 4. < e' gis >
  < dis fis > e
  \change Staff=down
  < dis, fis a h >4. < e a cis >
  \change Staff=up
  dis'4. e
  < a, cis fis > < h dis gis >
  e2. ~
  e4. e
  < gis, h e gis > <gis cis e gis >
  < gis h dis gis > < gis h dis >
  fisis'2.
  gis
  < e gis >4. < cis e gis >
  < h dis gis > < h dis fis >
  \change Staff=down
  \shape #'((0 . 4) (0 . 3) (0 . 1) (-1 . 0)) Slur
  < e,! fis ais cis >( < e fis ais cisis >
  \change Staff=up
  dis'2.) dis
  < a h dis fis >4. < h dis fis a >
  \once \override NoteColumn.force-hshift = #0.7
  cis'2.^\f(
  \once \override NoteColumn.force-hshift = #1.5
  h4.) a
  < e gis > < dis fis >
  e \change Staff=down < h, fis' a h >^\<
  < h e gis h >\>
  < e g ais >
  h'2.\!
  \change Staff=up
  < e gis >4.-^ < e gis >4.-^
  < e gis >4.-^ < e gis >4.-^
  < h d gis h > < d! e a d >
  < d e h' d > q
  < cis e h' cis > q
  < cis e a cis > < a cis fis a >
  fis' fisis
  <<
    { \once \override NoteColumn.force-hshift = #1.2 gis2. }
    \\
    { \voiceOne e4. }
  >>
  < e gis >4. < cis e gis >
  < his dis gis > < his dis gis >
  fis'2.
  < ais, cis fis >4. < ais cis fis >4.
  e'2.
  e
  e2.(
  < e gis >4. q
  e2.
  \once \override NoteColumn.force-hshift = #2
  fis2.)
  \once \override NoteColumn.force-hshift = #1.4
  gis2.
  <gis, h e gis >4. <gis h e gis >4.
  a'2.~ a
  < e gis >4. e
  \change Staff=down
  < h, fis' a h >2.
  \change Staff=up
  gis''4. e
  s2. s
  dis4. e
  < a, cis fis > 4. < h dis gis >^\fz
  e2.\fermata \bar "|."
}

LinkeHandAkkord =
\relative c' {
  \key e \major
  \crossStaff {
    < gis h >4. < e gis >
    s2.
    < gis h >4. < e gis >
    s2. s2.
    < fis a >4. < gis h >
    s2.
    < e gis >2.
    < gis h >4. fis
    s2. * 7
    < gis h >4. fis4 fis8
    s4. < gis h >
    < a h > < gis h >
    s2.
    < fis a >4. < gis h >
    s2.
    < e gis > 4. < cis e a cis >
    < e gis h > < e gis h >
    s2.
    s2.
    < fisis ais dis >4. < fisis ais dis >
    < gis h dis > < gis h dis >
    < gis h > gis
    gis fis
    s2.
    < dis fis h >4. < dis fis h >
    < dis fis h > < dis fis h >
    s2.
    \change Staff=up
    \voiceTwo
    < dis' fis a >4. q
    \once \override DotColumn.after-line-breaking =
    #(lambda (grob)
       (for-each
        (lambda (grob) (ly:grob-translate-axis! grob 1.5 X))
        (take (ly:grob-array->list (ly:grob-object grob 'dots)) 3)))
    q < h dis fis >
    \change Staff=down
    \voiceOne
    < gis h >4. < a h >
    < gis h > s
    s2.
    \voiceTwo
    <dis fis >4. <dis fis >4.
    \voiceOne
    < gis h > < gis h >
    < gis h > < gis h >
    s2. * 4
    < a h dis >2.
    <gis h >4. <gis h >4.
    <gis h >4. gis
    gis gis
    < fis h dis > < fis h dis >
    fis fis
    < e a! cis > < e a cis >
    < e a c > < e a c >
    < e gis h > < e gis h >
    < e gis > < e gis >
    < e fis ais cis > < e fis ais cis >
    \change Staff=up
    \voiceTwo
    < ais cis e > q
    < gis h e > q
    \change Staff=down
    \voiceOne
    s2.
    < a! h dis >4. < a h dis >
    < a h dis > < a h dis >
    < gis h > < e gis >
    s2.
    < gis h >4. < e gis >
    < h fis' a h >2.
    < dis fis a h >4. < e a cis >
    < fis a > < gis h >
    s2.
    < e gis >2.
  }
}
LinkeHandBass =
\relative c, {
  \key e \major
  r4 e8 r4 e8
  e4 e8 dis4 h8
  r4 e8~ e4 e8~
  e4 e8 dis4 h8~
  h4 h'8~ h4 h,8~
  h4 h'8~ h4 h,8~
  h4 h'8~ h4 h,8~
  h4 h8 < e e, >4.
  r4 <h h' >8~ < h h' >4 <h h' >8~
  < h h' >4 <h h' >8~ < h h' >4 <h h' >8
  r4 h8~ h4 h'8
  r4 h,8~ h4 h'8~
  h4 h,8~ h4 h'8
  r4 h,8~ h4 h'8
  r4 e,8 r4 < a, a' >8
  r4 < fis fis' >8 r4 < h h' >8
  r4 h'8~ h4 h,8~
  h4 h'8~ h4 h8~
  h4 h8~ h4 h8~
  h4 h,8~ h4 h'8~
  h4 h,8~ h4 h'8
  r4 <h, h' >8~ < h h' >4 <h h' >8
  r4 e8~ e4 < a, a' >8~
  <a a' >4 e'8~ e4 e'8
  r4 < e, e' >8 r4 < cis cis' >8
  r4 <gis gis' >8~ < gis gis' >4 <gis gis' >8~
  < gis gis' >4 < dis' dis' >8 r4 < dis dis' >8
  r4 gis8 r4 gis8
  r4 <e e' >8 r4 <e e' >8
  r4 <gis, gis' >8 r4 < h h' >8
  r4 fis'8~ fis4 fis8
  r4 < h, h' >8 r4 < h h' >8
  r4 h8 r4 h'8
  \oneVoice
  r4 h,8~ h4 h'8

  r4 <h, h' >8~ < h h' >4 <h h' >8~
  < h h' >4 \voiceTwo <h h' >8~ < h e h' >4 <h gis' h >8
  r4 h'8~ h4 h,8~
  h4 h'8 r4 dis,8
  r4 e8 r4 g8
  r4 h8 r4 h8
  r4 <e, h' e >8 r4 <e h' e >8
  r4 <e h' e >8 r4 <e h' e >8
  \oneVoice
  r4 <e h' e >8 r4 <e a e' >8
  r4 <e gis e' >8 r4 <e gis e' >8
  r4 < a, a' >8 r4 < a a' >8
  r4 < a e' a >8 r4 fis'8
  \voiceTwo
  r4 < h, h' >8 r4 < h h'>8
  r4 e8 r4 < e e' >8
  r4 < e e' >8 r4 < cis cis' >8
  r4 gis'8 r4 gis8
  r4 h,8 r4 dis8
  r4 fis8 r4 fis8
  r4 < a, a' >8 r4 < a a' >8
  r4 a8 r4 a'8
  r4 e8 r4 e8
  r4 < cis gis' cis >8 r4 < cis gis' cis >8
  r4 < fis cis' >8 r4 < fis cis' >8
  \oneVoice
  r4 < fis cis' >8 r4 < fis cis' >8
  r4 < h, h' >8 r4 h8
  r4 < h h' >8 r4 h'8
  \voiceTwo
  r4 h,8 r4 fis'8
  r4 h8 r4 h,8
  r4 e8~ e4 e8~
  e4 e8 dis4 h8~
  h4 e8~ e4 e8
  e4 e8 dis4 h8~
  h4 h'8~ h4 h,8~
  h4 h'8~ h4 h,8~
  h4 \voiceOne h'8~ h4 h,8_~
  h4 h8 < e, e' >4.\fermata
}

\score {
  \new StaffGroup
  <<
    \new Dynamics \dynalt
    \new Staff = "Alt" \with { instrumentName = \markup \fontsize #2 #"Alt" }
    \new Voice = "alt" \Alt
    \new Lyrics \lyricsto "alt" \Text
    \new PianoStaff
    \with { instrumentName = \markup \fontsize #2 "Pianoforte" }
    <<
      \new Staff = "up"
      <<
        \new Voice
        { \voiceOne \RechteHand }
        \context Voice { s2. * 6 \override Staff.BarNumber.stencil = ##f }
      >>
      \new Dynamics \dynpio
      \new Staff = "down"
      <<
        \new Voice
        {
          \voiceOne \LinkeHandAkkord
        }
        \new Voice
        { \clef bass \voiceTwo \LinkeHandBass }
        \new NullVoice \struktur
      >>
    >>
  >>
}

#(set-global-staff-size 24)
\include "articulate.ly"

#(define ((chord-name->german-markup-text-alteration B-instead-of-Bb) pitch lowercase?)

   (define (pitch-alteration-semitones pitch)
     (inexact->exact (round (* (ly:pitch-alteration pitch) 2))))

   (define (conditional-string-downcase str condition)
     (if condition
         (string-downcase str)
         str))

   (let* ((name (ly:pitch-notename pitch))
          (alt-semitones  (pitch-alteration-semitones pitch))
          (n-a (if (member (cons name alt-semitones) `((6 . -1) (6 . -1)))
                   (cons 7 (+ (if B-instead-of-Bb 1 1) alt-semitones))
                   (cons name alt-semitones))))
     (make-line-markup
      (list
       (make-simple-markup
        (conditional-string-downcase
         (vector-ref #("C" "D" "E" "F" "G" "A" "H" "B") (car n-a))
         lowercase?))
       (let ((alteration (/ (cdr n-a) 2)))
         (cond
          ((and (equal? lowercase? #f) (= alteration FLAT) (= (car n-a) 7)) (make-simple-markup ""))
          ((and (= alteration FLAT) (or (= (car n-a) 5) (= (car n-a) 2) )) (make-simple-markup "s"))
          ((= alteration FLAT) (make-simple-markup "es"))
          ((and (= alteration DOUBLE-FLAT) (or (= (car n-a) 5)(= (car n-a) 2) )) (make-simple-markup "ses"))
          ((= alteration DOUBLE-FLAT) (make-simple-markup "eses"))
          ((= alteration SHARP) (make-simple-markup "is"))
          ((= alteration DOUBLE-SHARP) (make-simple-markup "isis"))
          (else empty-markup)))))))

#(define germanChords (chord-name->german-markup-text-alteration #t))

editorsColor = #grey
ed =
#(define-music-function (grob col mus)
   (symbol-list-or-symbol? (color? editorsColor) ly:music?)
   ;; for abbreviations, we need a symbol instead of a one-element list
   (let ((grob (if (= 1 (length grob)) (car grob) grob)))
     (case
      grob
      ;; define abbreviations
      ;; which call the function recursively with a value
      ;; leading into the (else) clause
      ;; (or to _another_ abbreviation)
      ;; be careful to avoid infinite recursion :-)
      ;; – abbreviation names must not be actual grob names
      ;; (at least if they’re used in the corresponding
      ;; clause) or recursion will be infinite also
      ;; It is recommended to use singular forms only
      ;; for abbreviations.
      ((Caut) #{ \ed Staff.AccidentalCautionary #})
      ((LedgerLine) #{ % barline is workaround to issue 3949
        \stopStaff
        \ed Staff.LedgerLineSpanner {
          \startStaff
          $mus
          \stopStaff
        }
        \startStaff #})
      ((Mmr) #{ \ed MultiMeasureRest $mus #})
      ((Note) #{ \ed Staff.Accidental
                 \ed Beam
                 \ed Dots
                 \ed Flag
                 \ed LedgerLine
                 \ed NoteHead
                 \ed Rest
                 \ed Stem $mus #})
      ((Pitch) #{ \ed NoteHead $mus #})
      ((Suggest) #{ \ed Staff.AccidentalSuggestion #})
      ((StemWithFlag) #{ \ed Stem \ed Flag $mus #})
      ((Tuplet) #{ \ed TupletNumber \ed TupletBracket $mus #})
      ;; ‘normal’ case
      (else
       #{
         \override $grob . color = #col
         $mus
         \revert $grob . color
       #}))))

#(define new-stil
   (lambda (grob)
     (let* ((sz (ly:grob-property grob 'font-size 0.0))
            (mult (magstep sz))
            (dir (ly:grob-property grob 'direction))
            (thick 0.15)
            (radius 0.7)
            (scaled-radius (* mult radius))
            (ps-command-string
             (format #f
               "
             0 ~a translate
             ~a setlinewidth
             ~a 0 moveto
             0 0 ~a 180 0 ~a
             stroke
             "
               ;mult
               (* thick dir)
               thick
               (- scaled-radius)
               scaled-radius
               (if (negative? dir) "arcn" "arc"))))

       (ly:make-stencil
        (list 'embedded-ps
          (format #f
            "
              gsave currentpoint translate
              ~a
              grestore
              "
            ps-command-string))
        (cons (- scaled-radius) scaled-radius)
        (cons
         (if (negative? dir) 0 (- scaled-radius))
         (if (negative? dir) scaled-radius 0))))))

soft =
-\tweak stencil #new-stil \fermata

#(define-markup-command (golo-schu layout props titel nr ton)
   (string? string? string?)
   (interpret-markup layout props
     #{
       \markup
       {
         \column {
           \override #'(baseline-skip . 2)
           \column
           {
             \fill-line \override #'(baseline-skip . 2.5) {
               \huge \larger \larger \bold
               \center-column
               {
                 $titel
                 \fontsize #-3 \line { "GL &numero; 711/" $nr \fontsize #-1 \concat { " (bis 2013 &numero; 802/" $nr ) } }
                 " "
               }
             }
             \column
             \fontsize #-1.5
             {
               \fill-line {
                 "T: Josel Ph. Neumann (1774-1849)" "M: Franz Schubert (1797-1828)"
               }
               \fill-line {
                 "Notensatz: lilypond.miraheze.org" "Deutsche Messe D872"
               }
               \fill-line {
                 "" \concat { "Originaltonart: " $ton "-Dur" }
               }
             }
           }
         }
       }
     #}
     )
   )

#(define-markup-command (text-fromproperty layout props text-1 symbol text-2)
   (markup? symbol? markup?)
   #:category other
   (let ((m (chain-assoc-get symbol props)))
     (if (markup? m)
         ;; prevent infinite loops by clearing the interpreted property:
         (interpret-markup
          layout
          (cons (list (cons symbol `(,property-recursive-markup ,symbol))) props)
          (make-concat-markup (list text-1 m text-2)))
         empty-stencil)))

#(define-markup-command (tonart-fromproperty layout props text-1 symbol symbol2)
   (markup? symbol? symbol?)
   #:category other
   (let* ((m (chain-assoc-get symbol props))
          (ton (chain-assoc-get symbol2 props))
          (dur (if (markup? ton) ton "-Dur"))
          )
     (if (markup? m)
         ;; prevent infinite loops by clearing the interpreted property:
         (interpret-markup
          layout
          (cons (list (cons symbol `(,property-recursive-markup ,symbol))) props)
          (make-concat-markup (list text-1 m dur)))
         empty-stencil)))

dropLyrics =
#(define-scheme-function (l)(number?)
   #{
     \override LyricText.extra-offset = #`(0 . ,l)
     \override LyricHyphen.extra-offset = #`(0 . ,l)
     \override LyricExtender.extra-offset = #`(0 . ,l)
     \override StanzaNumber.extra-offset = #`(0 . ,l)
   #}
   )

raiseLyrics = {
  \revert LyricText.extra-offset
  \revert LyricHyphen.extra-offset
  \revert LyricExtender.extra-offset
  \revert StanzaNumber.extra-offset
}

\paper {
  #(include-special-characters)
  indent = #0
  ragged-right = ##f
  ragged-last = ##f
  print-all-headers = ##f
  print-first-page-number = ##f
  oddFooterMarkup = ##f
  evenFooterMarkup = ##f
  oddHeaderMarkup = #oddFooterMarkup
  evenHeaderMarkup = #evenFooterMarkup
  bookTitleMarkup = ##f
  scoreTitleMarkup =
  \markup {
    \override #'((baseline-skip . 2) )
    \column {
      \fill-line \override #'(baseline-skip . 2.5) {
        \huge \larger \larger \bold
        \center-column {
          \fromproperty #'header:title
          \fontsize #-2.5  {
            \fill-line { \fromproperty #'header:subtitle }
          }
          \fontsize #-3 \line {
            \text-fromproperty "GL &numero; " #'header:new-number ""
            \fontsize #-1
            \text-fromproperty " (bis 2013 &numero; " #'header:old-number ")"
          }
          " "
        }
      }
      \fontsize #-1.5 {
        \fill-line {
          \fromproperty #'header:poet \fromproperty #'header:composer
        }
        \fill-line {
          "Notensatz: lilypond.miraheze.org" ""
          \tonart-fromproperty "Originaltonart: " #'header:key  #'header:dur
        }
        \fill-line {
          \fromproperty  #'header:instrument
          \fromproperty  #'header:arranger
        }
      }
    }
  }
}

orgel =
%Notensatz für Orgelnoten 4stimmig + Text + Harmonisierung + Umbrüche
#(define-music-function (sop alt ten bas akk stru lyr p)
   (ly:music? ly:music? ly:music? ly:music? ly:music? ly:music? ly:music? ly:pitch?)
   #{
     <<
       \new ChordNames \transpose c $p $akk
       \new PianoStaff="leadsheet"
       <<
         \new Staff="up"
         <<
           \new Voice="Alt"
           \with { \consists Ambitus_engraver }
           { \voiceOne \transpose c $p $sop }
           \new Voice { \voiceTwo \transpose c $p $alt }
         >>
         \new Lyrics \lyricsto Alt $lyr
         \new Staff="down"
         <<
           \new Voice { \voiceOne \transpose c $p $ten }
           \new Voice { \voiceTwo \transpose c $p $bas }
           \new NullVoice $stru
         >>
       >>
     >>
   #}
   )

orgels =
%% simple orgelsatz nur SATBs kein Liedtext
#(define-music-function (sop alt ten bas stru p)
   (ly:music? ly:music? ly:music? ly:music? ly:music? ly:pitch?)
   #{
     <<
       \new PianoStaff="leadsheet"
       <<
         \new Staff="up"
         <<
           \new Voice="Alt"
           \with { \consists Ambitus_engraver }
           { \voiceOne \transpose c $p $sop }
           \new Voice { \voiceTwo \transpose c $p $alt }
         >>
         \new Staff="down"
         <<
           \new Voice { \voiceOne \transpose c $p $ten }
           \new Voice { \voiceTwo \transpose c $p $bas }
           \new NullVoice $stru
         >>
       >>
     >>
   #}
   )

orgelo =
% keine Transponiermöglichkeit
#(define-music-function (sop alt ten bas akk stru lyr)
   (ly:music? ly:music? ly:music? ly:music? ly:music? ly:music? ly:music?)
   #{
     <<
       \new ChordNames $akk
       \new PianoStaff="leadsheet"
       <<
         \new Staff="up"
         <<
           \new Voice="Alt"
           \with { \consists Ambitus_engraver }
           { \voiceOne $sop }
           \new Voice { \voiceTwo $alt }
         >>
         \new Lyrics \lyricsto Alt $lyr
         \new Staff="down"
         <<
           \new Voice { \voiceOne $ten }
           \new Voice { \voiceTwo $bas }
           \new NullVoice $stru
         >>
       >>
     >>
   #}
   )

orgelp =
%% Orgelsatz mit Pedal
#(define-music-function (sop alt ten bas ped akk stru lyr p)
   (ly:music? ly:music? ly:music? ly:music? ly:music? ly:music? ly:music? ly:music? ly:pitch?)
   #{

     <<
       \new ChordNames \transpose c $p $akk
       \new PianoStaff="leadsheet"
       <<
         \new Staff="up"
         <<
           \new Voice="Alt"
           \with { \consists Ambitus_engraver }
           { \voiceOne \transpose c $p $sop }
           \new Voice { \voiceTwo \transpose c $p $alt }
         >>
         \new Lyrics \lyricsto Alt $lyr
         \new Staff="down"
         <<
           \new Voice { \voiceOne \transpose c $p $ten }
           \new Voice { \voiceTwo \transpose c $p $bas }
           \new NullVoice $stru
         >>

       >>
       \new StaffGroup
       \new Staff="Pedal" \with {
         \magnifyStaff #5/7
       }
       <<
         \new Voice \transpose c $p $ped
       >>
     >>
   #}
   )

orgelpo =
%% Orgelnoten mit Pedal ohne Transponierung
#(define-music-function (sop alt ten bas ped akk stru lyr)
   (ly:music? ly:music? ly:music? ly:music? ly:music? ly:music? ly:music? ly:music?)
   #{

     <<
       \new ChordNames $akk
       \new PianoStaff="leadsheet"
       <<
         \new Staff="up"
         <<
           \new Voice="Alt"
           \with { \consists Ambitus_engraver }
           { \voiceOne $sop }
           \new Voice { \voiceTwo $alt }
         >>
         \new Lyrics \lyricsto Alt $lyr
         \new Staff="down"
         <<
           \new Voice { \voiceOne $ten }
           \new Voice { \voiceTwo $bas }
           \new NullVoice $stru
         >>

       >>
       \new StaffGroup
       \new Staff="Pedal" \with {
         \magnifyStaff #5/7
       }
       <<
         \new Voice $ped
       >>
     >>
   #}
   )

orgelly =
%% eine 2. Textzeile unterhalb
#(define-music-function (sop alt ten bas akk stru lyr lyrii p)
   (ly:music? ly:music? ly:music? ly:music? ly:music? ly:music? ly:music? ly:music? ly:pitch?)
   #{
     <<
       \new ChordNames \transpose c $p $akk
       \new PianoStaff="leadsheet"
       <<
         \new Staff="up"
         <<
           \new Voice="Alt"
           \with { \consists Ambitus_engraver }
           { \voiceOne \transpose c $p $sop }
           \new Voice { \voiceTwo \transpose c $p $alt }
         >>
         \new Lyrics \lyricsto Alt $lyr
         \new Lyrics \lyricsto Alt $lyrii
         \new Staff="down"
         <<
           \new Voice { \voiceOne \transpose c $p $ten }
           \new Voice { \voiceTwo \transpose c $p $bas }
           \new NullVoice $stru
         >>
       >>
     >>
   #}
   )

orgelpre =
%Notensatz für Vorspiel 4stimmig + Umbrüche
#(define-music-function (sop alt ten bas stru p)
   (ly:music? ly:music? ly:music? ly:music? ly:music? ly:pitch?)
   #{
     <<
       \new PianoStaff="up"
       <<
         \new Staff="up"
         <<
           \new Voice="Alt" { \voiceOne \transpose c $p $sop }
           \new Voice { \voiceTwo \transpose c $p $alt }
         >>
         \new Staff="down"
         <<
           \new Voice { \voiceOne \transpose c $p $ten }
           \new Voice { \voiceTwo \transpose c $p $bas }
           \new NullVoice $stru
         >>
       >>
     >>
   #}
   )

make-midi-list =
#(define-void-function (name score tempolist)
   ((string? #f) ly:score? list?)
   (for-each
    (lambda (tempo)
      (ly:book-process
       (apply
        ly:make-book
        $defaultpaper
        $defaultheader
        (list score))
       $defaultpaper
       #{
         \midi {
           \tempo 4 = $tempo
         }
       #}
       (format #f "~a_~a"
         (or name (substring (ly:parser-output-name) 4))
         tempo)))
    tempolist))

formidi =
%erzeugen des Scores für Midi
#(define-music-function (sop alt ten bas voc)
   (ly:music? ly:music? ly:music? ly:music? ly:music?)
   #{
     <<
       \new Staff {
         \new Voice {
           \set Staff.midiInstrument = "choir aahs"
           $voc
         }
       }
       \new Staff <<
         \set Staff.midiInstrument = "Church Organ"
         \new Voice $sop
         \new Voice $alt
         \new Voice $ten
         \new Voice $bas
       >>
     >>
   #}
   )

#(define myMidi "C:/Manuela/_Lilypond/orgel/Golo/midi/")

midi-list =
#(define-void-function (name sop alt ten bas voc tempolist)
   ((string? #f) ly:music? ly:music? ly:music? ly:music? ly:music? list?)
   (for-each
    (lambda (tempo)
      (ly:book-process
       (apply
        ly:make-book
        $defaultpaper
        $defaultheader
        (list (scorify-music #{
          <<
            \unfoldRepeats \new Staff {
              \new Voice {
                \set Staff.midiInstrument = "choir aahs"
                $voc
              }
            }
            \unfoldRepeats \new Staff <<
              \set Staff.midiInstrument = "Church Organ"
              \new Voice $sop
              \new Voice $alt
              \new Voice $ten
              \new Voice $bas
            >>
          >>
                #})))
       $defaultpaper
       #{
         \midi {
           \tempo 4 = $tempo
         }
       #}
       (format #f "~a_~a"
         (or name (string-append myMidi (ly:parser-output-name)))
         tempo)))
    tempolist))

midi-list-paus =
#(define-void-function (name sop alt ten bas voc pause tempolist)
   ((string? #f) ly:music? ly:music? ly:music? ly:music? ly:music? ly:music? list?)
   (for-each
    (lambda (tempo)
      (ly:book-process
       (apply
        ly:make-book
        $defaultpaper
        $defaultheader
        (list (scorify-music #{
          <<
            \unfoldRepeats \new Staff {
              \new Voice {
                \set Staff.midiInstrument = "choir aahs"
                $pause $voc
              }
            }
            \unfoldRepeats
            <<
              \new Staff \with { midiInstrument = #"church organ" }
              { $pause $sop }
              \new Staff \with { midiInstrument = #"church organ" }
              { $pause $alt }
              \new Staff \with { midiInstrument = #"church organ" }
              { $pause $ten }
              \new Staff \with { midiInstrument = #"church organ" }
              { $pause $bas }
            >>
          >>
                #})))
       $defaultpaper
       #{
         \midi {
           \tempo 4 = $tempo
         }
       #}
       (format #f "~a_~a"
         (or name (string-append myMidi (ly:parser-output-name)))
         tempo)))
    tempolist))

mynote =
#(define-music-function (m)
   (ly:duration?)
   #{
     \override Score.RehearsalMark.break-align-symbols = #'(time-signature)
     \once \override Score.RehearsalMark.self-alignment-X = #-1
     \mark \markup \fontsize #-3.5 \note { $m } #UP
   #}
   )

mynotes =
#(define-music-function (m n)
   (ly:duration? ly:duration?)
   #{
     \override Score.RehearsalMark.break-align-symbols = #'(time-signature)
     \once \override Score.RehearsalMark.self-alignment-X = #-1
     \mark \markup \concat { \fontsize #-3.5 \note { $m } #UP " /" \fontsize #-3.5 \note { $n } #UP }
   #}
   )

myottava =
#(define-music-function (o) (integer?)
   (let ((text (case o
                 ((0) #f)
                 ((1 -1) "8")
                 ((2 -2) "15"))))
     #{
       \ottava #o
       \set Staff.ottavation = #text
     #}))



chExceptionMusic = {
  <c e gis>1-\markup "(m)"
  <c f g>1-\markup \super "4"
}

% Convert music to list and prepend to existing exceptions.
chExceptions = #(append
                 (sequential-music-to-chord-exceptions chExceptionMusic #t)
                 ignatzekExceptions)

\layout {
  \context {
    \Voice
    beamExceptions = #'()
    \override BreathingSign.text =
    \markup { \musicglyph "scripts.lvarcomma" }
    \override Stem.neutral-direction = #down
    \override Script.outside-staff-priority = #'()
    \override Script.padding = #1
    \override Tie.thickness = #1
    \override PhrasingSlur.thickness = #3
    \override Rest.voiced-position = #0
    \override MultiMeasureRest.expand-limit = #3
    \consists Horizontal_bracket_engraver
    \override HorizontalBracket.direction = #UP
    \override HorizontalBracket.bracket-flare = #'(0 . 0)
    \override HorizontalBracketText.text = \markup \italic "Intro"
    \override HorizontalBracket.shorten-pair = #'(.5 . .5)
  }
  \context {
    \Lyrics
    \override VerticalAxisGroup.staff-affinity = #CENTER
    \override LyricText.font-size = #-1.5
    \override StanzaNumber.font-size = #-1.5
  }
  \context {
    \Staff
    printPartCombineTexts = ##f
    beamExceptions = #'()
    \override BreathingSign.text =
    \markup { \musicglyph "scripts.lvarcomma" }
    \override InstrumentName.font-features = #'("smcp")
    \consists #Span_stem_engraver
    %     \consists Measure_spanner_engraver
    %     \override MeasureSpanner.text = \markup \italic "Intro"
  }
  \context {
    \Score
    \override VerticalAxisGroup.remove-first = ##t
    skipBars = ##f
    \override MetronomeMark.font-size = #1
    \override MetronomeMark.font-shape = #'caps
    \override BarLine.thick-thickness = 5
    \override Timing.beamExceptions = #'()
    \override BarNumber.color = #(rgb-color 0.7 0.7 0.7)
    \override BarNumber.layer = #-200
    \override BarNumber.padding = #0.4
    \override BarNumber.outside-staff-priority =#'()
    \override BarNumber.after-line-breaking = ##f
    \override BarNumber.font-size = #-1
    \override BarNumber.font-series = #'bold
    \override BarNumber.self-alignment-X = #0
    \override BarNumber.break-visibility = #end-of-line-invisible
    \override SystemStartBar.collapse-height = #4

  }
  \context {
    \ChordNames
    chordNameLowercaseMinor = ##f
    \remove Staff_performer
    chordRootNamer = #germanChords
    \override ChordName.font-name = #"Orator10 BT"
    chordNoteNamer = #(chord-name->german-markup #f)
    \override ChordName.X-offset =
    #ly:self-alignment-interface::aligned-on-x-parent
    chordNameExceptions = #chExceptions
    \override ChordName.self-alignment-X = #CENTER
    \override ChordName.font-name = #"Arial Narrow"
    \override ChordName.layer = #2
    \override ChordName.font-size = #-0.5
    noChordSymbol = ##f
    \consists Horizontal_bracket_engraver
    \override HorizontalBracket.direction = #UP
    \override HorizontalBracket.bracket-flare = #'(0 . 0)
    \override HorizontalBracketText.text = \markup \italic "Intro"
  }
  \context {
    \PianoStaff
    \override StaffGrouper.staffgroup-staff-spacing.basic-distance = #2
    \override StaffGrouper.staffgroup-staff-spacing.minimum-distance = #0
  }
  \context {
    \StaffGroup
    \override SystemStartBracket.collapse-height = #4
    \override SystemStartBracket.thickness = #.2
  }
}

oob = { \once \override Score.BarNumber.stencil = ##f \bar "" }
bnf = \once \override Score.BarNumber.stencil = ##f

gloria = \markup \override #'(baseline-skip . 2) \left-column {
  \line { Gloria: Ehre sei Gott }
  \line {
    Stichwort: \italic "Herr, erbarme dich unser"
  }
  \line { manchmal sagt der P so etwas ähnliches wie \italic "Ehre sei Gott in der Höhe" }
}

sanctus = \markup \override #'(baseline-skip . 2) \left-column {
  \line { Lobpreis Gottes: Heilig, heilig, heilig }
  \line {
    Stichwort: \italic "und singen mit den Engeln das Lob deiner Herrlichkeit"
  }
}

antwortlied = \markup \override #'(baseline-skip . 2) \left-column {
  \line { Antwortlied: nach der ersten Lesung }
  \line {
    Stichwort: \italic "Wort des lebendigen Gottes"
  }
}

gabenbereitung = \markup \override #'(baseline-skip . 2) \left-column {
  \wordwrap { Gabenbereitung (Offertorium): Beginn der Eucharistiefeier, nach den Fürbitten }
  \vspace #.2
  \line {
    Stichwort: \italic "darum bitten wir durch Christus, unsern Herrn"
  }
}

agnus =  \markup \override #'(baseline-skip . 2) \left-column {
  \line { Agnus Dei: Pfarrer zerbricht Hostie in mehrere Teile }
  \line {
    wann: nach dem Friedensgruß
  }
}

danklied =  \markup \override #'(baseline-skip . 2) \left-column {
  \line { Danklied }
  \line {
    wann: nach der Kommunionausteilung
  }
}

auszug =   \markup \override #'(baseline-skip . 2) \left-column {
  \line { Auszug, Verabschiedung }
  \line {
    Stichwort: \italic "gehet hin in Frieden"
  }
}

halleljua =  \markup \override #'(baseline-skip . 3) \left-column {
  \line { 1x leise }
  \line {
    1x leise, Vorbeter singt
  }
  \line {
    1x laut, Gemeinde singt
  }
  \line { Vorbeter betet }
  \line {
    1x laut, Gemeinde singt
  }
}

noambitus = {
  \override AmbitusLine.stencil = ##f
  \override AmbitusNoteHead.stencil = ##f
}

myintro =
#(define-music-function (m) ((string? #f) )
   #{
     \override HorizontalBracketText.text = \markup \italic { "Intro" $m }
   #})

%% Zusatztext und extra-offset sind optional
%% es müssen beide Parameter angegeben werden, wenn einer angegeben wird
mybrack =
#(define-music-function (t n m) ((string? #f) (number? 3.5) ly:music?)
   #{
     {
       \once \override HorizontalBracket.Y-extent = #'(0 . 0)
       \once \override HorizontalBracketText.Y-extent = #'(0 . 0)
       \once \override HorizontalBracket.extra-offset = #`(0 . ,n)
       \once \override HorizontalBracketText.extra-offset = #`(0 . ,n)
       \once \override HorizontalBracketText.text =
       \markup \italic { "Intro" #(or t "") }
       <>\startGroup
       $m
       \stopGroup
     }
   #})

%% ein optionaler Parameter
%% n ... extra-offset, nach oben verschieben
%%       der Standardwert ist für einen ChordNames-context oberhalb berechnet
%% der Zusatztext wird auf \null gesetzt

mybrack-offset =
#(define-music-function (n m) ((number? 3.5) ly:music?)
   #{
     {
       \mybrack "" $n $m
     }
   #})

#(define (lined-nh grob)
   (let* ((default-stil (ly:note-head::print grob))
          (default-stil-x-lngth
           (interval-length (ly:stencil-extent default-stil X)))
          (line-thickness (ly:staff-symbol-line-thickness grob))
          (staff-space (ly:staff-symbol-staff-space grob))
          (font-size
           (assoc-get 'font-size
             (ly:prob-property (ly:grob-property grob 'cause) 'tweaks)))
          (corr
           (if (number? font-size)
               (magstep font-size)
               1))
          (lne
           (make-line-stencil
            (* 1.9 corr line-thickness)
            0
            (/ (* 1.25 corr staff-space) -2)
            0
            (/ (* 1.25 corr staff-space) 2))))
     (ly:stencil-add
      lne
      (ly:stencil-translate-axis
       default-stil (* 0.95 corr line-thickness) X)
      (ly:stencil-translate-axis
       lne (+ (* 1.9 corr line-thickness) default-stil-x-lngth) X))))

#(set-global-staff-size 24)
\include "articulate.ly"

#(define ((chord-name->german-markup-text-alteration B-instead-of-Bb) pitch lowercase?)

   (define (pitch-alteration-semitones pitch)
     (inexact->exact (round (* (ly:pitch-alteration pitch) 2))))

   (define (conditional-string-downcase str condition)
     (if condition
         (string-downcase str)
         str))

   (let* ((name (ly:pitch-notename pitch))
          (alt-semitones  (pitch-alteration-semitones pitch))
          (n-a (if (member (cons name alt-semitones) `((6 . -1) (6 . -1)))
                   (cons 7 (+ (if B-instead-of-Bb 1 1) alt-semitones))
                   (cons name alt-semitones))))
     (make-line-markup
      (list
       (make-simple-markup
        (conditional-string-downcase
         (vector-ref #("C" "D" "E" "F" "G" "A" "H" "B") (car n-a))
         lowercase?))
       (let ((alteration (/ (cdr n-a) 2)))
         (cond
          ((and (equal? lowercase? #f) (= alteration FLAT) (= (car n-a) 7)) (make-simple-markup ""))
          ((and (= alteration FLAT) (or (= (car n-a) 5) (= (car n-a) 2) )) (make-simple-markup "s"))
          ((= alteration FLAT) (make-simple-markup "es"))
          ((and (= alteration DOUBLE-FLAT) (or (= (car n-a) 5)(= (car n-a) 2) )) (make-simple-markup "ses"))
          ((= alteration DOUBLE-FLAT) (make-simple-markup "eses"))
          ((= alteration SHARP) (make-simple-markup "is"))
          ((= alteration DOUBLE-SHARP) (make-simple-markup "isis"))
          (else empty-markup)))))))

#(define germanChords (chord-name->german-markup-text-alteration #t))

editorsColor = #grey
ed =
#(define-music-function (grob col mus)
   (symbol-list-or-symbol? (color? editorsColor) ly:music?)
   ;; for abbreviations, we need a symbol instead of a one-element list
   (let ((grob (if (= 1 (length grob)) (car grob) grob)))
     (case
      grob
      ;; define abbreviations
      ;; which call the function recursively with a value
      ;; leading into the (else) clause
      ;; (or to _another_ abbreviation)
      ;; be careful to avoid infinite recursion :-)
      ;; – abbreviation names must not be actual grob names
      ;; (at least if they’re used in the corresponding
      ;; clause) or recursion will be infinite also
      ;; It is recommended to use singular forms only
      ;; for abbreviations.
      ((Caut) #{ \ed Staff.AccidentalCautionary #})
      ((LedgerLine) #{ % barline is workaround to issue 3949
        \stopStaff
        \ed Staff.LedgerLineSpanner {
          \startStaff
          $mus
          \stopStaff
        }
        \startStaff #})
      ((Mmr) #{ \ed MultiMeasureRest $mus #})
      ((Note) #{ \ed Staff.Accidental
                 \ed Beam
                 \ed Dots
                 \ed Flag
                 \ed LedgerLine
                 \ed NoteHead
                 \ed Rest
                 \ed Stem $mus #})
      ((Pitch) #{ \ed NoteHead $mus #})
      ((Suggest) #{ \ed Staff.AccidentalSuggestion #})
      ((StemWithFlag) #{ \ed Stem \ed Flag $mus #})
      ((Tuplet) #{ \ed TupletNumber \ed TupletBracket $mus #})
      ;; ‘normal’ case
      (else
       #{
         \override $grob . color = #col
         $mus
         \revert $grob . color
       #}))))

#(define new-stil
   (lambda (grob)
     (let* ((sz (ly:grob-property grob 'font-size 0.0))
            (mult (magstep sz))
            (dir (ly:grob-property grob 'direction))
            (thick 0.15)
            (radius 0.7)
            (scaled-radius (* mult radius))
            (ps-command-string
             (format #f
               "
             0 ~a translate
             ~a setlinewidth
             ~a 0 moveto
             0 0 ~a 180 0 ~a
             stroke
             "
               ;mult
               (* thick dir)
               thick
               (- scaled-radius)
               scaled-radius
               (if (negative? dir) "arcn" "arc"))))

       (ly:make-stencil
        (list 'embedded-ps
          (format #f
            "
              gsave currentpoint translate
              ~a
              grestore
              "
            ps-command-string))
        (cons (- scaled-radius) scaled-radius)
        (cons
         (if (negative? dir) 0 (- scaled-radius))
         (if (negative? dir) scaled-radius 0))))))

soft =
-\tweak stencil #new-stil \fermata

#(define-markup-command (golo-schu layout props titel nr ton)
   (string? string? string?)
   (interpret-markup layout props
     #{
       \markup
       {
         \column {
           \override #'(baseline-skip . 2)
           \column
           {
             \fill-line \override #'(baseline-skip . 2.5) {
               \huge \larger \larger \bold
               \center-column
               {
                 $titel
                 \fontsize #-3 \line { "GL &numero; 711/" $nr \fontsize #-1 \concat { " (bis 2013 &numero; 802/" $nr ) } }
                 " "
               }
             }
             \column
             \fontsize #-1.5
             {
               \fill-line {
                 "T: Josel Ph. Neumann (1774-1849)" "M: Franz Schubert (1797-1828)"
               }
               \fill-line {
                 "Notensatz: lilypond.miraheze.org" "Deutsche Messe D872"
               }
               \fill-line {
                 "" \concat { "Originaltonart: " $ton "-Dur" }
               }
             }
           }
         }
       }
     #}
     )
   )

#(define-markup-command (text-fromproperty layout props text-1 symbol text-2)
   (markup? symbol? markup?)
   #:category other
   (let ((m (chain-assoc-get symbol props)))
     (if (markup? m)
         ;; prevent infinite loops by clearing the interpreted property:
         (interpret-markup
          layout
          (cons (list (cons symbol `(,property-recursive-markup ,symbol))) props)
          (make-concat-markup (list text-1 m text-2)))
         empty-stencil)))

#(define-markup-command (tonart-fromproperty layout props text-1 symbol symbol2)
   (markup? symbol? symbol?)
   #:category other
   (let* ((m (chain-assoc-get symbol props))
          (ton (chain-assoc-get symbol2 props))
          (dur (if (markup? ton) ton "-Dur"))
          )
     (if (markup? m)
         ;; prevent infinite loops by clearing the interpreted property:
         (interpret-markup
          layout
          (cons (list (cons symbol `(,property-recursive-markup ,symbol))) props)
          (make-concat-markup (list text-1 m dur)))
         empty-stencil)))

dropLyrics =
#(define-scheme-function (l)(number?)
   #{
     \override LyricText.extra-offset = #`(0 . ,l)
     \override LyricHyphen.extra-offset = #`(0 . ,l)
     \override LyricExtender.extra-offset = #`(0 . ,l)
     \override StanzaNumber.extra-offset = #`(0 . ,l)
   #}
   )

raiseLyrics = {
  \revert LyricText.extra-offset
  \revert LyricHyphen.extra-offset
  \revert LyricExtender.extra-offset
  \revert StanzaNumber.extra-offset
}

\paper {
  #(include-special-characters)
  indent = #0
  ragged-right = ##f
  ragged-last = ##f
  print-all-headers = ##f
  print-first-page-number = ##f
  oddFooterMarkup = ##f
  evenFooterMarkup = ##f
  oddHeaderMarkup = #oddFooterMarkup
  evenHeaderMarkup = #evenFooterMarkup
  bookTitleMarkup = ##f
  scoreTitleMarkup =
  \markup {
    \override #'((baseline-skip . 2) )
    \column {
      \fill-line \override #'(baseline-skip . 2.5) {
        \huge \larger \larger \bold
        \center-column {
          \fromproperty #'header:title
          \fontsize #-2.5  {
            \fill-line { \fromproperty #'header:subtitle }
          }
          \fontsize #-3 \line {
            \text-fromproperty "GL &numero; " #'header:new-number ""
            \fontsize #-1
            \text-fromproperty " (bis 2013 &numero; " #'header:old-number ")"
          }
          " "
        }
      }
      \fontsize #-1.5 {
        \fill-line {
          \fromproperty #'header:poet \fromproperty #'header:composer
        }
        \fill-line {
          "Notensatz: lilypond.miraheze.org" ""
          \tonart-fromproperty "Originaltonart: " #'header:key  #'header:dur
        }
        \fill-line {
          \fromproperty  #'header:instrument
          \fromproperty  #'header:arranger
        }
      }
    }
  }
}

orgel =
%Notensatz für Orgelnoten 4stimmig + Text + Harmonisierung + Umbrüche
#(define-music-function (sop alt ten bas akk stru lyr p)
   (ly:music? ly:music? ly:music? ly:music? ly:music? ly:music? ly:music? ly:pitch?)
   #{
     <<
       \new ChordNames \transpose c $p $akk
       \new PianoStaff="leadsheet"
       <<
         \new Staff="up"
         <<
           \new Voice="Alt"
           \with { \consists Ambitus_engraver }
           { \voiceOne \transpose c $p $sop }
           \new Voice { \voiceTwo \transpose c $p $alt }
         >>
         \new Lyrics \lyricsto Alt $lyr
         \new Staff="down"
         <<
           \new Voice { \voiceOne \transpose c $p $ten }
           \new Voice { \voiceTwo \transpose c $p $bas }
           \new NullVoice $stru
         >>
       >>
     >>
   #}
   )

orgels =
%% simple orgelsatz nur SATBs kein Liedtext
#(define-music-function (sop alt ten bas stru p)
   (ly:music? ly:music? ly:music? ly:music? ly:music? ly:pitch?)
   #{
     <<
       \new PianoStaff="leadsheet"
       <<
         \new Staff="up"
         <<
           \new Voice="Alt"
           \with { \consists Ambitus_engraver }
           { \voiceOne \transpose c $p $sop }
           \new Voice { \voiceTwo \transpose c $p $alt }
         >>
         \new Staff="down"
         <<
           \new Voice { \voiceOne \transpose c $p $ten }
           \new Voice { \voiceTwo \transpose c $p $bas }
           \new NullVoice $stru
         >>
       >>
     >>
   #}
   )

orgelo =
% keine Transponiermöglichkeit
#(define-music-function (sop alt ten bas akk stru lyr)
   (ly:music? ly:music? ly:music? ly:music? ly:music? ly:music? ly:music?)
   #{
     <<
       \new ChordNames $akk
       \new PianoStaff="leadsheet"
       <<
         \new Staff="up"
         <<
           \new Voice="Alt"
           \with { \consists Ambitus_engraver }
           { \voiceOne $sop }
           \new Voice { \voiceTwo $alt }
         >>
         \new Lyrics \lyricsto Alt $lyr
         \new Staff="down"
         <<
           \new Voice { \voiceOne $ten }
           \new Voice { \voiceTwo $bas }
           \new NullVoice $stru
         >>
       >>
     >>
   #}
   )

orgelp =
%% Orgelsatz mit Pedal
#(define-music-function (sop alt ten bas ped akk stru lyr p)
   (ly:music? ly:music? ly:music? ly:music? ly:music? ly:music? ly:music? ly:music? ly:pitch?)
   #{

     <<
       \new ChordNames \transpose c $p $akk
       \new PianoStaff="leadsheet"
       <<
         \new Staff="up"
         <<
           \new Voice="Alt"
           \with { \consists Ambitus_engraver }
           { \voiceOne \transpose c $p $sop }
           \new Voice { \voiceTwo \transpose c $p $alt }
         >>
         \new Lyrics \lyricsto Alt $lyr
         \new Staff="down"
         <<
           \new Voice { \voiceOne \transpose c $p $ten }
           \new Voice { \voiceTwo \transpose c $p $bas }
           \new NullVoice $stru
         >>

       >>
       \new StaffGroup
       \new Staff="Pedal" \with {
         \magnifyStaff #5/7
       }
       <<
         \new Voice \transpose c $p $ped
       >>
     >>
   #}
   )

orgelpo =
%% Orgelnoten mit Pedal ohne Transponierung
#(define-music-function (sop alt ten bas ped akk stru lyr)
   (ly:music? ly:music? ly:music? ly:music? ly:music? ly:music? ly:music? ly:music?)
   #{

     <<
       \new ChordNames $akk
       \new PianoStaff="leadsheet"
       <<
         \new Staff="up"
         <<
           \new Voice="Alt"
           \with { \consists Ambitus_engraver }
           { \voiceOne $sop }
           \new Voice { \voiceTwo $alt }
         >>
         \new Lyrics \lyricsto Alt $lyr
         \new Staff="down"
         <<
           \new Voice { \voiceOne $ten }
           \new Voice { \voiceTwo $bas }
           \new NullVoice $stru
         >>

       >>
       \new StaffGroup
       \new Staff="Pedal" \with {
         \magnifyStaff #5/7
       }
       <<
         \new Voice $ped
       >>
     >>
   #}
   )

orgelly =
%% eine 2. Textzeile unterhalb
#(define-music-function (sop alt ten bas akk stru lyr lyrii p)
   (ly:music? ly:music? ly:music? ly:music? ly:music? ly:music? ly:music? ly:music? ly:pitch?)
   #{
     <<
       \new ChordNames \transpose c $p $akk
       \new PianoStaff="leadsheet"
       <<
         \new Staff="up"
         <<
           \new Voice="Alt"
           \with { \consists Ambitus_engraver }
           { \voiceOne \transpose c $p $sop }
           \new Voice { \voiceTwo \transpose c $p $alt }
         >>
         \new Lyrics \lyricsto Alt $lyr
         \new Lyrics \lyricsto Alt $lyrii
         \new Staff="down"
         <<
           \new Voice { \voiceOne \transpose c $p $ten }
           \new Voice { \voiceTwo \transpose c $p $bas }
           \new NullVoice $stru
         >>
       >>
     >>
   #}
   )

orgelpre =
%Notensatz für Vorspiel 4stimmig + Umbrüche
#(define-music-function (sop alt ten bas stru p)
   (ly:music? ly:music? ly:music? ly:music? ly:music? ly:pitch?)
   #{
     <<
       \new PianoStaff="up"
       <<
         \new Staff="up"
         <<
           \new Voice="Alt" { \voiceOne \transpose c $p $sop }
           \new Voice { \voiceTwo \transpose c $p $alt }
         >>
         \new Staff="down"
         <<
           \new Voice { \voiceOne \transpose c $p $ten }
           \new Voice { \voiceTwo \transpose c $p $bas }
           \new NullVoice $stru
         >>
       >>
     >>
   #}
   )

make-midi-list =
#(define-void-function (name score tempolist)
   ((string? #f) ly:score? list?)
   (for-each
    (lambda (tempo)
      (ly:book-process
       (apply
        ly:make-book
        $defaultpaper
        $defaultheader
        (list score))
       $defaultpaper
       #{
         \midi {
           \tempo 4 = $tempo
         }
       #}
       (format #f "~a_~a"
         (or name (substring (ly:parser-output-name) 4))
         tempo)))
    tempolist))

formidi =
%erzeugen des Scores für Midi
#(define-music-function (sop alt ten bas voc)
   (ly:music? ly:music? ly:music? ly:music? ly:music?)
   #{
     <<
       \new Staff {
         \new Voice {
           \set Staff.midiInstrument = "choir aahs"
           $voc
         }
       }
       \new Staff <<
         \set Staff.midiInstrument = "Church Organ"
         \new Voice $sop
         \new Voice $alt
         \new Voice $ten
         \new Voice $bas
       >>
     >>
   #}
   )

#(define myMidi "C:/Manuela/_Lilypond/orgel/Golo/midi/")

midi-list =
#(define-void-function (name sop alt ten bas voc tempolist)
   ((string? #f) ly:music? ly:music? ly:music? ly:music? ly:music? list?)
   (for-each
    (lambda (tempo)
      (ly:book-process
       (apply
        ly:make-book
        $defaultpaper
        $defaultheader
        (list (scorify-music #{
          <<
            \unfoldRepeats \new Staff {
              \new Voice {
                \set Staff.midiInstrument = "choir aahs"
                $voc
              }
            }
            \unfoldRepeats \new Staff <<
              \set Staff.midiInstrument = "Church Organ"
              \new Voice $sop
              \new Voice $alt
              \new Voice $ten
              \new Voice $bas
            >>
          >>
                #})))
       $defaultpaper
       #{
         \midi {
           \tempo 4 = $tempo
         }
       #}
       (format #f "~a_~a"
         (or name (string-append myMidi (ly:parser-output-name)))
         tempo)))
    tempolist))

midi-list-paus =
#(define-void-function (name sop alt ten bas voc pause tempolist)
   ((string? #f) ly:music? ly:music? ly:music? ly:music? ly:music? ly:music? list?)
   (for-each
    (lambda (tempo)
      (ly:book-process
       (apply
        ly:make-book
        $defaultpaper
        $defaultheader
        (list (scorify-music #{
          <<
            \unfoldRepeats \new Staff {
              \new Voice {
                \set Staff.midiInstrument = "choir aahs"
                $pause $voc
              }
            }
            \unfoldRepeats
            <<
              \new Staff \with { midiInstrument = #"church organ" }
              { $pause $sop }
              \new Staff \with { midiInstrument = #"church organ" }
              { $pause $alt }
              \new Staff \with { midiInstrument = #"church organ" }
              { $pause $ten }
              \new Staff \with { midiInstrument = #"church organ" }
              { $pause $bas }
            >>
          >>
                #})))
       $defaultpaper
       #{
         \midi {
           \tempo 4 = $tempo
         }
       #}
       (format #f "~a_~a"
         (or name (string-append myMidi (ly:parser-output-name)))
         tempo)))
    tempolist))

mynote =
#(define-music-function (m)
   (ly:duration?)
   #{
     \override Score.RehearsalMark.break-align-symbols = #'(time-signature)
     \once \override Score.RehearsalMark.self-alignment-X = #-1
     \mark \markup \fontsize #-3.5 \note { $m } #UP
   #}
   )

mynotes =
#(define-music-function (m n)
   (ly:duration? ly:duration?)
   #{
     \override Score.RehearsalMark.break-align-symbols = #'(time-signature)
     \once \override Score.RehearsalMark.self-alignment-X = #-1
     \mark \markup \concat { \fontsize #-3.5 \note { $m } #UP " /" \fontsize #-3.5 \note { $n } #UP }
   #}
   )

myottava =
#(define-music-function (o) (integer?)
   (let ((text (case o
                 ((0) #f)
                 ((1 -1) "8")
                 ((2 -2) "15"))))
     #{
       \ottava #o
       \set Staff.ottavation = #text
     #}))



chExceptionMusic = {
  <c e gis>1-\markup "(m)"
  <c f g>1-\markup \super "4"
}

% Convert music to list and prepend to existing exceptions.
chExceptions = #(append
                 (sequential-music-to-chord-exceptions chExceptionMusic #t)
                 ignatzekExceptions)

\layout {
  \context {
    \Voice
    beamExceptions = #'()
    \override BreathingSign.text =
    \markup { \musicglyph "scripts.lvarcomma" }
    \override Stem.neutral-direction = #down
    \override Script.outside-staff-priority = #'()
    \override Script.padding = #1
    \override Tie.thickness = #1
    \override PhrasingSlur.thickness = #3
    \override Rest.voiced-position = #0
    \override MultiMeasureRest.expand-limit = #3
    \consists Horizontal_bracket_engraver
    \override HorizontalBracket.direction = #UP
    \override HorizontalBracket.bracket-flare = #'(0 . 0)
    \override HorizontalBracketText.text = \markup \italic "Intro"
    \override HorizontalBracket.shorten-pair = #'(.5 . .5)
  }
  \context {
    \Lyrics
    \override VerticalAxisGroup.staff-affinity = #CENTER
    \override LyricText.font-size = #-1.5
    \override StanzaNumber.font-size = #-1.5
  }
  \context {
    \Staff
    printPartCombineTexts = ##f
    beamExceptions = #'()
    \override BreathingSign.text =
    \markup { \musicglyph "scripts.lvarcomma" }
    \override InstrumentName.font-features = #'("smcp")
    \consists #Span_stem_engraver
    %     \consists Measure_spanner_engraver
    %     \override MeasureSpanner.text = \markup \italic "Intro"
  }
  \context {
    \Score
    \override VerticalAxisGroup.remove-first = ##t
    skipBars = ##f
    \override MetronomeMark.font-size = #1
    \override MetronomeMark.font-shape = #'caps
    \override BarLine.thick-thickness = 5
    \override Timing.beamExceptions = #'()
    \override BarNumber.color = #(rgb-color 0.7 0.7 0.7)
    \override BarNumber.layer = #-200
    \override BarNumber.padding = #0.4
    \override BarNumber.outside-staff-priority =#'()
    \override BarNumber.after-line-breaking = ##f
    \override BarNumber.font-size = #-1
    \override BarNumber.font-series = #'bold
    \override BarNumber.self-alignment-X = #0
    \override BarNumber.break-visibility = #end-of-line-invisible
    \override SystemStartBar.collapse-height = #4

  }
  \context {
    \ChordNames
    chordNameLowercaseMinor = ##f
    \remove Staff_performer
    chordRootNamer = #germanChords
    \override ChordName.font-name = #"Orator10 BT"
    chordNoteNamer = #(chord-name->german-markup #f)
    \override ChordName.X-offset =
    #ly:self-alignment-interface::aligned-on-x-parent
    chordNameExceptions = #chExceptions
    \override ChordName.self-alignment-X = #CENTER
    \override ChordName.font-name = #"Arial Narrow"
    \override ChordName.layer = #2
    \override ChordName.font-size = #-0.5
    noChordSymbol = ##f
    \consists Horizontal_bracket_engraver
    \override HorizontalBracket.direction = #UP
    \override HorizontalBracket.bracket-flare = #'(0 . 0)
    \override HorizontalBracketText.text = \markup \italic "Intro"
  }
  \context {
    \PianoStaff
    \override StaffGrouper.staffgroup-staff-spacing.basic-distance = #2
    \override StaffGrouper.staffgroup-staff-spacing.minimum-distance = #0
  }
  \context {
    \StaffGroup
    \override SystemStartBracket.collapse-height = #4
    \override SystemStartBracket.thickness = #.2
  }
}

oob = { \once \override Score.BarNumber.stencil = ##f \bar "" }
bnf = \once \override Score.BarNumber.stencil = ##f

gloria = \markup \override #'(baseline-skip . 2) \left-column {
  \line { Gloria: Ehre sei Gott }
  \line {
    Stichwort: \italic "Herr, erbarme dich unser"
  }
  \line { manchmal sagt der P so etwas ähnliches wie \italic "Ehre sei Gott in der Höhe" }
}

sanctus = \markup \override #'(baseline-skip . 2) \left-column {
  \line { Lobpreis Gottes: Heilig, heilig, heilig }
  \line {
    Stichwort: \italic "und singen mit den Engeln das Lob deiner Herrlichkeit"
  }
}

antwortlied = \markup \override #'(baseline-skip . 2) \left-column {
  \line { Antwortlied: nach der ersten Lesung }
  \line {
    Stichwort: \italic "Wort des lebendigen Gottes"
  }
}

gabenbereitung = \markup \override #'(baseline-skip . 2) \left-column {
  \wordwrap { Gabenbereitung (Offertorium): Beginn der Eucharistiefeier, nach den Fürbitten }
  \vspace #.2
  \line {
    Stichwort: \italic "darum bitten wir durch Christus, unsern Herrn"
  }
}

agnus =  \markup \override #'(baseline-skip . 2) \left-column {
  \line { Agnus Dei: Pfarrer zerbricht Hostie in mehrere Teile }
  \line {
    wann: nach dem Friedensgruß
  }
}

danklied =  \markup \override #'(baseline-skip . 2) \left-column {
  \line { Danklied }
  \line {
    wann: nach der Kommunionausteilung
  }
}

auszug =   \markup \override #'(baseline-skip . 2) \left-column {
  \line { Auszug, Verabschiedung }
  \line {
    Stichwort: \italic "gehet hin in Frieden"
  }
}

halleljua =  \markup \override #'(baseline-skip . 3) \left-column {
  \line { 1x leise }
  \line {
    1x leise, Vorbeter singt
  }
  \line {
    1x laut, Gemeinde singt
  }
  \line { Vorbeter betet }
  \line {
    1x laut, Gemeinde singt
  }
}

noambitus = {
  \override AmbitusLine.stencil = ##f
  \override AmbitusNoteHead.stencil = ##f
}

myintro =
#(define-music-function (m) ((string? #f) )
   #{
     \override HorizontalBracketText.text = \markup \italic { "Intro" $m }
   #})

%% Zusatztext und extra-offset sind optional
%% es müssen beide Parameter angegeben werden, wenn einer angegeben wird
mybrack =
#(define-music-function (t n m) ((string? #f) (number? 3.5) ly:music?)
   #{
     {
       \once \override HorizontalBracket.Y-extent = #'(0 . 0)
       \once \override HorizontalBracketText.Y-extent = #'(0 . 0)
       \once \override HorizontalBracket.extra-offset = #`(0 . ,n)
       \once \override HorizontalBracketText.extra-offset = #`(0 . ,n)
       \once \override HorizontalBracketText.text =
       \markup \italic { "Intro" #(or t "") }
       <>\startGroup
       $m
       \stopGroup
     }
   #})

%% ein optionaler Parameter
%% n ... extra-offset, nach oben verschieben
%%       der Standardwert ist für einen ChordNames-context oberhalb berechnet
%% der Zusatztext wird auf \null gesetzt

mybrack-offset =
#(define-music-function (n m) ((number? 3.5) ly:music?)
   #{
     {
       \mybrack "" $n $m
     }
   #})

#(define (lined-nh grob)
   (let* ((default-stil (ly:note-head::print grob))
          (default-stil-x-lngth
           (interval-length (ly:stencil-extent default-stil X)))
          (line-thickness (ly:staff-symbol-line-thickness grob))
          (staff-space (ly:staff-symbol-staff-space grob))
          (font-size
           (assoc-get 'font-size
             (ly:prob-property (ly:grob-property grob 'cause) 'tweaks)))
          (corr
           (if (number? font-size)
               (magstep font-size)
               1))
          (lne
           (make-line-stencil
            (* 1.9 corr line-thickness)
            0
            (/ (* 1.25 corr staff-space) -2)
            0
            (/ (* 1.25 corr staff-space) 2))))
     (ly:stencil-add
      lne
      (ly:stencil-translate-axis
       default-stil (* 0.95 corr line-thickness) X)
      (ly:stencil-translate-axis
       lne (+ (* 1.9 corr line-thickness) default-stil-x-lngth) X))))

\layout {
  \context {
    \Voice
    beamExceptions = #'()
    \override BreathingSign.text =
    \markup { \musicglyph "scripts.lvarcomma" }
    \override Stem.neutral-direction = #down
    \override Script.outside-staff-priority = #'()
    \override Script.padding = #1
    \override Tie.thickness = #1
    \override PhrasingSlur.thickness = #3
    \override Rest.voiced-position = #0
    \override MultiMeasureRest.expand-limit = #3
    \consists Horizontal_bracket_engraver
    \override HorizontalBracket.direction = #UP
    \override HorizontalBracket.bracket-flare = #'(0 . 0)
    \override HorizontalBracketText.text = \markup \italic "Intro"
    \override HorizontalBracket.shorten-pair = #'(.5 . .5) %% schaut schöner aus über den Akkorden
  }
  \context {
    \Lyrics
    \override VerticalAxisGroup.staff-affinity = #CENTER
  }
  \context {
    \Staff
    printPartCombineTexts = ##f
    beamExceptions = #'()
    \override BreathingSign.text =
    \markup { \musicglyph "scripts.lvarcomma" }
    \override InstrumentName.font-features = #'("smcp")
  }
  \context {
    \Score
    \override VerticalAxisGroup.remove-first = ##t
    skipBars = ##f
    \override MetronomeMark.font-size = #1
    \override MetronomeMark.font-shape = #'caps
    \override BarLine.thick-thickness = 5
    barNumberVisibility = #all-bar-numbers-visible
    \override Timing.beamExceptions = #'()
    \override BarNumber.color = #(rgb-color 0.7 0.7 0.7)
    \override BarNumber.layer = #-200
    \override BarNumber.padding = #0.4
    \override BarNumber.outside-staff-priority =#'()
    \override BarNumber.after-line-breaking = ##f
    \override BarNumber.font-size = #-1
    \override BarNumber.font-series = #'bold
    \override BarNumber.self-alignment-X = #0
    \override BarNumber.break-visibility = #end-of-line-invisible
    \override SystemStartBar.collapse-height = #4

  }
  \context {
    \ChordNames
    chordNameLowercaseMinor = ##f
    \remove Staff_performer
    chordRootNamer = #germanChords
    \override ChordName.font-name = #"Orator10 BT"
    chordNoteNamer = #(chord-name->german-markup #f)
    \override ChordName.X-offset =
    #ly:self-alignment-interface::aligned-on-x-parent
    \override ChordName.self-alignment-X = #CENTER
    \override ChordName.font-name = #"Arial Narrow"
    \override ChordName.layer = #2
    \override ChordName.font-size = #-0.5
    noChordSymbol = ##f
  }
  \context {
    \PianoStaff
    \override StaffGrouper.staffgroup-staff-spacing.basic-distance = #2
    \override StaffGrouper.staffgroup-staff-spacing.minimum-distance = #0
  }
  \context {
    \StaffGroup
    \override SystemStartBracket.collapse-height = #4
    \override SystemStartBracket.thickness = #.2
  }
}

oob = { \once \override Score.BarNumber.stencil = ##f \bar "" }

gloria = \markup \override #'(baseline-skip . 2) \left-column {
  \line { Gloria: Ehre sei Gott }
  \line {
    Stichwort: \italic "Herr, erbarme dich unser"
  }
  \line { manchmal sagt der P so etwas ähnliches wie \italic "Ehre sei Gott in der Höhe" }
}

sanctus = \markup \override #'(baseline-skip . 2) \left-column {
  \line { Lobpreis Gottes: Heilig, heilig, heilig }
  \line {
    Stichwort: \italic "und singen mit den Engeln das Lob deiner Herrlichkeit"
  }
}

antwortlied = \markup \override #'(baseline-skip . 2) \left-column {
  \line { Antwortlied: nach der ersten Lesung }
  \line {
    Stichwort: \italic "Wort des lebendigen Gottes"
  }
}

gabenbereitung = \markup \override #'(baseline-skip . 2) \left-column {
  \wordwrap { Gabenbereitung (Offertorium): Beginn der Eucharistiefeier, nach den Fürbitten }
  \vspace #.2
  \line {
    Stichwort: \italic "darum bitten wir durch Christus, unsern Herrn"
  }
}

agnus =  \markup \override #'(baseline-skip . 2) \left-column {
  \line { Agnus Dei: Pfarrer zerbricht Hostie in mehrere Teile }
  \line {
    wann: nach dem Friedensgruß
  }
}

danklied =  \markup \override #'(baseline-skip . 2) \left-column {
  \line { Danklied }
  \line {
    wann: nach der Kommunionausteilung
  }
}

auszug =   \markup \override #'(baseline-skip . 2) \left-column {
  \line { Auszug, Verabschiedung }
  \line {
    Stichwort: \italic "gehet hin in Frieden"
  }
}

halleljua =  \markup \override #'(baseline-skip . 3) \left-column {
  \line { 1x leise }
  \line {
    1x leise, Vorbeter singt
  }
  \line {
    1x laut, Gemeinde singt
  }
  \line { Vorbeter betet }
  \line {
    1x laut, Gemeinde singt
  }
}

noambitus = {
  \override AmbitusLine.stencil = ##f
  \override AmbitusNoteHead.stencil = ##f
}
\layout {
  \context {
    \Voice
    beamExceptions = #'()
    \override BreathingSign.text =
    \markup { \musicglyph "scripts.lvarcomma" }
    \override Stem.neutral-direction = #down
    \override Script.outside-staff-priority = #'()
    \override Script.padding = #1
    \override Tie.thickness = #1
    \override PhrasingSlur.thickness = #3
    \override Rest.voiced-position = #0
    \override MultiMeasureRest.expand-limit = #3
    \consists Horizontal_bracket_engraver
    \override HorizontalBracket.direction = #UP
    \override HorizontalBracket.bracket-flare = #'(0 . 0)
    \override HorizontalBracketText.text = \markup \italic "Intro"
    \override HorizontalBracket.shorten-pair = #'(.5 . .5) %% schaut schöner aus über den Akkorden
  }
  \context {
    \Lyrics
    \override VerticalAxisGroup.staff-affinity = #CENTER
  }
  \context {
    \Staff
    printPartCombineTexts = ##f
    beamExceptions = #'()
    \override BreathingSign.text =
    \markup { \musicglyph "scripts.lvarcomma" }
    \override InstrumentName.font-features = #'("smcp")
  }
  \context {
    \Score
    \override VerticalAxisGroup.remove-first = ##t
    skipBars = ##f
    \override MetronomeMark.font-size = #1
    \override MetronomeMark.font-shape = #'caps
    \override BarLine.thick-thickness = 5
    barNumberVisibility = #all-bar-numbers-visible
    \override Timing.beamExceptions = #'()
    \override BarNumber.color = #(rgb-color 0.7 0.7 0.7)
    \override BarNumber.layer = #-200
    \override BarNumber.padding = #0.4
    \override BarNumber.outside-staff-priority =#'()
    \override BarNumber.after-line-breaking = ##f
    \override BarNumber.font-size = #-1
    \override BarNumber.font-series = #'bold
    \override BarNumber.self-alignment-X = #0
    \override BarNumber.break-visibility = #end-of-line-invisible
    \override SystemStartBar.collapse-height = #4

  }
  \context {
    \ChordNames
    chordNameLowercaseMinor = ##f
    \remove Staff_performer
    chordRootNamer = #germanChords
    \override ChordName.font-name = #"Orator10 BT"
    chordNoteNamer = #(chord-name->german-markup #f)
    \override ChordName.X-offset =
    #ly:self-alignment-interface::aligned-on-x-parent
    \override ChordName.self-alignment-X = #CENTER
    \override ChordName.font-name = #"Arial Narrow"
    \override ChordName.layer = #2
    \override ChordName.font-size = #-0.5
    noChordSymbol = ##f
  }
  \context {
    \PianoStaff
    \override StaffGrouper.staffgroup-staff-spacing.basic-distance = #2
    \override StaffGrouper.staffgroup-staff-spacing.minimum-distance = #0
  }
  \context {
    \StaffGroup
    \override SystemStartBracket.collapse-height = #4
    \override SystemStartBracket.thickness = #.2
  }
}

oob = { \once \override Score.BarNumber.stencil = ##f \bar "" }

gloria = \markup \override #'(baseline-skip . 2) \left-column {
  \line { Gloria: Ehre sei Gott }
  \line {
    Stichwort: \italic "Herr, erbarme dich unser"
  }
  \line { manchmal sagt der P so etwas ähnliches wie \italic "Ehre sei Gott in der Höhe" }
}

sanctus = \markup \override #'(baseline-skip . 2) \left-column {
  \line { Lobpreis Gottes: Heilig, heilig, heilig }
  \line {
    Stichwort: \italic "und singen mit den Engeln das Lob deiner Herrlichkeit"
  }
}

antwortlied = \markup \override #'(baseline-skip . 2) \left-column {
  \line { Antwortlied: nach der ersten Lesung }
  \line {
    Stichwort: \italic "Wort des lebendigen Gottes"
  }
}

gabenbereitung = \markup \override #'(baseline-skip . 2) \left-column {
  \wordwrap { Gabenbereitung (Offertorium): Beginn der Eucharistiefeier, nach den Fürbitten }
  \vspace #.2
  \line {
    Stichwort: \italic "darum bitten wir durch Christus, unsern Herrn"
  }
}

agnus =  \markup \override #'(baseline-skip . 2) \left-column {
  \line { Agnus Dei: Pfarrer zerbricht Hostie in mehrere Teile }
  \line {
    wann: nach dem Friedensgruß
  }
}

danklied =  \markup \override #'(baseline-skip . 2) \left-column {
  \line { Danklied }
  \line {
    wann: nach der Kommunionausteilung
  }
}

auszug =   \markup \override #'(baseline-skip . 2) \left-column {
  \line { Auszug, Verabschiedung }
  \line {
    Stichwort: \italic "gehet hin in Frieden"
  }
}

halleljua =  \markup \override #'(baseline-skip . 3) \left-column {
  \line { 1x leise }
  \line {
    1x leise, Vorbeter singt
  }
  \line {
    1x laut, Gemeinde singt
  }
  \line { Vorbeter betet }
  \line {
    1x laut, Gemeinde singt
  }
}

noambitus = {
  \override AmbitusLine.stencil = ##f
  \override AmbitusNoteHead.stencil = ##f
}