1 Commits

Author SHA1 Message Date
tux
36f1e8c0fd new engraver for spacing in chordlyrics 2025-06-12 22:29:58 +02:00
3 changed files with 25 additions and 26 deletions

View File

@ -1,5 +1,4 @@
#(define song-list '()) #(define song-list '())
#(define song-number 0)
#(define (files-in-directory dirname) #(define (files-in-directory dirname)
;;; Generate list containing filenames ;;; Generate list containing filenames
@ -186,17 +185,15 @@ songs =
\markup { \pagecenter { \epsfile #X #xsize #filename } } \markup { \pagecenter { \epsfile #X #xsize #filename } }
} #} } #}
) )
(let* ((newnumber (+ 1 song-number)) (let ((header #{ \bookpart { $(assq-ref songvars 'header) \header {
(header #{ \bookpart { $(assq-ref songvars 'header) \header { songfilename = $(symbol->string filename)
songfilename = $(symbol->string filename) myindexlabel = #(assq-ref songvars 'label)
myindexlabel = #(assq-ref songvars 'label) } } #})
songnumber = #(number->string newnumber) ;(header (assq-ref songvars 'header))
} } #}) (music (assq-ref songvars 'music))
(music (assq-ref songvars 'music)) (layout (assq-ref songvars 'layout))
(layout (assq-ref songvars 'layout)) (text-pages (assq-ref songvars 'text-pages))
(text-pages (assq-ref songvars 'text-pages)) (label (assq-ref songvars 'label)))
(label (assq-ref songvars 'label)))
(set! song-number newnumber)
#{ #{
\bookpart { \bookpart {
$header $header

View File

@ -4,15 +4,15 @@
(interpret-markup-list layout (prepend-alist-chain 'songfilename songfilename props) markuplist)) (interpret-markup-list layout (prepend-alist-chain 'songfilename songfilename props) markuplist))
#(define-markup-command (customEps layout props ysize filename)(number? string?) #(define-markup-command (customEps layout props ysize filename)(number? string?)
#:properties ((songfilename "")) #:properties ((songfilename "")
(defaultmarkup #f))
(interpret-markup layout props (interpret-markup layout props
(let ((defaulttitlemarkup (ly:output-def-lookup layout 'defaultTitleMarkup)) (let ((filepath (if (string-null? songfilename)
(filepath (if (string-null? songfilename)
filename filename
(ly:format "~a/~a/~a" songPath songfilename filename)))) (ly:format "~a/~a/~a" songPath songfilename filename))))
(if (file-exists? filepath) (if (file-exists? filepath)
(make-epsfile-markup Y ysize filepath) (make-epsfile-markup Y ysize filepath)
(if defaulttitlemarkup (if defaultmarkup
defaulttitlemarkup defaultmarkup
(ly:format "file does not exist ~a" filepath)) (ly:format "file does not exist ~a" filepath))
)))) ))))

View File

@ -1,6 +1,16 @@
#(define-markup-command (bookTitleMarkupCustom layout props)() #(define-markup-command (bookTitleMarkupCustom layout props)()
(interpret-markup layout (interpret-markup layout
(prepend-alist-chain 'songfilename (chain-assoc-get 'header:songfilename props "") props) (prepend-alist-chain 'defaultmarkup #{
\markup {
\override #'(baseline-skip . 3.5)
\center-column {
\override #`(font-name . ,songTitleFont) { \fontsize #songTitleSize \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 (make-column-markup
(list (list
(make-vspace-markup (chain-assoc-get 'header:titletopspace props 0)) (make-vspace-markup (chain-assoc-get 'header:titletopspace props 0))
@ -53,12 +63,4 @@
scoreTitleMarkup = \markup \null scoreTitleMarkup = \markup \null
oddHeaderMarkup = \markup { \if \on-first-page-of-part \title-with-category-images ##t } 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 } evenHeaderMarkup = \markup { \if \on-first-page-of-part \title-with-category-images ##f }
defaultTitleMarkup = \markup {
\override #'(baseline-skip . 3.5)
\center-column {
\override #`(font-name . ,songTitleFont) { \fontsize #songTitleSize \fromproperty #'header:title }
\large \bold \fromproperty #'header:subtitle
\smaller \bold \fromproperty #'header:subsubtitle
}
}
} }