Compare commits
1 Commits
main
...
filter-aut
| Author | SHA1 | Date | |
|---|---|---|---|
| 7ed0e43b18 |
@@ -56,5 +56,3 @@ TEXT_PAGES = #f
|
||||
verseChords = {}
|
||||
firstVoice = {}
|
||||
global = {}
|
||||
|
||||
\resetTagGroups
|
||||
|
||||
@@ -149,11 +149,10 @@ override-stanza =
|
||||
(stanza-style (ly:assoc-get 'style (ly:context-grob-definition context 'StanzaNumber)))
|
||||
(roman-format (lambda (stanzanumber) (format #f "~@r" stanzanumber))))
|
||||
(ly:context-set-property! context 'stanza
|
||||
(make-pad-left-markup 1
|
||||
(number-formater
|
||||
(if (eq? stanza-style 'roman)
|
||||
(map roman-format stanzanumbers)
|
||||
stanzanumbers))))))
|
||||
(number-formater
|
||||
(if (eq? stanza-style 'roman)
|
||||
(map roman-format stanzanumbers)
|
||||
stanzanumbers)))))
|
||||
|
||||
#(define (stanza . stanzanumbers)
|
||||
#{
|
||||
@@ -222,7 +221,7 @@ repStopWithTag = \lyricmode {
|
||||
\tag #'repeats {
|
||||
\once \override StanzaNumber.font-series = #'normal
|
||||
\once \override StanzaNumber.direction = 1
|
||||
\set stanza = \markup { \pad-x-right #1 \repStop }
|
||||
\set stanza = \markup { \repStop }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -305,18 +304,4 @@ rufWithMarkup =
|
||||
#})
|
||||
ruf =
|
||||
#(define-music-function (text) (string?)
|
||||
(rufWithMarkup (make-ruf-style-markup text)))
|
||||
|
||||
underlineOn =
|
||||
#(define-music-function () ()
|
||||
#{
|
||||
\override LyricText.stencil =
|
||||
#(lambda (grob)
|
||||
(grob-interpret-markup grob (make-underline-markup (ly:grob-property grob 'text))))
|
||||
#})
|
||||
|
||||
underlineOff =
|
||||
#(define-music-function () ()
|
||||
#{
|
||||
\revert LyricText.stencil
|
||||
#})
|
||||
(rufWithMarkup (make-ruf-style-markup text)))
|
||||
@@ -80,8 +80,41 @@ capoTranspose =
|
||||
(ly:make-pitch 0 0)
|
||||
chords))
|
||||
|
||||
% kleine Mollakkorde und Alteration ausgeschrieben
|
||||
#(define (note-name->german-markup-nosym pitch lowercase?)
|
||||
(define (pitch-alteration-semitones pitch) (inexact->exact (round (* (ly:pitch-alteration pitch) 2))))
|
||||
(define (accidental->markup alteration name)
|
||||
(if (= alteration 0)
|
||||
(make-line-markup (list empty-markup))
|
||||
(if (= alteration FLAT)
|
||||
(if (equal? name "B")
|
||||
""
|
||||
; (make-line-markup (list (make-hspace-markup 0.2)
|
||||
; (make-tiny-markup (make-raise-markup 1.2
|
||||
; (make-musicglyph-markup (assoc-get alteration standard-alteration-glyph-name-alist ""))))
|
||||
; ))
|
||||
(if (or (equal? name "E") (equal? name "A")) "s" "es"))
|
||||
"is")
|
||||
))
|
||||
(define (conditional-string-downcase str condition)
|
||||
(if condition (string-downcase str) str))
|
||||
|
||||
(let* ((name (ly:pitch-notename pitch))
|
||||
(alt-semitones (pitch-alteration-semitones pitch))
|
||||
(n-a (if (member (cons name alt-semitones) `((6 . -1) (6 . -2)))
|
||||
(cons 7 (+ 0 alt-semitones))
|
||||
(cons name alt-semitones))))
|
||||
(make-line-markup
|
||||
(list
|
||||
(make-simple-markup
|
||||
(conditional-string-downcase
|
||||
(vector-ref #("C" "D" "E" "F" "G" "A" "H" "B") (car n-a))
|
||||
lowercase?))
|
||||
(accidental->markup (/ (cdr n-a) 2) (vector-ref #("C" "D" "E" "F" "G" "A" "H" "B") (car n-a)) ))))
|
||||
)
|
||||
|
||||
% additional bass notes should get uppercased
|
||||
#(define (bassnote-name->german-markup-nosym pitch lowercase?)((chord-name:name-markup 'deutsch) pitch #f))
|
||||
#(define (bassnote-name->german-markup-nosym pitch lowercase?)(note-name->german-markup-nosym pitch #f))
|
||||
|
||||
defaultChordPrintings = {
|
||||
<c g>-\markup { \super "5" }
|
||||
@@ -124,15 +157,15 @@ generalLayout = \layout {
|
||||
\generalLayout
|
||||
\context {
|
||||
\ChordNames
|
||||
\semiGermanChords
|
||||
\override ChordName.font-size = \songScoreChordFontSize
|
||||
\override ChordName.font-series = \songChordFontSeries
|
||||
\override ChordName.font-family = #'serif
|
||||
chordNameLowercaseMinor = ##t
|
||||
chordChanges = ##t
|
||||
chordRootNamer = #(chord-name:name-markup 'deutsch)
|
||||
% eigenen chordRootNamer damit F# = Fis und Gb = Ges (also alteration ausgeschrieben)
|
||||
chordRootNamer = #note-name->german-markup-nosym
|
||||
chordNoteNamer = #bassnote-name->german-markup-nosym
|
||||
additionalPitchPrefix = ""
|
||||
|
||||
majorSevenSymbol = "maj7"
|
||||
chordNameExceptions = \chordNameExceptions
|
||||
}
|
||||
@@ -181,4 +214,4 @@ Ignoring_newline_chord_changes_engraver =
|
||||
((chord-name-interface this-engraver grob source-engraver)
|
||||
(when (and (ly:context-property ctx 'chordChanges #f) (ly:grob-property grob 'begin-of-line-visible #f))
|
||||
(ly:grob-suicide! grob)
|
||||
)))))
|
||||
)))))
|
||||
@@ -54,7 +54,7 @@
|
||||
(poetAndComposerEqualPrefix "")
|
||||
(poetPrefix "")
|
||||
(composerPrefix "")
|
||||
(translationAuthorPrefix "")
|
||||
(translationPrefix "")
|
||||
(pronunciationPrefix "")
|
||||
(compositionPrefix "")
|
||||
(adaptionTextPrefix "")
|
||||
@@ -177,4 +177,4 @@
|
||||
)))))
|
||||
(make-null-markup)
|
||||
)
|
||||
}
|
||||
}
|
||||
@@ -116,7 +116,7 @@
|
||||
#:poetAndComposerEqualPrefix (ly:output-def-lookup layout 'poetAndComposerEqualPrefix)
|
||||
#:poetPrefix (ly:output-def-lookup layout 'poetPrefix)
|
||||
#:composerPrefix (ly:output-def-lookup layout 'composerPrefix)
|
||||
#:translationAuthorPrefix (ly:output-def-lookup layout 'translationAuthorPrefix)
|
||||
#:translationPrefix (ly:output-def-lookup layout 'translationPrefix)
|
||||
#:pronunciationPrefix (ly:output-def-lookup layout 'pronunciationPrefix)
|
||||
#:compositionPrefix (ly:output-def-lookup layout 'compositionPrefix)
|
||||
#:adaptionTextPrefix (ly:output-def-lookup layout 'adaptionTextPrefix)
|
||||
@@ -213,4 +213,4 @@
|
||||
\line { \page-number-to-pdf-label \null }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
#(define-markup-command (bookTitleMarkupCustom layout props)()
|
||||
(interpret-markup layout props
|
||||
(interpret-markup layout
|
||||
(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))
|
||||
@@ -37,24 +38,23 @@
|
||||
;'(0 . 0) '(0 . 0)
|
||||
)))
|
||||
|
||||
#(define-markup-command (build-full-title layout props right)(boolean?)
|
||||
(interpret-markup layout (prepend-alist-chain 'songfilename (chain-assoc-get 'header:songfilename props "") props)
|
||||
#(define-markup-command (title-with-category-images layout props right)(boolean?)
|
||||
(interpret-markup layout props
|
||||
(let* ((title (chain-assoc-get 'header:title props ""))
|
||||
(starttext (chain-assoc-get 'header:starttext props #f))
|
||||
(pdfbookmark (if starttext (string-append starttext " | " title) title))
|
||||
(title-markup (ly:output-def-lookup layout (if right 'oddTitleLineMarkup 'evenTitleLineMarkup))))
|
||||
(pdfbookmark (if starttext (string-append starttext " | " title) title)))
|
||||
(if title
|
||||
(markup #:title-to-pdf-toc pdfbookmark title-markup)
|
||||
make-null-markup)
|
||||
(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 { " " } #})
|
||||
)))
|
||||
|
||||
\paper {
|
||||
bookTitleMarkup = \markup \null
|
||||
scoreTitleMarkup = \markup \null
|
||||
oddHeaderMarkup = \markup { \if \on-first-page-of-part \build-full-title ##t }
|
||||
evenHeaderMarkup = \markup { \if \on-first-page-of-part \build-full-title ##f }
|
||||
oddTitleLineMarkup = \markup { \fill-line \general-align #Y #UP { \null \bookTitleMarkupCustom \category-images } }
|
||||
evenTitleLineMarkup = \markup { \fill-line \general-align #Y #UP { \category-images \bookTitleMarkupCustom \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 }
|
||||
defaultTitleMarkup = \markup {
|
||||
\override #'(baseline-skip . 3.5)
|
||||
\center-column {
|
||||
@@ -63,4 +63,4 @@
|
||||
\smaller \bold \fromproperty #'header:subsubtitle
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -203,9 +203,23 @@
|
||||
|
||||
#(define-markup-command (pad-left layout props amount arg)
|
||||
(number? markup?)
|
||||
(let* ((m (interpret-markup layout props arg))
|
||||
(x (ly:stencil-extent m X))
|
||||
(y (ly:stencil-extent m Y)))
|
||||
(ly:stencil-translate
|
||||
(interpret-markup layout props (make-pad-x-left-markup amount arg))
|
||||
`(,amount . 0)))
|
||||
(ly:make-stencil (ly:stencil-expr m)
|
||||
(cons (- (car x) amount) (cdr x))
|
||||
y)
|
||||
`(,amount . 0))))
|
||||
|
||||
#(define-markup-command (pad-right layout props amount arg)
|
||||
(number? markup?)
|
||||
(let* ((m (interpret-markup layout props arg))
|
||||
(x (ly:stencil-extent m X))
|
||||
(y (ly:stencil-extent m Y)))
|
||||
(ly:make-stencil (ly:stencil-expr m)
|
||||
(cons (car x) (+ (cdr x) amount))
|
||||
y)))
|
||||
|
||||
#(define-markup-command (score-equal-height-with-indents layout props lines)
|
||||
(markup-list?)
|
||||
@@ -236,7 +250,7 @@
|
||||
(let ((text (ly:grob-property grob 'text)))
|
||||
|
||||
(grob-interpret-markup grob (if (string? text)
|
||||
(make-pad-x-right-markup -0.1 (make-tied-lyric-markup text))
|
||||
(make-pad-right-markup -0.1 (make-tied-lyric-markup text))
|
||||
text))))
|
||||
|
||||
Chord_lyrics_spacing_engraver =
|
||||
|
||||
@@ -287,8 +287,11 @@ headerToTOC = #(define-music-function (parser location header label) (ly:book? s
|
||||
(compositionIds (find-author-ids-by 'composition authors))
|
||||
(adaptionIds (find-author-ids-by 'adaption authors))
|
||||
(bridgeIds (find-author-ids-by 'bridge authors))
|
||||
(interludeIds (find-author-ids-by 'interlude authors)))
|
||||
(delete-duplicates
|
||||
(interludeIds (find-author-ids-by 'interlude authors))
|
||||
(realAuthorIds (map car AUTHOR_DATA)))
|
||||
(lset-intersection
|
||||
equal?
|
||||
realAuthorIds
|
||||
(append poetIds translatorIds (map car versePoetData) composerIds (map car verseComposerData) (map car voiceComposerData) compositionIds adaptionIds bridgeIds interludeIds))
|
||||
))
|
||||
(let*
|
||||
@@ -441,6 +444,6 @@ headerToTOC = #(define-music-function (parser location header label) (ly:book? s
|
||||
; we use a delayed stencil to have all the page references available
|
||||
(ly:make-stencil
|
||||
`(delay-stencil-evaluation
|
||||
,(delay (let* ((table (ly:output-def-lookup layout 'label-absolute-page-table)))
|
||||
,(delay (let* ((table (ly:output-def-lookup layout 'label-page-table)))
|
||||
(generate-toc-csv (if (list? table) table '()))
|
||||
empty-stencil)))))
|
||||
|
||||
Reference in New Issue
Block a user