Compare commits
10 Commits
7ed0e43b18
...
782b8d3fd7
| Author | SHA1 | Date | |
|---|---|---|---|
| 782b8d3fd7 | |||
| 71c8c0385c | |||
| f075946777 | |||
| a0de02126c | |||
| 7ece3b9c10 | |||
| 7fc99e8883 | |||
| b3feb3aa6d | |||
| 7b166f6fc3 | |||
| 9c437d0f06 | |||
| a52f993678 |
@@ -56,3 +56,5 @@ TEXT_PAGES = #f
|
|||||||
verseChords = {}
|
verseChords = {}
|
||||||
firstVoice = {}
|
firstVoice = {}
|
||||||
global = {}
|
global = {}
|
||||||
|
|
||||||
|
\resetTagGroups
|
||||||
|
|||||||
@@ -149,10 +149,11 @@ override-stanza =
|
|||||||
(stanza-style (ly:assoc-get 'style (ly:context-grob-definition context 'StanzaNumber)))
|
(stanza-style (ly:assoc-get 'style (ly:context-grob-definition context 'StanzaNumber)))
|
||||||
(roman-format (lambda (stanzanumber) (format #f "~@r" stanzanumber))))
|
(roman-format (lambda (stanzanumber) (format #f "~@r" stanzanumber))))
|
||||||
(ly:context-set-property! context 'stanza
|
(ly:context-set-property! context 'stanza
|
||||||
(number-formater
|
(make-pad-left-markup 1
|
||||||
(if (eq? stanza-style 'roman)
|
(number-formater
|
||||||
(map roman-format stanzanumbers)
|
(if (eq? stanza-style 'roman)
|
||||||
stanzanumbers)))))
|
(map roman-format stanzanumbers)
|
||||||
|
stanzanumbers))))))
|
||||||
|
|
||||||
#(define (stanza . stanzanumbers)
|
#(define (stanza . stanzanumbers)
|
||||||
#{
|
#{
|
||||||
@@ -221,7 +222,7 @@ repStopWithTag = \lyricmode {
|
|||||||
\tag #'repeats {
|
\tag #'repeats {
|
||||||
\once \override StanzaNumber.font-series = #'normal
|
\once \override StanzaNumber.font-series = #'normal
|
||||||
\once \override StanzaNumber.direction = 1
|
\once \override StanzaNumber.direction = 1
|
||||||
\set stanza = \markup { \repStop }
|
\set stanza = \markup { \pad-x-right #1 \repStop }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -304,4 +305,18 @@ rufWithMarkup =
|
|||||||
#})
|
#})
|
||||||
ruf =
|
ruf =
|
||||||
#(define-music-function (text) (string?)
|
#(define-music-function (text) (string?)
|
||||||
(rufWithMarkup (make-ruf-style-markup text)))
|
(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
|
||||||
|
#})
|
||||||
|
|||||||
@@ -80,41 +80,8 @@ capoTranspose =
|
|||||||
(ly:make-pitch 0 0)
|
(ly:make-pitch 0 0)
|
||||||
chords))
|
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
|
% additional bass notes should get uppercased
|
||||||
#(define (bassnote-name->german-markup-nosym pitch lowercase?)(note-name->german-markup-nosym pitch #f))
|
#(define (bassnote-name->german-markup-nosym pitch lowercase?)((chord-name:name-markup 'deutsch) pitch #f))
|
||||||
|
|
||||||
defaultChordPrintings = {
|
defaultChordPrintings = {
|
||||||
<c g>-\markup { \super "5" }
|
<c g>-\markup { \super "5" }
|
||||||
@@ -157,15 +124,15 @@ generalLayout = \layout {
|
|||||||
\generalLayout
|
\generalLayout
|
||||||
\context {
|
\context {
|
||||||
\ChordNames
|
\ChordNames
|
||||||
\semiGermanChords
|
|
||||||
\override ChordName.font-size = \songScoreChordFontSize
|
\override ChordName.font-size = \songScoreChordFontSize
|
||||||
\override ChordName.font-series = \songChordFontSeries
|
\override ChordName.font-series = \songChordFontSeries
|
||||||
\override ChordName.font-family = #'serif
|
\override ChordName.font-family = #'serif
|
||||||
chordNameLowercaseMinor = ##t
|
chordNameLowercaseMinor = ##t
|
||||||
chordChanges = ##t
|
chordChanges = ##t
|
||||||
% eigenen chordRootNamer damit F# = Fis und Gb = Ges (also alteration ausgeschrieben)
|
chordRootNamer = #(chord-name:name-markup 'deutsch)
|
||||||
chordRootNamer = #note-name->german-markup-nosym
|
|
||||||
chordNoteNamer = #bassnote-name->german-markup-nosym
|
chordNoteNamer = #bassnote-name->german-markup-nosym
|
||||||
|
additionalPitchPrefix = ""
|
||||||
|
|
||||||
majorSevenSymbol = "maj7"
|
majorSevenSymbol = "maj7"
|
||||||
chordNameExceptions = \chordNameExceptions
|
chordNameExceptions = \chordNameExceptions
|
||||||
}
|
}
|
||||||
@@ -214,4 +181,4 @@ Ignoring_newline_chord_changes_engraver =
|
|||||||
((chord-name-interface this-engraver grob source-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))
|
(when (and (ly:context-property ctx 'chordChanges #f) (ly:grob-property grob 'begin-of-line-visible #f))
|
||||||
(ly:grob-suicide! grob)
|
(ly:grob-suicide! grob)
|
||||||
)))))
|
)))))
|
||||||
|
|||||||
@@ -54,7 +54,7 @@
|
|||||||
(poetAndComposerEqualPrefix "")
|
(poetAndComposerEqualPrefix "")
|
||||||
(poetPrefix "")
|
(poetPrefix "")
|
||||||
(composerPrefix "")
|
(composerPrefix "")
|
||||||
(translationPrefix "")
|
(translationAuthorPrefix "")
|
||||||
(pronunciationPrefix "")
|
(pronunciationPrefix "")
|
||||||
(compositionPrefix "")
|
(compositionPrefix "")
|
||||||
(adaptionTextPrefix "")
|
(adaptionTextPrefix "")
|
||||||
@@ -177,4 +177,4 @@
|
|||||||
)))))
|
)))))
|
||||||
(make-null-markup)
|
(make-null-markup)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -116,7 +116,7 @@
|
|||||||
#:poetAndComposerEqualPrefix (ly:output-def-lookup layout 'poetAndComposerEqualPrefix)
|
#:poetAndComposerEqualPrefix (ly:output-def-lookup layout 'poetAndComposerEqualPrefix)
|
||||||
#:poetPrefix (ly:output-def-lookup layout 'poetPrefix)
|
#:poetPrefix (ly:output-def-lookup layout 'poetPrefix)
|
||||||
#:composerPrefix (ly:output-def-lookup layout 'composerPrefix)
|
#:composerPrefix (ly:output-def-lookup layout 'composerPrefix)
|
||||||
#:translationPrefix (ly:output-def-lookup layout 'translationPrefix)
|
#:translationAuthorPrefix (ly:output-def-lookup layout 'translationAuthorPrefix)
|
||||||
#:pronunciationPrefix (ly:output-def-lookup layout 'pronunciationPrefix)
|
#:pronunciationPrefix (ly:output-def-lookup layout 'pronunciationPrefix)
|
||||||
#:compositionPrefix (ly:output-def-lookup layout 'compositionPrefix)
|
#:compositionPrefix (ly:output-def-lookup layout 'compositionPrefix)
|
||||||
#:adaptionTextPrefix (ly:output-def-lookup layout 'adaptionTextPrefix)
|
#:adaptionTextPrefix (ly:output-def-lookup layout 'adaptionTextPrefix)
|
||||||
@@ -213,4 +213,4 @@
|
|||||||
\line { \page-number-to-pdf-label \null }
|
\line { \page-number-to-pdf-label \null }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
swing = \mark \markup {
|
swing = \textMark \markup {
|
||||||
\line \general-align #Y #DOWN {
|
\line \general-align #Y #DOWN {
|
||||||
\score {
|
\score {
|
||||||
\new Staff \with {
|
\new Staff \with {
|
||||||
@@ -47,7 +47,7 @@ swing = \mark \markup {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
swingOff = \mark \markup {
|
swingOff = \textMark \markup {
|
||||||
\line \general-align #Y #DOWN {
|
\line \general-align #Y #DOWN {
|
||||||
\score {
|
\score {
|
||||||
\new Staff \with {
|
\new Staff \with {
|
||||||
@@ -99,7 +99,7 @@ swingOff = \mark \markup {
|
|||||||
\include "swing.ly"
|
\include "swing.ly"
|
||||||
|
|
||||||
swingMusic =
|
swingMusic =
|
||||||
#(define-music-function (parser location music) (ly:music?)
|
#(define-music-function (music) (ly:music?)
|
||||||
(define (partial-duration-length m)
|
(define (partial-duration-length m)
|
||||||
(let ((name (ly:music-property m 'name))
|
(let ((name (ly:music-property m 'name))
|
||||||
(es (ly:music-property m 'elements))
|
(es (ly:music-property m 'elements))
|
||||||
@@ -118,4 +118,4 @@ swingMusic =
|
|||||||
#{
|
#{
|
||||||
\swing
|
\swing
|
||||||
\applySwingWithOffset 8 #'(2 1) #(partial-duration-length music) #music
|
\applySwingWithOffset 8 #'(2 1) #(partial-duration-length music) #music
|
||||||
#})
|
#})
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
#(define-markup-command (bookTitleMarkupCustom layout props)()
|
#(define-markup-command (bookTitleMarkupCustom layout props)()
|
||||||
(interpret-markup layout
|
(interpret-markup layout props
|
||||||
(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))
|
||||||
@@ -38,23 +37,24 @@
|
|||||||
;'(0 . 0) '(0 . 0)
|
;'(0 . 0) '(0 . 0)
|
||||||
)))
|
)))
|
||||||
|
|
||||||
#(define-markup-command (title-with-category-images layout props right)(boolean?)
|
#(define-markup-command (build-full-title layout props right)(boolean?)
|
||||||
(interpret-markup layout props
|
(interpret-markup layout (prepend-alist-chain 'songfilename (chain-assoc-get 'header:songfilename props "") props)
|
||||||
(let* ((title (chain-assoc-get 'header:title props ""))
|
(let* ((title (chain-assoc-get 'header:title props ""))
|
||||||
(starttext (chain-assoc-get 'header:starttext props #f))
|
(starttext (chain-assoc-get 'header:starttext props #f))
|
||||||
(pdfbookmark (if starttext (string-append starttext " | " title) title)))
|
(pdfbookmark (if starttext (string-append starttext " | " title) title))
|
||||||
|
(title-markup (ly:output-def-lookup layout (if right 'oddTitleLineMarkup 'evenTitleLineMarkup))))
|
||||||
(if title
|
(if title
|
||||||
(if right
|
(markup #:title-to-pdf-toc pdfbookmark title-markup)
|
||||||
#{\markup { \title-to-pdf-toc #pdfbookmark \fill-line \general-align #Y #UP { \null \bookTitleMarkupCustom \category-images } } #}
|
make-null-markup)
|
||||||
#{\markup { \title-to-pdf-toc #pdfbookmark \fill-line \general-align #Y #UP { \category-images \bookTitleMarkupCustom \null } } #})
|
|
||||||
#{ \markup { " " } #})
|
|
||||||
)))
|
)))
|
||||||
|
|
||||||
\paper {
|
\paper {
|
||||||
bookTitleMarkup = \markup \null
|
bookTitleMarkup = \markup \null
|
||||||
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 \build-full-title ##t }
|
||||||
evenHeaderMarkup = \markup { \if \on-first-page-of-part \title-with-category-images ##f }
|
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 } }
|
||||||
defaultTitleMarkup = \markup {
|
defaultTitleMarkup = \markup {
|
||||||
\override #'(baseline-skip . 3.5)
|
\override #'(baseline-skip . 3.5)
|
||||||
\center-column {
|
\center-column {
|
||||||
@@ -63,4 +63,4 @@
|
|||||||
\smaller \bold \fromproperty #'header:subsubtitle
|
\smaller \bold \fromproperty #'header:subsubtitle
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -203,23 +203,9 @@
|
|||||||
|
|
||||||
#(define-markup-command (pad-left layout props amount arg)
|
#(define-markup-command (pad-left layout props amount arg)
|
||||||
(number? markup?)
|
(number? markup?)
|
||||||
(let* ((m (interpret-markup layout props arg))
|
|
||||||
(x (ly:stencil-extent m X))
|
|
||||||
(y (ly:stencil-extent m Y)))
|
|
||||||
(ly:stencil-translate
|
(ly:stencil-translate
|
||||||
(ly:make-stencil (ly:stencil-expr m)
|
(interpret-markup layout props (make-pad-x-left-markup amount arg))
|
||||||
(cons (- (car x) amount) (cdr x))
|
`(,amount . 0)))
|
||||||
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)
|
#(define-markup-command (score-equal-height-with-indents layout props lines)
|
||||||
(markup-list?)
|
(markup-list?)
|
||||||
@@ -250,7 +236,7 @@
|
|||||||
(let ((text (ly:grob-property grob 'text)))
|
(let ((text (ly:grob-property grob 'text)))
|
||||||
|
|
||||||
(grob-interpret-markup grob (if (string? text)
|
(grob-interpret-markup grob (if (string? text)
|
||||||
(make-pad-right-markup -0.1 (make-tied-lyric-markup text))
|
(make-pad-x-right-markup -0.1 (make-tied-lyric-markup text))
|
||||||
text))))
|
text))))
|
||||||
|
|
||||||
Chord_lyrics_spacing_engraver =
|
Chord_lyrics_spacing_engraver =
|
||||||
@@ -399,6 +385,7 @@ Chord_lyrics_spacing_engraver =
|
|||||||
\remove Volta_engraver
|
\remove Volta_engraver
|
||||||
\remove Parenthesis_engraver
|
\remove Parenthesis_engraver
|
||||||
\remove Metronome_mark_engraver
|
\remove Metronome_mark_engraver
|
||||||
|
\remove Text_mark_engraver
|
||||||
}
|
}
|
||||||
\context {
|
\context {
|
||||||
\Staff
|
\Staff
|
||||||
|
|||||||
@@ -287,8 +287,11 @@ headerToTOC = #(define-music-function (parser location header label) (ly:book? s
|
|||||||
(compositionIds (find-author-ids-by 'composition authors))
|
(compositionIds (find-author-ids-by 'composition authors))
|
||||||
(adaptionIds (find-author-ids-by 'adaption authors))
|
(adaptionIds (find-author-ids-by 'adaption authors))
|
||||||
(bridgeIds (find-author-ids-by 'bridge authors))
|
(bridgeIds (find-author-ids-by 'bridge authors))
|
||||||
(interludeIds (find-author-ids-by 'interlude authors)))
|
(interludeIds (find-author-ids-by 'interlude authors))
|
||||||
(delete-duplicates
|
(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))
|
(append poetIds translatorIds (map car versePoetData) composerIds (map car verseComposerData) (map car voiceComposerData) compositionIds adaptionIds bridgeIds interludeIds))
|
||||||
))
|
))
|
||||||
(let*
|
(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
|
; we use a delayed stencil to have all the page references available
|
||||||
(ly:make-stencil
|
(ly:make-stencil
|
||||||
`(delay-stencil-evaluation
|
`(delay-stencil-evaluation
|
||||||
,(delay (let* ((table (ly:output-def-lookup layout 'label-page-table)))
|
,(delay (let* ((table (ly:output-def-lookup layout 'label-absolute-page-table)))
|
||||||
(generate-toc-csv (if (list? table) table '()))
|
(generate-toc-csv (if (list? table) table '()))
|
||||||
empty-stencil)))))
|
empty-stencil)))))
|
||||||
|
|||||||
Reference in New Issue
Block a user