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