ly-styles/defs/tagline.ily

73 lines
1.7 KiB
Plaintext

%{
Tagline. Customize to get your name in the tag line.
%}
\version "2.16.0"
%%% See LSR 567: http://lsr.di.unimi.it/LSR/Item?id=567
#(use-modules (ice-9 popen))
#(use-modules (ice-9 rdelim))
today = #(strftime "%Y-%m-%d" (localtime (current-time)))
commit =
#(let* ((port (open-pipe* OPEN_READ "git" "rev-parse" "--short" "HEAD"))
(str (read-line port)))
(close-pipe port)
str)
#(if (eof-object? commit) (set! commit ""))
#(define-once commitUrl "")
#(define-once bandWebsite "")
#(define-once bandname "")
#(define-once bandnameFull bandname)
#(define-once bandUrl "")
#(define-once bandnameTagline (if (not (string-null? bandnameFull)) bandnameFull
(if (not (string-null? bandname)) bandname
(if (not (string-null? bandUrl)) bandUrl ""))))
#(if (and (not (string-null? commitUrl)) (not (string-null? commit)))
(set! commitUrl (string-append commitUrl commit)))
#(define (print-bandname-in-tagline layout props)
"Whether to print any bandname in the tagline."
(and
(string? bandnameTagline)
(not (string-null? bandnameTagline))
)
)
#(define (print-commit-hash-in-tagline layout props)
"Whether to print a commit hash in the tagline."
(and
(string? commit)
(not (string-null? commit))
)
)
\paper {
tagline = \markup {
\concat {
\with-url #"http://lilypond.org" #(format #f "Typeset with LilyPond ~a" (lilypond-version) )
", "
\with-url #"https://etdeboone.nl" "by ET de Boone"
% optionally include a bandname
\if \print-bandname-in-tagline
{
", "
\with-url #bandUrl \bandnameTagline
}
" "
"(rev. " \today
% optionally include the commit hash
\if \print-commit-hash-in-tagline
{
", "
\with-url #commitUrl \concat { "#" #commit }
}
")"
}
}
}