3 #(use-modules (srfi srfi-39))
4 #(define-public *staff-size*
5 (make-parameter (let ((module (ly:output-def-scope
6 (ly:parser-lookup (eval 'parser (current-module))
8 (/ (module-ref module 'staff-height)
12 incipit-width = #(* (*staff-size*)
13 (if (defined? 'reference-incipit-width)
14 reference-incipit-width
15 (* (/ 15.0 20.0) mm)))
18 \include "common/includes.ily"
19 \include "common/clef-key.ily"
20 \include "common/titling.ily"
21 \include "common/toc-columns.ily"
22 \include "common/music-commands.ily"
23 \include "common/baroque.ily"
24 \include "common/marks.ily"
25 \include "common/staff.ily"
26 \include "common/layout.ily"
27 \include "common/reduction.ily"
32 maintainer = "Nicolas Sceaux"
33 maintainerEmail = "nicolas.sceaux@gmail.com"
34 maintainerWeb = "http://nicolas.sceaux.free.fr"
35 copyright = \markup\copyright
36 license = "Licensed under the Creative Commons Attribution-ShareAlike 4.0 License"
37 shortcopyright = \markup { \copyright — \license }
38 longcopyright = \markup\column {
40 \fill-line { \copyright }
41 \fill-line { \license }
45 \override #'(box-padding . 1.0) \override #'(baseline-skip . 2.7)
51 \with-url #"http://nicolas.sceaux.free.fr" \smaller "<nicolas.sceaux@gmail.com>"
59 \with-url #"http://nicolas.sceaux.free.fr"
60 \typewriter\smaller http://nicolas.sceaux.free.fr
61 typeset using \with-url #"http://lilypond.org" LilyPond
62 $(string-append "version " (lilypond-version))
63 on \concat { \today . }
68 \italic Free to download, with the \italic freedom
69 to distribute, modify and perform.
74 Licensed under the Creative Commons Attribution-ShareAlike 4.0 License,
75 for details see: \hspace #-0.5
76 \with-url #"http://creativecommons.org/licenses/by-sa/4.0"
77 http://creativecommons.org/licenses/by-sa/4.0
84 #(define-markup-command (nenuvar-footer layout props side)
88 (cond ((and (= 1 (chain-assoc-get 'page:page-number props -1))
89 (not (and (chain-assoc-get 'page:is-bookpart-last-page
91 (chain-assoc-get 'page:is-last-bookpart
94 #{ \markup\fill-line {
95 \abs-fontsize #10 \fromproperty #'header:longcopyright } #})
96 ((and (chain-assoc-get 'page:is-bookpart-last-page props #f)
97 (chain-assoc-get 'page:is-last-bookpart props #f))
99 #{ \markup\fill-line {
100 \abs-fontsize #8 \fromproperty #'header:tagline } #})
103 #{ \markup\fill-line {
104 \null \abs-fontsize #6 \fromproperty #'header:shortcopyright } #})
107 #{ \markup\fill-line {
108 \abs-fontsize #6 \fromproperty #'header:shortcopyright \null } #}))))
111 nenuvarBookTitleMarkup = \markup \when-property #'header:title \abs-fontsize #12 \column {
112 \null \null \null \null \null \null
113 \fill-line { \fontsize #6 \italic \fromproperty #'header:composer }
114 \when-property #'header:poet \column { \null \null \null }
115 \fill-line { \fontsize #6 \italic \fromproperty #'header:poet }
116 \null \null \null \null \null \null
117 \fontsize #12 \fill-line {
118 \apply-fromproperty #make-smallCaps-markup #'header:title }
119 \null \null \null \null \null \null
120 \fill-line { \postscript #(format #f "~a 0 moveto ~a 0 rlineto stroke"
121 (/ -400 (*staff-size*))
122 (/ 800 (*staff-size*)))
124 \null \null \null \null \null \null
125 \fill-line { \fontsize #4 \fromproperty #'header:date }
127 \on-the-fly #(lambda (layout props arg)
129 (interpret-markup layout props
130 (markup #:column (#:null #:null
131 #:fill-line (#:fontsize 4 (*part-name*)))))
133 \null \null \null \null
134 \fill-line { \fontsize #2 \fromproperty #'header:editions }
135 \fill-line { \fontsize #2 \fromproperty #'header:arrangement }
137 bookTitleMarkup = \nenuvarBookTitleMarkup
138 shortBookTitleMarkup = \markup {
139 \override #'(baseline-skip . 3.5) \column {
140 \huge \larger \bold \fill-line { \larger \fromproperty #'header:title }
141 \huge \fill-line { \fromproperty #'header:subtitle }
143 \fromproperty #'header:poet
144 \on-the-fly #(lambda (layout props arg)
146 (interpret-markup layout props (markup (*part-name*)))
147 empty-stencil)) \null
148 \fromproperty #'header:composer
152 \fromproperty #'header:date
156 scoreTitleMarkup = #f
158 oddFooterMarkup = \markup\nenuvar-footer #RIGHT
159 evenFooterMarkup = \markup\nenuvar-footer #LEFT
161 tocTitle = "TABLE DES MATIÈRES"
165 %%% The following hack make regular rests hara-kiri-able
167 #(let* ((rest-def (assoc 'Rest all-grob-descriptions))
168 (meta-def (assoc 'meta (cdr rest-def)))
169 (interfaces-def (assoc 'interfaces (cdr meta-def)))
170 (interfaces (filter (lambda (interface)
171 (not (eqv? interface 'rhythmic-grob-interface)))
172 (cdr interfaces-def))))
173 (set-cdr! interfaces-def interfaces))