Halleluja 174

Zur Navigation springen Zur Suche springen


Lilypond-Code

\version "2.20.0"
\language "deutsch"
myTitel = "Halleluja Ruf"

#(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))

\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
  }
  \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.outside-staff-priority =#'()
    \override BarNumber.padding = #1
    \override BarNumber.font-size = #-1
    \override BarNumber.font-series = #'bold
    \override BarNumber.self-alignment-X = #0
    \override BarNumber.break-visibility = #end-of-line-invisible
  }
  \context {
    \ChordNames
    chordNameLowercaseMinor = ##f
    \remove Staff_performer
    chordRootNamer = #germanChords
    \override ChordName.font-name = #"Orator10 BT"
    \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
  }
}

sop = \relative c'' {
  \time 2/2
  \key f \major
  c2 f,
  g a
  b4 a g2
  f1
  \bar "|."
}

alt = \relative c' {
  f2 d
  d fis2
  g4 f e2
  c1
}

ten = \relative c' {
  \key f \major
  a2 a
  d,2 c
  d4 c b'2
  a1
}

bas = \relative c {
  \clef bass
  f2 d
  b2 a
  g4 a c2 f1
}

Struktur =
{
  \override Score.NonMusicalPaperColumn.page-break-permission = ##f
}

lyr = \lyricmode {
  Ha -- le -- lu -- ja, Ha -- le -- lu -- ja.
}

Akk=
\chordmode {
  f2 d:m g2:m d:7
  g4:m f c2:7
  f
}

ruf= \score
{
  <<

    \new PianoStaff="leadsheet"
    <<
      \new Staff="Discant"
      <<
        \override Score.RehearsalMark.self-alignment-X = #-0.5
        \mark \markup \rounded-box "Ruf (GL 174, 8)"
        \tempo \markup "Fröhlich"
        \new Voice="Alt" { \voiceOne \sop }
        \new Voice { \voiceTwo \alt }
      >>
      \new Lyrics \lyricsto Alt \lyr
      \new Staff="Bass"
      <<
        \new Voice { \voiceOne \ten }
        \new Voice { \voiceTwo \bas }
        \new NullVoice \Struktur
      >>
    >>
    \new ChordNames \Akk
  >>
}

versi =\relative c' {
  \key f \major
  \cadenzaOn
  \omit Staff.TimeSignature
  < f c >4 \bar "!" < g d > \bar "!"
  < f c > \bar "!" q \bar "!" < d b > \bar "!"
  < g d > \bar "!" < a c, > \bar "!"
  < b f > \bar "!" < d f, > \bar "!"
  < c e, > \bar "!" < f, c > \bar "!"
  < d b > \bar "!" < c g > \bar "!"
  < d b > \bar "!" < f c > \bar "!"
  < g f c > \bar "!" < g e c >
  \bar "|."
}

akki=
\chordmode {
  f4 g:m/f
  f f/a
  b g:m/b
  a:m/c b/d
  g:m c
  f/a b c
  g:m f/a c:sus4 c
}

lyri = \lyricmode {
  \override LyricText.self-alignment-X = #-1
  \override LyricText.springs-and-rods = #ly:spanner::set-spacing-rods
  \override LyricText.extra-spacing-width = #'(-0.5 . 3.5)
  Du_bist Petrus,_der Fels,
  und_auf diesem Felsen werde_ich
  meine Kirche bauen,
  und_die_Pforten_der Unter -- welt
  werden_sie nicht_über -- wälti -- gen.
}

vers =
\score {
  <<
    \new ChordNames \akki
    \new Staff
    <<
      \override Score.RehearsalMark.self-alignment-X = #-0.5
      \mark \markup \rounded-box "Vers (Mt 18, 18)"
      \new Voice="Vers" \versi
    >>
    \new Lyrics \lyricsto Vers \lyri
  >>
  \layout {
    ragged-right = ##f
  }
}

kopf=\header {
  title = \myTitel
  subtitle = "vor dem Evangelium"
  subsubtitle = "GL 174,8"
  poet = "Notensatz: lilypond.miraheze.org"
  composer = ##f
  piece = ##f
}

\bookpart {
  \paper {
    top-margin = 30\mm
    ragged-right = ##f
    ragged-last = ##f
    ragged-bottom = ##f
    ragged-last-bottom = ##t
    bottom-margin = 30\mm
    indent = #0
    line-width = 160\mm
    print-all-headers = ##f
    #(include-special-characters)
    print-first-page-number = ##t
    first-page-number = #1
    oddFooterMarkup = ##f
    evenFooterMarkup = ##f
    oddHeaderMarkup = #oddFooterMarkup
    evenHeaderMarkup = #evenFooterMarkup
    markup-system-spacing.padding = #12
    system-system-spacing.padding = #8
    score-system-spacing.padding = #12
  }
  \kopf
  \ruf
  \vers
}