Wer nur den lieben Gott Preludium

Zur Navigation springen Zur Suche springen

sop = \relative c' {
  \time 4/4
  \key b \major
  \partial 4
  d4
  b' a g d
  \oneVoice
  g a b a
  g a8 g fis4 d
  r4 \voiceOne f f es
  d g g fis
  \oneVoice
  g2\fermata \breathe d4 g
  fis g c c
  h c8 d \voiceOne es4 d
  c4 d8 c b4. a8
  g2 ~ g8 a fis4
  g2.
  \bar "|."
}

alt = \relative c' {
  d4 ~ d2. s4
  s1 s
  s4 d b c
  b es d ~ d
  s1 s1 s2
  g4 g
  g8 fis d4 d es ~
  es d c2 b2.
}

ten = \relative c' {
  \clef bass
  \key b \major
  a4
  g a b2 ~
  b4 fis g fis
  b2 a
  a8 b a4 f g
  f4 b ~ b a
  b2\fermata \oneVoice r
  r4 es, ~ es as
  g2 c4 b
  a fis g c, ~
  c b a2 g2.
}

bas = \relative c {
  d4 ~
  d2 ~ d ~
  d ~ d ~
  d ~ d
  d1 ~
  d4 g ~ g d
  g2\fermata s
}

Struktur =
{
  \override Score.NonMusicalPaperColumn.page-break-permission = ##f
  \override PianoStaff.VerticalAxisGroup.staff-staff-spacing.basic-distance = #16
  s4 s1 s s \break
  s s s2 \bar "" \break
  \once \override Score.BarNumber.stencil = ##f s
  s1 s \break
}

kopf=\header {
  title = "Wer nur den lieben Gott lässt walten"
  subtitle = "Präludium"
  composer = "M: nach Georg Neumark 1657"
}

mypaper =   \paper {
  top-margin = 25\mm
  ragged-right = ##f
  ragged-last = ##f
  ragged-bottom = ##t
  ragged-last-bottom = ##t
  bottom-margin = 25\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 = ##f
  evenHeaderMarkup = ##f
  markup-system-spacing.padding = #5
  system-system-spacing.basic-distance = #16
  markup-markup-spacing.padding = #10
}

\bookpart {
  \mypaper
  \kopf
  \orgelpre \sop \alt \ten \bas \Struktur c
}

\bookpart {
  \mypaper
  \kopf
  \orgelpre \sop \alt \ten \bas \Struktur d
}

sop = \relative c' {
  \time 4/4
  \key b \major
  \partial 4
  d4
  b' a g d
  \oneVoice
  g a b a
  g a8 g fis4 d
  r4 \voiceOne f f es
  d g g fis
  \oneVoice
  g2\fermata \breathe d4 g
  fis g c c
  h c8 d \voiceOne es4 d
  c4 d8 c b4. a8
  g2 ~ g8 a fis4
  g2.
  \bar "|."
}

alt = \relative c' {
  d4 ~ d2. s4
  s1 s
  s4 d b c
  b es d ~ d
  s1 s1 s2
  g4 g
  g8 fis d4 d es ~
  es d c2 b2.
}

ten = \relative c' {
  \clef bass
  \key b \major
  a4
  g a b2 ~
  b4 fis g fis
  b2 a
  a8 b a4 f g
  f4 b ~ b a
  b2\fermata \oneVoice r
  r4 es, ~ es as
  g2 c4 b
  a fis g c, ~
  c b a2 g2.
}

bas = \relative c {
  d4 ~
  d2 ~ d ~
  d ~ d ~
  d ~ d
  d1 ~
  d4 g ~ g d
  g2\fermata s
}

Struktur =
{
  \override Score.NonMusicalPaperColumn.page-break-permission = ##f
  \override PianoStaff.VerticalAxisGroup.staff-staff-spacing.basic-distance = #16
  s4 s1 s s \break
  s s s2 \bar "" \break
  \once \override Score.BarNumber.stencil = ##f s
  s1 s \break
}

kopf=\header {
  title = "Wer nur den lieben Gott lässt walten"
  subtitle = "Präludium"
  composer = "M: nach Georg Neumark 1657"
}

mypaper =   \paper {
  top-margin = 25\mm
  ragged-right = ##f
  ragged-last = ##f
  ragged-bottom = ##t
  ragged-last-bottom = ##t
  bottom-margin = 25\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 = ##f
  evenHeaderMarkup = ##f
  markup-system-spacing.padding = #5
  system-system-spacing.basic-distance = #16
  markup-markup-spacing.padding = #10
}

\bookpart {
  \mypaper
  \kopf
  \orgelpre \sop \alt \ten \bas \Struktur c
}

\bookpart {
  \mypaper
  \kopf
  \orgelpre \sop \alt \ten \bas \Struktur d
}

#(set-global-staff-size 24)

MollDur =
#(define-music-function (p q m)
   (ly:pitch? ly:pitch? ly:music?)
   #{
     \key $p \major \transpose c $p \naturalizeMusic \transpose $q c { $m }
   #}
   )

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

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="leadsheet"
       <<
         \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
         >>
       >>
     >>
   #}
   )

orgelp =
%% Orgelsatz mit Pedal
#(define-music-function (sop alt ten bas ped stru p)
   (ly:music? ly:music? ly:music? ly:music? ly:music? ly:music? number?)
   #{
     <<
       \new PianoStaff="leadsheet"
       <<
         \new Staff="up"
         <<
           \new Voice="Alt" { \voiceOne $sop }
           \new Voice { \voiceTwo $alt }
         >>
         \new Staff="down"
         <<
           \new Voice { \voiceOne $ten }
           \new Voice { \voiceTwo $bas }
           \new NullVoice $stru
         >>
       >>
       \new StaffGroup
       \new Staff="Pedal" \with {
         \magnifyStaff $p
       }
       <<
         \new Voice $ped
       >>
     >>
   #}
   )

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 "midi")
         tempo)))
    tempolist))

\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
    \override TextSpanner.dash-period = #1
    \override TextSpanner.dash-fraction = #0.5
    \override TextSpanner.bound-details.left.text = #"rit."
    \override TextSpanner.bound-details.right.text =
    \markup { \draw-line #'(0 . -1) }
  }
  \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
  }
  \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
  }
}

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

\paper {
  #(include-special-characters)
  indent = #0
  ragged-right = ##f
  ragged-last = ##f
  ragged-bottom = ##f
  ragged-last-bottom = ##f
  print-all-headers = ##f
  print-page-number = ##f
  scoreTitleMarkup = ##f
  bookTitleMarkup =
  \markup {
    %\override #'(baseline-skip . 1)
    \column \override #'(baseline-skip . 1) {
      \fill-line {
        \huge \larger \larger \bold
        \center-column {
          \fromproperty #'header:title
          " "
        }
      }
      \fill-line
      {
        \bold
        \center-column {
          \fromproperty #'header:subtitle
          " "
        }
      }
      \fill-line
      {
        \center-column {
          \fromproperty #'header:subsubtitle
          " "
        }
      }
      \fontsize #-1.5 {
        \fill-line {
          "Notensatz: lilypond.miraheze.org" \fromproperty #'header:composer
        }
        \fill-line {
          ""  \text-fromproperty "Originaltonart: " #'header:key "-Dur"
        }
      }
    }
  }
}