Präludium C Dur BWV 846
(Weitergeleitet von BWV 846)
Lilypond Score
RH= \relative c'' {
\time 4/4
\clef treble
\key c \major
r8
%\shapeSlur #'(-4 -12 0 0 0 4 0 1)
%\offsetPositions #'(-4 . 3)
g16 c e g, c e r8 g,16 c e g, c e
r8 a,16 d f a, d f r8 a,16 d f a, d f
r8 g,16 d' f g, d' f r8 g,16 d' f g, d' f |
r8 g,16 c e g, c e r8 g,16 c e g, c e
r8 a,16 e' a a, e' a r8 a,16 e' a a, e' a
r8 fis,16 a d fis, a d r8 fis,16 a d fis, a d |
r8 g,16 d' g g, d' g r8 g,16 d' g g, d' g
r8 e,16 g c e, g c r8 e,16 g c e, g c
r8 e,16 g c e, g c r8 e,16 g c e, g c |
%% 10
r8 d,16 fis c' d, fis c' r8 d,16 fis c' d, fis c'
r8 d,16 g h d, g h r8 d,16 g h d, g h
r8 e,16 g cis e, g cis r8 e,16 g cis e, g cis |
r8 d,16 a' d d, a' d r8 d,16 a' d d, a' d
r8 d,16 f h d, f h r8 d,16 f h d, f h
r8 c,16 g' c c, g' c r8 c,16 g' c c, g' c |
r8 a,16 c f a, c f r8 a,16 c f a, c f
r8 a,16 c f a, c f r8 a,16 c f a, c f
r8 g,16 h f' g, h f' r8 g,16 h f' g, h f' |
r8 g,16 c e g, c e r8 g,16 c e g, c e
%% 20
r8 b16 c e b c e r8 b16 c e b c e
r8 a,16 c e a, c e r8 a,16 c e a, c e |
r8 a,16 c es a, c es r8 a,16 c es a, c es
r8 h16 c es h c es r8 h16 c es h c es
r8 h16 c d h c d r8 h16 c d h c d
r8 g,16 h d g, h d r8 g,16 h d g, h d |
r8 g,16 c e g, c e r8 g,16 c e g, c e
r8 g,16 c f g, c f r8 g,16 c f g, c f
r8 g,16 h f' g, h f' r8 g,16 h f' g, h f' |
r8 a,16 c fis a, c fis r8 a,16 c fis a, c fis
r8 g,16 c g' g, c g' r8 g,16 c g' g, c g'
%% 30
r8 g,16 c f g, c f r8 g,16 c f g, c f |
r8 g,16 h f' g, h f' r8 g,16 h f' g, h f'
r8 g,16 b e g, b e r8 g,16 b e g, b e |
r8
\stemUp
\change Staff = "Bass"
f,16 a
\change Staff = "Discant"
c f c a
\change Staff = "Bass"
c a f a f d f d
\change Staff = "Discant"
\stemNeutral
\clef "violin"
r8 g'16 h d f d h d h g h d, f e d
<e g c>1\fermata
\bar "|."
}
LH = \relative c' {
\clef bass
\key c \major
<<
{
r16 e8. ~ e4 r16 e8. ~ e4
r16 d8. ~ d4 r16 d8. ~ d4
r16 d8. ~ d4 r16 d8. ~ d4
r16 e8. ~ e4 r16 e8. ~ e4
r16 e8. ~ e4 r16 e8. ~ e4
r16 d8. ~ d4 r16 d8. ~ d4
r16 d8. ~ d4 r16 d8. ~ d4
r16 c8. ~ c4 r16 c8. ~ c4
r16 c8. ~ c4 r16 c8. ~ c4
%% 10
r16 a8. ~ a4 r16 a8. ~ a4
r16 h8. ~ h4 r16 h8. ~ h4
r16 b8. ~ b4 r16 b8. ~ b4
r16 a8. ~ a4 r16 a8. ~ a4
r16 as8. ~ as4 r16 as8. ~ as4
r16 g8. ~ g4 r16 g8. ~ g4
r16 f8. ~ f4 r16 f8. ~ f4
r16 f8. ~ f4 r16 f8. ~ f4
r16 d8. ~ d4 r16 d8. ~ d4
r16 e8. ~ e4 r16 e8. ~ e4
%% 20
r16 g8. ~ g4 r16 g8. ~ g4
r16 f8. ~ f4 r16 f8. ~ f4
r16 c8. ~ c4 r16 c8. ~ c4
r16 es8. ~ 4 r16 es8. ~ 4
r16 f8. ~ f4 r16 f8. ~ f4
r16 f8. ~ f4 r16 f8. ~ f4
r16 e8. ~ e4 r16 e8. ~ e4
r16 d8. ~ d4 r16 d8. ~ d4
r16 d8. ~ d4 r16 d8. ~ d4
r16 es8. ~ es4 r16 es8. ~ es4
r16 e!8. ~ e4 r16 e8. ~ e4
%% 30
r16 d8. ~ d4 r16 d8. ~ d4
r16 d8. ~ d4 r16 d8. ~ d4
r16 c8. ~ c4 r16 c8. ~ c4
r16 c8._~ c4_~ \stemDown c2
r16 h8. ~ h4 ~ h2
c1 %\arpeggio
} \\ {
%% 0
c'2 c
c c
h h
c c
c c
c c
h h
h h
a a
%% 10
d,2 d
g g
g g
f f
f f
e e
e e
d d
g, g
c c
%% 20
c c
f, f
fis fis
g g
as as
g g
g g
g g
g g
g g
g g
%% 30
g g
g g
c, c
c1
c
c\fermata
}
>>
}
Struktur =
{
\override Score.SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/1)
\override Score.SpacingSpanner.common-shortest-duration = #(ly:make-moment 1/1)
%\override PianoStaff.VerticalAxisGroup.staff-staff-spacing.padding = #5
}
Akk=
\chordmode {
c1 d:m7/c g:7/h c a:m/c
d:7/c g/h c:maj7/h
a:m7 d:7 g cis:dim7/g
d:m/f h:dim7/f
c/e f:maj7/e d:m7
g:7 c c:7 f:maj7
fis:dim7 c:maj7.3-/g
h:dim7/as g:7 c/g
g:7sus4 g:7 fis:dim7/g
c/g g:7sus4 g:7
c:7 d:m7/c c:maj
}
\bookpart {
\paper {
annotate-spacing = ##f
system-system-spacing.minimum-distance = #4
system-system-spacing.basic-distance = #4
system-system-spacing.padding = #0
top-margin = 20\mm
ragged-right = ##f
ragged-last = ##f
ragged-bottom = #f
ragged-last-bottom = ##f
bottom-margin = 20\mm
indent = #0
line-width = 175\mm
print-all-headers = ##f
#(include-special-characters)
print-first-page-number = ##t
first-page-number = #1
oddFooterMarkup = ##f
evenFooterMarkup = ##f
annotate-spacing = ##f
}
\header {
title = \myTitel
subtitle = "Wohltemperiertes Klavier I, BVW 846"
subsubtitle = ##f
opus = ##f
composer = "Johann Sebastian Bach (1685-1750)"
piece = ##f
poet = ##f
}
\score
{
<<
\new ChordNames \Akk
\new PianoStaff="leadsheet"
<<
\new Staff="Discant"
<<
\RH
\new NullVoice \Struktur
>>
\new Staff="Bass"
<<
\new Voice \relative c' \LH
>>
>>
>>
}
}
Lilypond Score
RH= \relative c'' {
\time 4/4
\clef treble
\key c \major
r8
%\shapeSlur #'(-4 -12 0 0 0 4 0 1)
%\offsetPositions #'(-4 . 3)
g16 c e g, c e r8 g,16 c e g, c e
r8 a,16 d f a, d f r8 a,16 d f a, d f
r8 g,16 d' f g, d' f r8 g,16 d' f g, d' f |
r8 g,16 c e g, c e r8 g,16 c e g, c e
r8 a,16 e' a a, e' a r8 a,16 e' a a, e' a
r8 fis,16 a d fis, a d r8 fis,16 a d fis, a d |
r8 g,16 d' g g, d' g r8 g,16 d' g g, d' g
r8 e,16 g c e, g c r8 e,16 g c e, g c
r8 e,16 g c e, g c r8 e,16 g c e, g c |
%% 10
r8 d,16 fis c' d, fis c' r8 d,16 fis c' d, fis c'
r8 d,16 g h d, g h r8 d,16 g h d, g h
r8 e,16 g cis e, g cis r8 e,16 g cis e, g cis |
r8 d,16 a' d d, a' d r8 d,16 a' d d, a' d
r8 d,16 f h d, f h r8 d,16 f h d, f h
r8 c,16 g' c c, g' c r8 c,16 g' c c, g' c |
r8 a,16 c f a, c f r8 a,16 c f a, c f
r8 a,16 c f a, c f r8 a,16 c f a, c f
r8 g,16 h f' g, h f' r8 g,16 h f' g, h f' |
r8 g,16 c e g, c e r8 g,16 c e g, c e
%% 20
r8 b16 c e b c e r8 b16 c e b c e
r8 a,16 c e a, c e r8 a,16 c e a, c e |
r8 a,16 c es a, c es r8 a,16 c es a, c es
r8 h16 c es h c es r8 h16 c es h c es
r8 h16 c d h c d r8 h16 c d h c d
r8 g,16 h d g, h d r8 g,16 h d g, h d |
r8 g,16 c e g, c e r8 g,16 c e g, c e
r8 g,16 c f g, c f r8 g,16 c f g, c f
r8 g,16 h f' g, h f' r8 g,16 h f' g, h f' |
r8 a,16 c fis a, c fis r8 a,16 c fis a, c fis
r8 g,16 c g' g, c g' r8 g,16 c g' g, c g'
%% 30
r8 g,16 c f g, c f r8 g,16 c f g, c f |
r8 g,16 h f' g, h f' r8 g,16 h f' g, h f'
r8 g,16 b e g, b e r8 g,16 b e g, b e |
r8
\stemUp
\change Staff = "Bass"
f,16 a
\change Staff = "Discant"
c f c a
\change Staff = "Bass"
c a f a f d f d
\change Staff = "Discant"
\stemNeutral
\clef "violin"
r8 g'16 h d f d h d h g h d, f e d
<e g c>1\fermata
\bar "|."
}
LH = \relative c' {
\clef bass
\key c \major
<<
{
r16 e8. ~ e4 r16 e8. ~ e4
r16 d8. ~ d4 r16 d8. ~ d4
r16 d8. ~ d4 r16 d8. ~ d4
r16 e8. ~ e4 r16 e8. ~ e4
r16 e8. ~ e4 r16 e8. ~ e4
r16 d8. ~ d4 r16 d8. ~ d4
r16 d8. ~ d4 r16 d8. ~ d4
r16 c8. ~ c4 r16 c8. ~ c4
r16 c8. ~ c4 r16 c8. ~ c4
%% 10
r16 a8. ~ a4 r16 a8. ~ a4
r16 h8. ~ h4 r16 h8. ~ h4
r16 b8. ~ b4 r16 b8. ~ b4
r16 a8. ~ a4 r16 a8. ~ a4
r16 as8. ~ as4 r16 as8. ~ as4
r16 g8. ~ g4 r16 g8. ~ g4
r16 f8. ~ f4 r16 f8. ~ f4
r16 f8. ~ f4 r16 f8. ~ f4
r16 d8. ~ d4 r16 d8. ~ d4
r16 e8. ~ e4 r16 e8. ~ e4
%% 20
r16 g8. ~ g4 r16 g8. ~ g4
r16 f8. ~ f4 r16 f8. ~ f4
r16 c8. ~ c4 r16 c8. ~ c4
r16 es8. ~ 4 r16 es8. ~ 4
r16 f8. ~ f4 r16 f8. ~ f4
r16 f8. ~ f4 r16 f8. ~ f4
r16 e8. ~ e4 r16 e8. ~ e4
r16 d8. ~ d4 r16 d8. ~ d4
r16 d8. ~ d4 r16 d8. ~ d4
r16 es8. ~ es4 r16 es8. ~ es4
r16 e!8. ~ e4 r16 e8. ~ e4
%% 30
r16 d8. ~ d4 r16 d8. ~ d4
r16 d8. ~ d4 r16 d8. ~ d4
r16 c8. ~ c4 r16 c8. ~ c4
r16 c8._~ c4_~ \stemDown c2
r16 h8. ~ h4 ~ h2
c1 %\arpeggio
} \\ {
%% 0
c'2 c
c c
h h
c c
c c
c c
h h
h h
a a
%% 10
d,2 d
g g
g g
f f
f f
e e
e e
d d
g, g
c c
%% 20
c c
f, f
fis fis
g g
as as
g g
g g
g g
g g
g g
g g
%% 30
g g
g g
c, c
c1
c
c\fermata
}
>>
}
Struktur =
{
\override Score.SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/1)
\override Score.SpacingSpanner.common-shortest-duration = #(ly:make-moment 1/1)
%\override PianoStaff.VerticalAxisGroup.staff-staff-spacing.padding = #5
}
Akk=
\chordmode {
c1 d:m7/c g:7/h c a:m/c
d:7/c g/h c:maj7/h
a:m7 d:7 g cis:dim7/g
d:m/f h:dim7/f
c/e f:maj7/e d:m7
g:7 c c:7 f:maj7
fis:dim7 c:maj7.3-/g
h:dim7/as g:7 c/g
g:7sus4 g:7 fis:dim7/g
c/g g:7sus4 g:7
c:7 d:m7/c c:maj
}
\bookpart {
\paper {
annotate-spacing = ##f
system-system-spacing.minimum-distance = #4
system-system-spacing.basic-distance = #4
system-system-spacing.padding = #0
top-margin = 20\mm
ragged-right = ##f
ragged-last = ##f
ragged-bottom = #f
ragged-last-bottom = ##f
bottom-margin = 20\mm
indent = #0
line-width = 175\mm
print-all-headers = ##f
#(include-special-characters)
print-first-page-number = ##t
first-page-number = #1
oddFooterMarkup = ##f
evenFooterMarkup = ##f
annotate-spacing = ##f
}
\header {
title = \myTitel
subtitle = "Wohltemperiertes Klavier I, BVW 846"
subsubtitle = ##f
opus = ##f
composer = "Johann Sebastian Bach (1685-1750)"
piece = ##f
poet = ##f
}
\score
{
<<
\new ChordNames \Akk
\new PianoStaff="leadsheet"
<<
\new Staff="Discant"
<<
\RH
\new NullVoice \Struktur
>>
\new Staff="Bass"
<<
\new Voice \relative c' \LH
>>
>>
>>
}
}
#(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 № 711/" $nr \fontsize #-1 \concat { " (bis 2013 № 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 № " #'header:new-number ""
\fontsize #-1
\text-fromproperty " (bis 2013 № " #'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 № 711/" $nr \fontsize #-1 \concat { " (bis 2013 № 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 № " #'header:new-number ""
\fontsize #-1
\text-fromproperty " (bis 2013 № " #'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
}