Präambulum RW 11

Zur Navigation springen Zur Suche springen
sop = \relative {
  \key f \major
  r16 a d a f' d a' f d d f d a' f d' a
  f d' c b a g f e < a f >2
  \voiceOne
  r8 a b4 ~ b16 b a g a4
  ~ a16 a g f g4 ~ g16 g f e r c' b a
  b4 ~ b16 b a g a4 s
  \oneVoice
  a16 f' e d c b a g < a f >2
  r16 a b c d c b a \voiceOne b4 g16 f e d
  \oneVoice
  cis8 h16 a d4 cis16 e f g a g f e
  f b a g a f e d cis8 d4 cis8
  < d a f >1
  \bar "|."
}

alt = \relative {
  s1 * 2
  \voiceTwo
  f'4 ~ f16 f g f e4 ~ e16 e f e
  d4 ~ d16 d e d c4 f
  ~ f16 f e d e4 r16 f a f c' a f' c
}

ten = \relative {
  \clef bass
  \key f \major
  < d d, >1 ~ q2 r16 d' c b a g f e
  d4 r8 d' cis4 c
  h4 b g r8 a
  g4 c, < d d, >2
  ~ q r16 f e d c b a g
  f4 < fis' a > \voiceOne < g >2 ~
  q4 f8 e16 d e4 cis
  d8[ e f g] ~ g f e a16 g 
  < d d, >1
}

bas = \relative {
  \voiceTwo
  s1 * 6
  s2 r4 g,
  a1 ~ a
}

Struktur =
{
  \override Score.NonMusicalPaperColumn.page-break-permission = ##f
  \time 4/4
  \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) }
  s1 * 8
  s1\startTextSpan
  s\stopTextSpan
}

kopf = \header {
  title = "Präambulum RW 11"
  composer = "M: Johann Baptist Peyer (1678-1733)"
}

mypaper =
\paper {
  top-margin = 25\mm
  ragged-bottom = ##t
  ragged-last-bottom = ##t
  bottom-margin = 20\mm
  line-width = 170\mm
  indent = 20
  markup-system-spacing.padding = #6
  system-system-spacing.padding = #4
  markup-markup-spacing.padding = #3
}

\bookpart {
  \mypaper
  \kopf
  \score
  {
    <<
      \new PianoStaff
      \with
      {
        instrumentName = \markup \center-column {
          \fontsize #1 "Primi toni"
        }
        \override VerticalAxisGroup.staff-staff-spacing.padding = #6
      }
      <<
        \new Staff="up"
        <<
          \new Voice="melody" { \sop }
          \new Voice { \alt }
          \new Voice \Struktur
        >>
        \new Staff="down"
        <<
          \new Voice { \ten }
          \new Voice { \bas }
        >>
      >>
    >>
  }
}
sop = \relative {
  \key f \major
  r16 a d a f' d a' f d d f d a' f d' a
  f d' c b a g f e < a f >2
  \voiceOne
  r8 a b4 ~ b16 b a g a4
  ~ a16 a g f g4 ~ g16 g f e r c' b a
  b4 ~ b16 b a g a4 s
  \oneVoice
  a16 f' e d c b a g < a f >2
  r16 a b c d c b a \voiceOne b4 g16 f e d
  \oneVoice
  cis8 h16 a d4 cis16 e f g a g f e
  f b a g a f e d cis8 d4 cis8
  < d a f >1
  \bar "|."
}

alt = \relative {
  s1 * 2
  \voiceTwo
  f'4 ~ f16 f g f e4 ~ e16 e f e
  d4 ~ d16 d e d c4 f
  ~ f16 f e d e4 r16 f a f c' a f' c
}

ten = \relative {
  \clef bass
  \key f \major
  < d d, >1 ~ q2 r16 d' c b a g f e
  d4 r8 d' cis4 c
  h4 b g r8 a
  g4 c, < d d, >2
  ~ q r16 f e d c b a g
  f4 < fis' a > \voiceOne < g >2 ~
  q4 f8 e16 d e4 cis
  d8[ e f g] ~ g f e a16 g 
  < d d, >1
}

bas = \relative {
  \voiceTwo
  s1 * 6
  s2 r4 g,
  a1 ~ a
}

Struktur =
{
  \override Score.NonMusicalPaperColumn.page-break-permission = ##f
  \time 4/4
  \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) }
  s1 * 8
  s1\startTextSpan
  s\stopTextSpan
}

kopf = \header {
  title = "Präambulum RW 11"
  composer = "M: Johann Baptist Peyer (1678-1733)"
}

mypaper =
\paper {
  top-margin = 25\mm
  ragged-bottom = ##t
  ragged-last-bottom = ##t
  bottom-margin = 20\mm
  line-width = 170\mm
  indent = 20
  markup-system-spacing.padding = #6
  system-system-spacing.padding = #4
  markup-markup-spacing.padding = #3
}

\bookpart {
  \mypaper
  \kopf
  \score
  {
    <<
      \new PianoStaff
      \with
      {
        instrumentName = \markup \center-column {
          \fontsize #1 "Primi toni"
        }
        \override VerticalAxisGroup.staff-staff-spacing.padding = #6
      }
      <<
        \new Staff="up"
        <<
          \new Voice="melody" { \sop }
          \new Voice { \alt }
          \new Voice \Struktur
        >>
        \new Staff="down"
        <<
          \new Voice { \ten }
          \new Voice { \bas }
        >>
      >>
    >>
  }
}

#(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"
        }
      }
    }
  }
}