]> git.donarmstrong.com Git - lilypond.git/blob - input/wilhelmus.ly
cb43459464e934049ea0da4ad4c97e59a9d027d5
[lilypond.git] / input / wilhelmus.ly
1 \version "2.3.2"
2
3 \header {
4   texidoc = "Wilhelmus van Nassouwe"
5   title = "Wilhelmus van Nassouwe"
6   composer = "Valerius"
7   subtitle = "Neder-landtsche gedenck-clanck"
8   opus = "1626"
9   copyright = "public domain"
10   enteredby = "janneke@gnu.org"
11 }
12
13 %% hymn tricks
14 #(define (prepend-grob-property grob-name
15           grob-prop entry)
16   (lambda (context)
17    (ly:context-pushpop-property context grob-name grob-prop
18     (cons
19      entry
20      (assoc-get grob-prop (car (ly:context-property context grob-name)))))))
21
22 #(define (set-extra-space grob-name entry value)
23   (prepend-grob-property grob-name 'space-alist
24    (cons entry (cons 'extra-space value))))
25
26 noclefs = \notes {
27   s1
28   \override Staff.Clef #'break-visibility = #(lambda (dir) (cons #t #t))
29 }
30
31 setMargins = {
32   %% first line left margin
33   %% justified:
34   %% \context Staff \applycontext #(set-extra-space 'TimeSignature 'first-note 4.5)
35   %% raggedright:
36   \context Staff \applycontext #(set-extra-space 'TimeSignature 'first-note 9.5)
37   
38   %% next lines left margin
39   \context Staff \applycontext #(set-extra-space 'KeySignature 'staff-bar 15)
40   
41   %% next lines small key-signature margin
42   \context Staff \applycontext #(set-extra-space 'LeftEdge 'key-signature 1.0)
43 }
44
45 pipeSymbol = {
46   %% Set height of bar line to 2 staff-spaces
47   \once \override Staff.BarLine #'bar-size-procedure = #(lambda (x) 2)
48   %% Move barline one staff-space up
49   \once \override Staff.BarLine #'extra-offset = #'(0 . 1)
50   \bar "|"
51 }
52
53 myBreak = { \bar "" \break }
54
55 \paper {
56   indent = 0.0\mm
57   linewidth = 120.0\mm
58   textheight = 270.0\mm
59 }
60
61 voice = \notes \relative c' {
62   \clef violin
63   \key g \major
64   d4 | g g a a b | a8 \myBreak
65   b8 | c4 b a a | g2. \myBreak
66
67   d4 | g g a a | b a8 \myBreak
68   b8 | c4 b a a| g2.  \myBreak
69
70   %% Hack for better left tekst margin
71   %% b8[ c] | d2 e4 d2 c4 | b a8 \myBreak
72   \set melismaBusyProperties = #'()
73   b8[ c] |
74   \unset melismaBusyProperties
75   d2 e4 d2 c4 b | a8 \myBreak
76   b8 | c4 b a g | a2. \myBreak
77
78   d,4 | g4.\melisma a8\melismaEnd b2 a2 g4 | fis e8 \myBreak
79   d8 | e4 g g fis | 
80   
81   \override NoteHead #'style = #'neo_mensural
82
83   g\breve
84
85   %% justified lines:
86   %%\override Staff.BarLine #'extra-offset = #'(12 . 0)
87   %% raggedright:
88   \override Staff.BarLine #'extra-offset = #'(23 . 0)
89   \bar "|."
90 }
91
92 stich = \notes \relative c'' {
93   \override Staff.NoteCollision #'merge-differently-dotted = ##t
94   \set fontSize = #-3
95   %% broken?
96   \override Stem #'beamed-lengths = #(map (lambda (x) (* 0.2 x)) '(3.26))
97
98   \voiceTwo
99   \partial 4
100   s4 s s a8[ b] c[ a] s4.
101   s8 s4 s a8 g s4 s2.
102
103   s4 s s a8[ b] c[ a] s4.
104   s8 s4 s a8 g s4 s2.
105   
106   s8 s s2 s4 s2 s4 s s8
107   s8 s4 s s s s2.
108
109   s4 g8[ fis g a] s2 s2 s4 s s8
110   s8 e8[ fis]
111 }
112
113 modernText = \lyrics {
114   Wil -- hel -- mus van Nas -- sou -- we
115   ben ik van duit -- sen bloed,
116
117   den va -- der -- land ge -- trou -- we
118   blijf ik tot in den dood.
119
120   Een prin -- se van O -- ran -- je
121   ben ik vrij on -- ver -- veerd,
122
123   den ko -- ning van His -- pan -- je
124   heb ik al -- tijd ge -- eerd.
125 }
126
127 text = \lyrics {
128   Wil -- hel -- mus van Nas -- sou -- we
129   Ben ick van duyt -- schen bloet,
130   Den Va -- der -- landt ghe -- trou -- we,
131   blyf ick tot in den doot!
132   %% Hack for better left text margin:
133   %% Een Prin -- ce van O -- ran -- gien
134   Een " " Prin -- ce van O -- ran -- gien
135   Ben ick, vry, on -- ver -- veert;
136   Den Co -- ninck van His -- pan -- gien
137   Heb ick al -- tijt ghe -- eert.
138 }
139
140 oneHalfNoteTime = \markup {
141   \override #'(baseline-skip . 0)
142   \column < { \number "1" } { \smaller \smaller \note #"2" #-0.5 } >
143 }
144
145 \paper {
146   raggedright = ##t
147
148   \context {
149     \Score
150     %% defaults
151     %% (shortest-duration-space . 2.0)
152     %% (spacing-increment . 1.2)
153     %% (base-shortest-duration . ,(ly:make-moment 1 8))
154     %% wider spacing
155     \override SpacingSpanner #'shortest-duration-space = #3.0
156     \override SpacingSpanner #'spacing-increment = #1.2
157     \override SpacingSpanner #'base-shortest-duration = #(ly:make-moment 1 8)
158   }
159 }
160
161 \score {
162   \context Score <<
163     \context Staff <<
164       \override Staff.StaffSymbol #'width = #'80
165       \set Staff.autoBeaming = ##f
166       \set Score.timing = ##f
167       \setMargins
168      
169       %% Less vertical space needed with lyrics
170       \set Staff.minimumVerticalExtent = #'(2 . 2)
171       
172       %% Custom time signature
173       \override Staff.TimeSignature #'print-function = #Text_item::print
174       \override Staff.TimeSignature #'text = #oneHalfNoteTime
175       \noclefs
176     
177       \context Voice = "voice" \voice
178       \context Voice = "stich" \stich
179     >>
180     \lyricsto "voice" \new Lyrics {
181       \set minimumVerticalExtent = #'(2 . 2)
182       \text
183     }
184   >>
185   \paper {}
186 %  \midi {}
187 }
188
189 %%% Local variables:
190 %%% LilyPond-indent-level:2
191 %%% End: