]> git.donarmstrong.com Git - lilypond.git/blob - input/wilhelmus.ly
Merge with git+ssh://jneem@git.sv.gnu.org/srv/git/lilypond.git
[lilypond.git] / input / wilhelmus.ly
1 \version "2.10.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   %% ragged-right:
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 = #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   line-width = 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   %% ragged-right:
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   \override Stem #'length-fraction = #(magstep -3)
100
101   \voiceTwo
102   \partial 4
103   s4 s s a8[ b] c[ a] s4.
104   s8 s4 s a8 g s4 s2.
105
106   s4 s s a8[ b] c[ a] s4.
107   s8 s4 s a8 g s4 s2.
108   
109   s8 s s2 s4 s2 s4 s s8
110   s8 s4 s s s s2.
111
112   s4 g8[ fis g a] s2 s2 s4 s s8
113   s8 e8[ fis]
114 }
115
116 modernText = \lyricmode {
117   Wil -- hel -- mus van Nas -- sou -- we
118   ben ik van duit -- sen bloed,
119
120   den va -- der -- land ge -- trou -- we
121   blijf ik tot in den dood.
122
123   Een prin -- se van O -- ran -- je
124   ben ik vrij on -- ver -- veerd,
125
126   den ko -- ning van His -- pan -- je
127   heb ik al -- tijd ge -- eerd.
128 }
129
130 text = \lyricmode {
131   Wil -- hel -- mus van Nas -- sou -- we
132   Ben ick van duyt -- schen bloet,
133   Den Va -- der -- landt ghe -- trou -- we,
134   blyf ick tot in den doot!
135   %% Hack for better left text margin:
136   %% Een Prin -- ce van O -- ran -- gien
137   Een " " Prin -- ce van O -- ran -- gien
138   Ben ick, vry, on -- ver -- veert;
139   Den Co -- ninck van His -- pan -- gien
140   Heb ick al -- tijt ghe -- eert.
141 }
142
143 oneHalfNoteTime = \markup {
144   \override #'(baseline-skip . 0)
145   \column { \line { \number "1" } \line { \smaller \smaller \note #"2" #-0.5 } }
146 }
147
148 \layout {
149   ragged-right = ##t
150
151   \context {
152     \Score
153     %% defaults
154     %% (shortest-duration-space . 2.0)
155     %% (spacing-increment . 1.2)
156     %% (base-shortest-duration . ,(ly:make-moment 1 8))
157     %% wider spacing
158     \override SpacingSpanner #'shortest-duration-space = #3.0
159     \override SpacingSpanner #'spacing-increment = #1.2
160     \override SpacingSpanner #'base-shortest-duration = #(ly:make-moment 1 8)
161   }
162 }
163
164 \score {
165   \context Score <<
166     \context Staff <<
167       \override Staff.StaffSymbol #'width = #'80
168       \set Staff.autoBeaming = ##f
169       \set Score.timing = ##f
170       \setMargins
171      
172       %% Less vertical space needed with lyrics
173       \override Staff.VerticalAxisGroup #'minimum-Y-extent = #'(2 . 2)
174       
175       %% Custom time signature
176       \override Staff.TimeSignature #'stencil = #ly:text-interface::print
177       \override Staff.TimeSignature #'text = #oneHalfNoteTime
178       \noclefs
179     
180       \new Voice =  "voice" \voice
181       \new Voice =  "stich" \stich
182     >>
183     \lyricsto "voice" \new Lyrics {
184       \override VerticalAxisGroup #'minimum-Y-extent = #'(2 . 2)
185       \text
186     }
187   >>
188   \layout {}
189   \midi {}
190 }
191
192 %%% Local variables:
193 %%% LilyPond-indent-level:2
194 %%% End: