78 lines
3.1 KiB
Plaintext
78 lines
3.1 KiB
Plaintext
#(define-markup-command (bookTitleMarkupCustom layout props)()
|
|
(interpret-markup layout
|
|
(prepend-alist-chain 'defaultmarkup #{
|
|
\markup {
|
|
\override #'(baseline-skip . 3.5)
|
|
\center-column {
|
|
\override #`(font-name . ,songTitleFont) { \fontsize #6 \fromproperty #'header:title }
|
|
\large \bold \fromproperty #'header:subtitle
|
|
\smaller \bold \fromproperty #'header:subsubtitle
|
|
}
|
|
}
|
|
#}
|
|
(prepend-alist-chain 'songfilename (chain-assoc-get 'header:songfilename props "") props))
|
|
(make-column-markup
|
|
(list
|
|
(make-vspace-markup (chain-assoc-get 'header:titletopspace props 0))
|
|
(make-customEps-markup (chain-assoc-get 'header:titlesize props 3.5) "titel.eps")
|
|
))
|
|
))
|
|
|
|
#(define-markup-command (category-image layout props size category)(number? string?)
|
|
(interpret-markup layout props
|
|
(if noStandaloneOutput
|
|
(make-epsfileref-markup Y size
|
|
(category-image-path category))
|
|
(make-epsfile-markup Y size
|
|
(category-image-path category)))))
|
|
|
|
#(define showCategoryImages (if (defined? 'showCategoryImages) showCategoryImages #t))
|
|
|
|
#(define-markup-command (category-images layout props)()
|
|
(interpret-markup layout props
|
|
(if showCategoryImages
|
|
(make-line-markup (map (lambda (category) (make-category-image-markup 5 category))
|
|
(string-tokenize (chain-assoc-get 'header:categories props ""))))
|
|
(make-null-markup))))
|
|
|
|
#(define pdf-encode
|
|
(if (< (list-ref (ly:version) 1) 24)
|
|
ly:encode-string-for-pdf
|
|
(@@ (lily framework-ps) pdf-encode)))
|
|
% PDF tags
|
|
#(define-markup-command (title-to-pdf-toc layout props title) (string?)
|
|
(ly:make-stencil
|
|
(list 'embedded-ps
|
|
(ly:format
|
|
"[/Action /GoTo /View [/Fit] /Title <~a> /OUT pdfmark"
|
|
(fold
|
|
(lambda (ch hexout)
|
|
(string-append hexout
|
|
(format #f "~2,'0x" (char->integer ch))))
|
|
""
|
|
(string->list
|
|
(pdf-encode title)))))
|
|
empty-interval empty-interval
|
|
;'(0 . 0) '(0 . 0)
|
|
))
|
|
|
|
#(define-markup-command (title-with-category-images layout props right)(boolean?)
|
|
(interpret-markup layout props
|
|
(let* ((title (chain-assoc-get 'header:title props #f))
|
|
(pdfbookmark (chain-assoc-get 'header:songfilename props title)))
|
|
(if title
|
|
;(if (chain-assoc-get 'header:categories props #f)
|
|
(if right
|
|
#{\markup { \title-to-pdf-toc #pdfbookmark \fill-line \general-align #Y #UP { \null \bookTitleMarkupCustom \category-images } } #}
|
|
#{\markup { \title-to-pdf-toc #pdfbookmark \fill-line \general-align #Y #UP { \category-images \bookTitleMarkupCustom \null } } #})
|
|
;#{\markup \fill-line \general-align #Y #UP { \null \bookTitleMarkupCustom \null } #})
|
|
;(make-null-markup))
|
|
#{ \markup { " " } #})
|
|
)))
|
|
|
|
\paper {
|
|
bookTitleMarkup = \markup \null
|
|
scoreTitleMarkup = \markup \null
|
|
oddHeaderMarkup = \markup { \if \on-first-page-of-part \title-with-category-images ##t }
|
|
evenHeaderMarkup = \markup { \if \on-first-page-of-part \title-with-category-images ##f }
|
|
} |