4 texidoc = "Wilhelmus van Nassouwe"
5 title = "Wilhelmus van Nassouwe"
7 subtitle = "Neder-landtsche gedenck-clanck"
9 copyright = "public domain"
10 enteredby = "janneke@gnu.org"
14 #(define (override-alist-property grob-name alist-property entry)
16 (let* ((grob-properties (ly:context-property context grob-name))
17 (alist-cons (chain-assoc-get alist-property grob-properties '()))
18 (new-alist-cons (assoc-set! alist-cons (car entry) (cdr entry)))
19 (new-props (assoc-set! (car grob-properties)
20 alist-property new-alist-cons)))
21 (ly:context-set-property! context grob-name (list new-props)))))
23 #(define (set-extra-space grob-name entry value)
24 (override-alist-property grob-name 'space-alist
26 ;;;(cons entry (cons 'fixed-space value))))
27 (cons entry (cons 'extra-space value))))
29 noclefs = \notes { s1 \set Staff.Clef = \turnOff }
31 %% first line left margin
32 \applycontext #(set-extra-space 'TimeSignature 'first-note 4.5)
34 %% next lines left margin
35 %% \applycontext #(set-extra-space 'KeySignature 'first-note 15)
36 \applycontext #(set-extra-space 'KeySignature 'staff-bar 15)
38 %% next lines small key-signature margin
39 \applycontext #(set-extra-space 'LeftEdge 'key-signature 1.0)
41 %% using StaffSymbol.width now
43 %%\applycontext #(set-extra-space 'BarLine 'right-edge 12.5)
47 %% Set height of bar line to 2 staff-spaces
48 \override Staff.BarLine #'bar-size-procedure = #(lambda (x) 2)
49 %% Move barline one staff-space up
50 \override Staff.BarLine #'extra-offset = #'(0 . 1)
54 \revert Staff.BarLine #'bar-size-procedure
55 \revert Staff.BarLine #'extra-offset
56 \override Staff.BarLine #'extra-offset = #'(12 . 0)
66 voice = \notes \relative c' {
76 b8[ c] d2 e4 d2 c4 b a8
79 d,4 g4.\melisma a8\melismaEnd b2 a2 g4 fis e8
81 \override NoteHead #'style = #'neo_mensural
85 stich = \notes \relative c'' {
86 \override Staff.NoteCollision #'merge-differently-dotted = ##t
89 \override Voice.Stem #'beamed-lengths = #(map (lambda (x) (* 0.2 x)) '(3.26))
93 s4 s s a8[ b] c[ a] s4.
96 s4 s s a8[ b] c[ a] s4.
102 s4 g8 fis g a s2 s2 s4 s s8
107 Wil -- hel -- mus van Nas -- sou -- we
108 ben ik van duit -- sen bloed,
110 den va -- der -- land ge -- trou -- we
111 blijf ik tot in den dood.
113 Een prin -- se van O -- ran -- je
114 ben ik vrij on -- ver -- veerd,
116 den ko -- ning van His -- pan -- je
117 heb ik al -- tijd ge -- eerd.
120 oneHalfNoteTime = \markup {
121 \override #'(baseline-skip . 0)
122 \column < { \number "1" } { \smaller \smaller \note #"2" #-0.5 } >
125 linebreaks = \notes {
126 \repeat unfold 2 { s4 s1 s4 s8 \bar "" \break
127 s8 s1 s2. \bar "" \break }
128 s4 s2*3 s4 s8 \bar "" \break
129 s8 s1 s2. \bar "" \break
130 s4 s4*7 s4. \bar "" \break
131 s8 s1 s\breve \endBarLine
137 \override Staff.StaffSymbol #'width = #'80
141 %% Less vertical space needed with lyrics
142 \set Staff.minimumVerticalExtent = #'(2 . 2)
144 %% Second time signature
145 %% \override Staff.TimeSignature #'print-function =
146 %% #(second-time-signature '(3 . 2) Time_signature::print)
148 %% Custom time signature
149 \override Staff.TimeSignature #'print-function = #Text_item::print
150 \override Staff.TimeSignature #'text = #oneHalfNoteTime
152 %% Invisible alternating time signature
155 \override Staff.TimeSignature #'print-function = #'()
156 \repeat unfold 2 { \time 4/4 s1 \time 2/4 s2 \time 4/4 s1*2 }
157 \time 3/2 s2*3 \time 2/4 s2 \time 4/4 s1*2
158 \time 7/4 s4*7 \time 2/4 s2
159 \time 4/4 s1 \time 4/2 s1*2
162 \context Voice = "voice" \voice
165 \context Voice = "stich" \stich
167 \lyricsto "voice" \new Lyrics {
168 \set minimumVerticalExtent = #'(2 . 2)
177 %%% LilyPond-indent-level:2