1 #(use-modules (ice-9 format))
2 #(define-public gen-unique-context
3 ;; Generate a uniqueSchemeContextXX symbol, that may be (hopefully) unique.
6 (set! var-idx (1+ var-idx))
8 (format #f "uniqueSchemeContext~a"
9 (list->string (map (lambda (chr)
10 (integer->char (+ (char->integer #\a)
11 (- (char->integer chr)
12 (char->integer #\0)))))
13 (string->list (number->string var-idx)))))))))
16 \override VerticalAxisGroup #'remove-empty = ##t
17 \override VerticalAxisGroup #'remove-first = ##f
18 \override Beam #'auto-knee-gap = #'()
19 \consists "Hara_kiri_engraver"
20 \remove "Axis_group_engraver"
23 haraKiriFirst = \with {
24 \override VerticalAxisGroup #'remove-empty = ##t
25 \override VerticalAxisGroup #'remove-first = ##t
26 \override Beam #'auto-knee-gap = #'()
27 \consists "Hara_kiri_engraver"
28 \remove "Axis_group_engraver"
32 \override StaffSymbol #'staff-space = #(magstep -2)
37 \override StaffSymbol #'staff-space = #(magstep -1)
42 #(define-music-function (parser location music lyrics) (ly:music? ly:music?)
43 (let ((name (symbol->string (gen-unique-context))))
44 #{ << \context Voice = $name \with { autoBeaming = ##f } $music
45 \lyricsto $name \new Lyrics $lyrics
49 #(define-music-function (parser location music lyrics1 lyrics2) (ly:music? ly:music? ly:music?)
50 (let ((name (symbol->string (gen-unique-context))))
51 #{ << \context Voice = $name \with { autoBeaming = ##f } $music
52 \lyricsto $name \new Lyrics $lyrics1
53 \lyricsto $name \new Lyrics $lyrics2
57 #(define-music-function (parser location music lyrics) (ly:music? ly:music?)
58 (let ((name (symbol->string (gen-unique-context))))
59 #{ << \context Voice = $name \with { autoBeaming = ##f } <<
60 \set Staff . explicitClefVisibility = #end-of-line-invisible
61 \override Staff . Clef #'full-size-change = ##t
62 %%\override Staff . Clef #'break-visibility = #end-of-line-invisible
63 \override Score.BreakAlignment #'break-align-orders =
65 (instrument-name left-edge ambitus breathing-sign
66 clef key-cancellation key-signature
67 time-signature custos staff-bar)
69 (instrument-name left-edge ambitus breathing-sign
70 staff-bar clef key-cancellation key-signature
71 staff time-signature custos)
73 (instrument-name left-edge ambitus breathing-sign
74 clef key-cancellation key-signature staff-bar
75 time-signature custos))
77 \lyricsto $name \new Lyrics $lyrics
81 #(define-music-function (parser location music) (ly:music?)
85 'property-operations '((push VerticalAxisGroup #t remove-empty)
86 (push VerticalAxisGroup #f remove-first)
87 (push Beam () auto-knee-gap)
88 (consists "Hara_kiri_engraver")
89 (remove "Axis_group_engraver"))
93 newTinyHaraKiriStaff =
94 #(define-music-function (parser location music) (ly:music?)
98 'property-operations `((push VerticalAxisGroup #t remove-empty)
99 (push VerticalAxisGroup #f remove-first)
100 (push Beam () auto-knee-gap)
101 (consists "Hara_kiri_engraver")
102 (remove "Axis_group_engraver")
103 (remove "Page_turn_engraver")
104 (push StaffSymbol ,(magstep -2) staff-space)
105 (assign fontSize -2))
109 newSmallHaraKiriStaff =
110 #(define-music-function (parser location music) (ly:music?)
114 'property-operations `((push VerticalAxisGroup #t remove-empty)
115 (push VerticalAxisGroup #f remove-first)
116 (push Beam () auto-knee-gap)
117 (consists "Hara_kiri_engraver")
118 (remove "Axis_group_engraver")
119 (remove "Page_turn_engraver")
120 (push StaffSymbol ,(magstep -1) staff-space)
121 (assign fontSize -1))
126 #(define-music-function (parser location music) (ly:music?)
130 'property-operations '((push VerticalAxisGroup #t remove-empty)
131 (push VerticalAxisGroup #t remove-first)
132 (push Beam () auto-knee-gap)
133 (consists "Hara_kiri_engraver")
134 (remove "Axis_group_engraver"))
138 newTinyHaraKiriStaffB =
139 #(define-music-function (parser location music) (ly:music?)
143 'property-operations `((push VerticalAxisGroup #t remove-empty)
144 (push VerticalAxisGroup #t remove-first)
145 (push Beam () auto-knee-gap)
146 (consists "Hara_kiri_engraver")
147 (remove "Axis_group_engraver")
148 (remove "Page_turn_engraver")
149 (push StaffSymbol ,(magstep -2) staff-space)
150 (assign fontSize -2))
154 newSmallHaraKiriStaffB =
155 #(define-music-function (parser location music) (ly:music?)
159 'property-operations `((push VerticalAxisGroup #t remove-empty)
160 (push VerticalAxisGroup #t remove-first)
161 (push Beam () auto-knee-gap)
162 (consists "Hara_kiri_engraver")
163 (remove "Axis_group_engraver")
164 (remove "Page_turn_engraver")
165 (push StaffSymbol ,(magstep -1) staff-space)
166 (assign fontSize -1))
171 #(define-music-function (parser location music) (ly:music?)
172 #{ \new Staff \with {
174 \override StaffSymbol #'staff-space = #(magstep -1)
178 #(define-music-function (parser location music) (ly:music?)
179 #{ \new Staff \with {
181 \override StaffSymbol #'staff-space = #(magstep -2)
182 \remove "Page_turn_engraver"
185 dessusHauteContreTailleQuinteBasse =
186 #(define-music-function (parser location) ()
187 #{ \new StaffGroup <<
188 \new Staff << \global \clef "dessus" \includeNotes "dessus" >>
189 \new Staff << \global \clef "haute-contre" \includeNotes "haute-contre" >>
190 \new Staff << \global \clef "taille" \includeNotes "taille" >>
191 \new Staff << \global \clef "quinte" \includeNotes "quinte" >>
192 \new Staff << \global \clef "basse" \includeNotes "basse" >>
195 dessusHauteContreTailleBasse =
196 #(define-music-function (parser location) ()
197 #{ \new StaffGroup <<
198 \new Staff << \global \clef "dessus" \includeNotes "dessus" >>
199 \new Staff << \global \clef "haute-contre" \includeNotes "haute-contre" >>
200 \new Staff << \global \clef "taille" \includeNotes "taille" >>
201 \new Staff << \global \clef "basse" \includeNotes "basse" >>