]> git.donarmstrong.com Git - lilypond.git/blob - input/wilhelmus.ly
* input/regression/bar-check-redefine.ly (pipeSymbol): new file.
[lilypond.git] / input / wilhelmus.ly
1 \version "2.3.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    (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   \context Staff \applycontext #(set-extra-space 'TimeSignature 'first-note 4.5)
34   
35   %% next lines left margin
36   \context Staff \applycontext #(set-extra-space 'KeySignature 'staff-bar 15)
37   
38   %% next lines small key-signature margin
39   \context Staff \applycontext #(set-extra-space 'LeftEdge 'key-signature 4.0)
40 }
41
42 pipeSymbol = {
43   %% Set height of bar line to 2 staff-spaces
44   \once \override Staff.BarLine #'bar-size-procedure = #(lambda (x) 2)
45   %% Move barline one staff-space up
46   \once \override Staff.BarLine #'extra-offset = #'(0 . 1)
47   \bar "|"
48 }
49
50 endBarLine = {
51
52 }
53
54 myBreak = { \bar "" \break }
55
56 \paper {
57   indent = 0.0\mm
58   linewidth = 120.0\mm
59   textheight = 270.0\mm
60 }
61
62 voice = \notes \relative c' {
63   \clef violin
64   \key g \major
65   d4 | g g a a b | a8 \myBreak
66   b8 | c4 b a a | g2.
67
68   d4 | g g a a | b a8
69   b8 | c4 b a a| g2.
70
71   b8[ c] | d2 e4 d2 c4 | b a8
72   b8 | c4 b a g | a2.
73
74   d,4 | g4.\melisma a8\melismaEnd b2 a2 g4 | fis e8
75   d8 | e4 g g fis |
76   
77   \override NoteHead #'style = #'neo_mensural
78
79   g\breve
80
81
82   \override Staff.BarLine #'extra-offset = #'(12 . 0)
83   \bar "|."
84 }
85
86 stich = \notes \relative c'' {
87   \override Staff.NoteCollision #'merge-differently-dotted = ##t
88   \set fontSize = #-3
89   %% broken?
90   \override Stem #'beamed-lengths = #(map (lambda (x) (* 0.2 x)) '(3.26))
91
92   \voiceTwo
93   \partial 4
94   s4 s s a8[ b] c[ a] s4.
95   s8 s4 s a8 g s4 s2.
96
97   s4 s s a8[ b] c[ a] s4.
98   s8 s4 s a8 g s4 s2.
99   
100   s8 s s2 s4 s2 s4 s s8
101   s8 s4 s s s s2.
102
103   s4 g8[ fis g a] s2 s2 s4 s s8
104   s8 e8[ fis]
105 }
106
107 modernText = \lyrics {
108   Wil -- hel -- mus van Nas -- sou -- we
109   ben ik van duit -- sen bloed,
110
111   den va -- der -- land ge -- trou -- we
112   blijf ik tot in den dood.
113
114   Een prin -- se van O -- ran -- je
115   ben ik vrij on -- ver -- veerd,
116
117   den ko -- ning van His -- pan -- je
118   heb ik al -- tijd ge -- eerd.
119 }
120
121 text = \lyrics {
122   Wil -- hel -- mus van Nas -- sou -- we
123   Ben ick van duyt -- schen bloet,
124   Den Va -- der -- landt ghe -- trou -- we,
125   blyf ick tot in den doot!
126   Een Prin -- ce van O -- ran -- gien
127   Ben ick, vry, on -- ver -- veert;
128   Den Co -- ninck van His -- pan -- gien
129   Heb ick al -- tijt ghe -- eert.
130 }
131
132 oneHalfNoteTime = \markup {
133   \override #'(baseline-skip . 0)
134   \column < { \number "1" } { \smaller \smaller \note #"2" #-0.5 } >
135 }
136
137 linebreaks = \notes {
138   \repeat unfold 2 { s4 s1 s4 s8 \bar "" \break
139                      s8 s1 s2. \bar "" \break }
140   s4 s2*3 s4 s8 \bar "" \break
141   s8 s1 s2. \bar "" \break
142   s4 s4*7 s4. \bar "" \break
143   s8 s1 s\breve \endBarLine
144 }
145
146 \score {
147   \context Score <<
148     \context Staff <<
149       \override Staff.StaffSymbol #'width = #'80
150       \set Staff.autoBeaming = ##f
151       \set Score.timing = ##f
152       \setMargins
153      
154       %% Less vertical space needed with lyrics
155       \set Staff.minimumVerticalExtent = #'(2 . 2)
156       
157       %% Custom time signature
158       \override Staff.TimeSignature #'print-function = #Text_item::print
159       \override Staff.TimeSignature #'text = #oneHalfNoteTime
160     
161       \context Voice = "voice" \voice
162       \linebreaks
163       \noclefs
164       
165       \context Voice = "stich" \stich
166     >>
167     \lyricsto "voice" \new Lyrics {
168       \set minimumVerticalExtent = #'(2 . 2)
169       \text
170     }
171   >>
172   \paper {}
173 %  \midi {}
174 }
175
176 %%% Local variables:
177 %%% LilyPond-indent-level:2
178 %%% End: