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
20 haraKiriFirst = \with {
21 \override VerticalAxisGroup.remove-empty = ##t
22 \override VerticalAxisGroup.remove-first = ##t
26 \override StaffSymbol #'staff-space = #(magstep -2)
31 \override StaffSymbol #'staff-space = #(magstep -1)
36 #(define-music-function (parser location size) (number?)
37 #{ \override Staff.StaffSymbol #'staff-space = $(magstep size)
38 \set Staff.fontSize = $size #})
41 #(define-music-function (parser location music lyrics) (ly:music? ly:music?)
42 (let ((name (symbol->string (gen-unique-context))))
43 #{ << \context Voice = $name \with { autoBeaming = ##f } $music
44 \new Lyrics \lyricsto #name { #lyrics }
48 #(define-music-function (parser location music lyrics1 lyrics2) (ly:music? ly:music? ly:music?)
49 (let ((name (symbol->string (gen-unique-context))))
50 #{ << \context Voice = $name \with { autoBeaming = ##f } $music
51 \new Lyrics \lyricsto #name { #lyrics1 }
52 \new Lyrics \lyricsto #name { #lyrics2 }
56 #(define-music-function (parser location music lyrics) (ly:music? ly:music?)
57 (let ((name (symbol->string (gen-unique-context))))
58 #{ << \context Voice = $name \with { autoBeaming = ##f } <<
59 \set Staff . explicitClefVisibility = #end-of-line-invisible
60 \override Staff . Clef #'full-size-change = ##t
61 %%\override Staff . Clef #'break-visibility = #end-of-line-invisible
62 \override Score.BreakAlignment #'break-align-orders =
64 (instrument-name left-edge ambitus breathing-sign
65 clef key-cancellation key-signature
66 time-signature custos staff-bar)
68 (instrument-name left-edge ambitus breathing-sign
69 staff-bar clef key-cancellation key-signature
70 staff time-signature custos)
72 (instrument-name left-edge ambitus breathing-sign
73 clef key-cancellation key-signature staff-bar
74 time-signature custos))
76 \new Lyrics \lyricsto #name { #lyrics }
80 #(define-music-function (parser location music) (ly:music?)
84 'property-operations '((push VerticalAxisGroup #t remove-empty)
85 (push VerticalAxisGroup #f remove-first))
89 newTinyHaraKiriStaff =
90 #(define-music-function (parser location music) (ly:music?)
94 'property-operations `((push VerticalAxisGroup #t remove-empty)
95 (push VerticalAxisGroup #f remove-first)
96 (remove "Page_turn_engraver")
97 (push StaffSymbol ,(magstep -2) staff-space)
102 newSmallHaraKiriStaff =
103 #(define-music-function (parser location music) (ly:music?)
107 'property-operations `((push VerticalAxisGroup #t remove-empty)
108 (push VerticalAxisGroup #f remove-first)
109 (remove "Page_turn_engraver")
110 (push StaffSymbol ,(magstep -1) staff-space)
111 (assign fontSize -1))
116 #(define-music-function (parser location music) (ly:music?)
120 'property-operations '((push VerticalAxisGroup #t remove-empty)
121 (push VerticalAxisGroup #t remove-first))
125 newTinyHaraKiriStaffB =
126 #(define-music-function (parser location music) (ly:music?)
130 'property-operations `((push VerticalAxisGroup #t remove-empty)
131 (push VerticalAxisGroup #t remove-first)
132 (remove "Page_turn_engraver")
133 (push StaffSymbol ,(magstep -2) staff-space)
134 (assign fontSize -2))
138 newSmallHaraKiriStaffB =
139 #(define-music-function (parser location music) (ly:music?)
143 'property-operations `((push VerticalAxisGroup #t remove-empty)
144 (push VerticalAxisGroup #t remove-first)
145 (remove "Page_turn_engraver")
146 (push StaffSymbol ,(magstep -1) staff-space)
147 (assign fontSize -1))
152 #(define-music-function (parser location music) (ly:music?)
153 #{ \new Staff \with {
155 \override StaffSymbol #'staff-space = #(magstep -1)
159 #(define-music-function (parser location music) (ly:music?)
160 #{ \new Staff \with {
162 \override StaffSymbol #'staff-space = #(magstep -2)
163 \remove "Page_turn_engraver"
166 dessusHauteContreTailleQuinteBasse =
167 #(define-music-function (parser location) ()
168 #{ \new StaffGroup <<
169 \new Staff << \global \clef "dessus" \includeNotes "dessus" >>
170 \new Staff << \global \clef "haute-contre" \includeNotes "haute-contre" >>
171 \new Staff << \global \clef "taille" \includeNotes "taille" >>
172 \new Staff << \global \clef "quinte" \includeNotes "quinte" >>
173 \new Staff << \global \clef "basse" \includeNotes "basse" >>
176 dessusHauteContreTailleBasse =
177 #(define-music-function (parser location) ()
178 #{ \new StaffGroup <<
179 \new Staff << \global \clef "dessus" \includeNotes "dessus" >>
180 \new Staff << \global \clef "haute-contre" \includeNotes "haute-contre" >>
181 \new Staff << \global \clef "taille" \includeNotes "taille" >>
182 \new Staff << \global \clef "basse" \includeNotes "basse" >>