1 %%% Commands for entering libretti
3 #(define-markup-command (livretAct layout props text next) (markup? markup?)
6 (markup #:column (#:fill-line (#:fontsize 4 #:pad-around 3 text)
9 #(define-markup-command (livretFinAct layout props text) (markup?)
12 (markup #:fill-line (#:fontsize 3 #:pad-around 2 text))))
14 #(define-markup-command (livretScene layout props text next)
17 (list (ly:make-stencil "" '(0 . 0) '(0 . 1))
20 (markup #:column (#:fill-line (#:fontsize 2 #:pad-around 2 text)
23 #(define-markup-command (livretDesc layout props text) (markup?)
26 (markup #:fontsize 1 #:pad-around 2 #:italic text)))
28 #(define-markup-command (livretDescPage layout props text) (markup?)
29 #:properties ((line-width)
35 #:override `(line-width . ,(- line-width gap word-space 2))
36 #:fontsize 1 #:pad-around 2 #:italic text)))
38 #(define-markup-command (livretDescAtt layout props text next)
43 (#:line (#:fontsize 1 #:pad-around 2 #:italic text)
46 #(define-markup-command (livretDescAttPage layout props text next)
48 #:properties ((line-width)
56 \override #`(line-width . ,(- line-width gap word-space 2))
57 \fontsize #1 \pad-around #2 \italic #text
61 #(define-markup-command (livretDidas layout props text) (markup?)
64 (markup #:fontsize 1 #:italic text)))
66 #(define-markup-command (livretDidasPage layout props text) (markup?)
67 #:properties ((line-width)
73 #:override `(line-width . ,(- line-width gap word-space 2))
74 #:fontsize 1 #:italic text)))
76 #(define-markup-command (livretDidasP layout props text) (markup?)
79 (markup #:fontsize 0 #:italic text)))
81 #(define-markup-command (livretDidasPPage layout props text) (markup?)
82 #:properties ((line-width)
88 #:override `(line-width . ,(- line-width gap word-space 2))
89 #:fontsize 0 #:italic text)))
91 #(define-markup-command (livretDidasPC layout props text) (markup?)
94 #{ \markup\fontsize #0 \italic \fill-line { $text } #}))
96 #(define-markup-command (livretDidascalies layout props text) (markup-list?)
99 #{ \markup\fontsize #0 \italic\justify { \hspace #4 $text } #}))
101 #(define-markup-command (livretPers layout props text next) (markup? markup?)
102 #:properties ((line-width)
108 (#:fill-line (#:fontsize 1 #:pad-around 2
109 #:override `(line-width . ,(- line-width
116 #(define-markup-command (livretPersVerse layout props pers verse next)
117 (markup? markup? markup?)
118 (let* ((pers-stencil (interpret-markup
120 (markup #:fontsize 0 #:italic pers)))
121 (verse-stencil (interpret-markup layout props verse))
122 (line-stencil (ly:stencil-add pers-stencil verse-stencil)))
123 (interpret-markup layout props
124 (markup #:column (#:stencil line-stencil
127 #(define livret-verse-aux
129 "Qu’en chantant vos feux nous chantions d’autres flâmes ;")
131 (lambda (layout props verse margin)
133 (let ((line-width (chain-assoc-get 'line-width props 0))
134 (gauge (interpret-markup
136 (markup #:fontsize 0 gauge-string))))
137 (set! gap (/ (- line-width
138 (interval-length (ly:stencil-extent gauge X)))
142 (markup #:hspace (+ gap margin)
143 #:fontsize 0 verse)))))
145 #(define-markup-command (livretVerse layout props metric args) (number? markup-list?)
146 #:properties ((gap 9))
147 (let ((margin (* 2.5 (- 12 (min 12 metric)))))
150 (markup #:hspace (+ gap margin)
151 (make-line-markup args)))))
153 #(define-markup-command (livretVer layout props args) (markup-list?)
154 (livret-verse-aux layout props (make-line-markup args) 0))
156 #(define-markup-command (livretVerC layout props args) (markup-list?)
157 (livret-verse-aux layout props (make-line-markup args) 2))
159 #(define-markup-command (livretText layout props args) (markup-list?)
162 #{ \markup\justify $args #}))
164 #(define-markup-command (livretRef layout props ref next)
169 #:with-link ref #:line ("[p." #:page-refIII ref "]")
172 #(define-markup-command (sep layout props) ()
173 (interpret-markup layout props
174 (markup #:pad-around 1 #:fill-line (#:draw-line '(50 . 0)))))