Compare commits
4 Commits
5884ab9d2c
...
201a54f60a
Author | SHA1 | Date | |
---|---|---|---|
201a54f60a | |||
0199813a81 | |||
bce9ffe763 | |||
86943b9316 |
@ -17,4 +17,8 @@
|
||||
LAYOUT = \layout { \generalLayout }
|
||||
HEADER = {}
|
||||
MUSIC = {}
|
||||
TEXT = \markuplist {""}
|
||||
TEXT = \markuplist {""}
|
||||
|
||||
verseChords = {}
|
||||
firstVoice = {}
|
||||
global = {}
|
||||
|
@ -14,7 +14,6 @@
|
||||
property-defaults.fonts.sans = \songLyricFont
|
||||
%annotate-spacing = ##t
|
||||
% spacing stuff
|
||||
lyric-size = #lyricSize
|
||||
two-sided = ##t
|
||||
inner-margin = 1.5\cm
|
||||
outer-margin = \songMargin
|
||||
|
@ -109,50 +109,6 @@ generalLayout = \layout {
|
||||
(make-pad-right-markup -0.1 (make-tied-lyric-markup text))
|
||||
text))))
|
||||
|
||||
lyricsWithChordsLayout = \layout {
|
||||
\generalLayout
|
||||
\context {
|
||||
\ChordNames
|
||||
\override ChordName.font-size = \songTextChordFontSize
|
||||
}
|
||||
\context {
|
||||
\Lyrics
|
||||
\override VerticalAxisGroup.nonstaff-relatedstaff-spacing.basic-distance = #(- (- songTextLineHeigth songTextChordFontSize) 1)
|
||||
\override LyricText.parent-alignment-X = #LEFT
|
||||
\override LyricText.self-alignment-X = #LEFT
|
||||
\override LyricText.word-space = 0.8
|
||||
\override LyricSpace.minimum-distance = 0.8
|
||||
\override LyricText.stencil = #custom-lyric-text::print
|
||||
}
|
||||
\context {
|
||||
\Score
|
||||
\override PaperColumn.keep-inside-line = ##f
|
||||
\override SpacingSpanner.uniform-stretching = ##t
|
||||
\override SpacingSpanner.spacing-increment = 0
|
||||
\remove Bar_number_engraver
|
||||
\remove Mark_engraver
|
||||
\remove Volta_engraver
|
||||
\remove Parenthesis_engraver
|
||||
}
|
||||
\context {
|
||||
\Staff
|
||||
\remove Staff_symbol_engraver
|
||||
\remove Clef_engraver
|
||||
\remove Time_signature_engraver
|
||||
\omit KeySignature
|
||||
}
|
||||
\context {
|
||||
\Voice
|
||||
\remove Stem_engraver
|
||||
\remove Rest_engraver
|
||||
\remove Phrasing_slur_engraver
|
||||
\remove Slur_engraver
|
||||
\remove Tie_engraver
|
||||
\remove Dynamic_engraver
|
||||
\remove Note_heads_engraver
|
||||
}
|
||||
}
|
||||
|
||||
% Akkord mit Bunddiagramm anzeigen
|
||||
#(define-markup-command (fret-chord layout props fret chord) (string? string?)
|
||||
(interpret-markup layout props
|
||||
|
@ -4,5 +4,5 @@ inline-score =
|
||||
#(define-music-function (music) (ly:music?)
|
||||
(set! INLINESCOREMUSIC #{ \INLINESCOREMUSIC #music #})
|
||||
#{
|
||||
\transposable #music
|
||||
\transposable #TRANSPOSITION #music
|
||||
#})
|
||||
|
@ -1,7 +1,7 @@
|
||||
% set the speed of the midi music
|
||||
#(define midiQuarterNoteSpeed (if (defined? 'midiQuarterNoteSpeed) midiQuarterNoteSpeed 90))
|
||||
|
||||
MUSIC = { \transposable \MUSIC }
|
||||
MUSIC = { \transposable #TRANSPOSITION \MUSIC }
|
||||
|
||||
verselayout = \layout {
|
||||
\LAYOUT
|
||||
@ -10,7 +10,13 @@ verselayout = \layout {
|
||||
\override ChordName.font-size = \songTextChordFontSize
|
||||
}
|
||||
}
|
||||
TEXT = \markuplist { \override #`(verselayout . verselayout) \TEXT }
|
||||
TEXT = \markuplist {
|
||||
\override #`(transposition . ,TRANSPOSITION)
|
||||
\override #`(verselayout . ,verselayout)
|
||||
\override #`(verse-chords . ,#{ \chords { \verseChords } #})
|
||||
\override #`(verse-reference-voice . ,#{ \global \firstVoice #})
|
||||
\TEXT
|
||||
}
|
||||
|
||||
% nur Output wenn noStandaloneOutput auf false steht
|
||||
output = #(if (not noStandaloneOutput)
|
||||
|
@ -1,13 +1,22 @@
|
||||
TRANSPOSITION = ##f
|
||||
TRANSPOSITION = #(cons #f #f)
|
||||
|
||||
transposeGlobal =
|
||||
#(define-void-function (from to) (ly:pitch? ly:pitch?)
|
||||
(set! TRANSPOSITION (cons from to)))
|
||||
|
||||
transposable =
|
||||
#(define-music-function (music) (ly:music?)
|
||||
(if TRANSPOSITION
|
||||
#(define-music-function (fromto music) (pair? ly:music?)
|
||||
(if (car fromto)
|
||||
#{
|
||||
\transpose #(car TRANSPOSITION) #(cdr TRANSPOSITION) #music
|
||||
\transpose #(car fromto) #(cdr fromto) #music
|
||||
#}
|
||||
music))
|
||||
|
||||
% Akkorde in Strophen transponieren
|
||||
#(define-markup-list-command (transpose layout props from to markuplist)
|
||||
(markup? markup? markup-list?)
|
||||
|
||||
(define (markup->pitch m)
|
||||
(ly:assoc-get (string->symbol (markup->string m)) pitchnames))
|
||||
|
||||
(interpret-markup-list layout (prepend-alist-chain 'transposition (cons (markup->pitch from) (markup->pitch to)) props) markuplist))
|
||||
|
@ -52,11 +52,6 @@
|
||||
((center) (make-size-box-to-box-markup use-x use-y abox bbox))
|
||||
((left) (make-size-box-to-box-left-aligned-markup use-x use-y abox bbox)))))
|
||||
|
||||
% Akkorde in Strophen transponieren
|
||||
#(define-markup-list-command (transpose layout props from to markuplist)
|
||||
(markup? markup? markup-list?)
|
||||
(interpret-markup-list layout (prepend-alist-chain 'transposition (cons from to) props) markuplist))
|
||||
|
||||
#(define-markup-command (chord-alignment-style-dependent layout props chord-with-text) (markup?)
|
||||
(interpret-markup layout props
|
||||
(case songTextChordAlignment
|
||||
@ -129,19 +124,22 @@
|
||||
|
||||
% Kompletten Vers mit Akkorden
|
||||
#(define-markup-command (chordverse layout props stanza verse) (string-or-music? string?)
|
||||
#:properties ((intraverse-vspace 0)(custom-verse-breaks '()))
|
||||
#:properties (
|
||||
(intraverse-vspace 0)
|
||||
(custom-verse-breaks '())
|
||||
(transposition (cons #f #f))
|
||||
(verselayout generalLayout)
|
||||
)
|
||||
"Vers mit Akkorden"
|
||||
(let* ((fromto (chain-assoc-get 'transposition props #f))
|
||||
(transp (if fromto
|
||||
(string-append "\\transpose " (car fromto) " " (cdr fromto))
|
||||
""))
|
||||
(verselayout (chain-assoc-get 'verselayout props generalLayout)))
|
||||
(let ((transp (if (car transposition)
|
||||
(string-append "\\transpose " (note-name->string (car transposition)) " " (note-name->string (cdr transposition)))
|
||||
"")))
|
||||
(interpret-markup layout props
|
||||
(markup #:override `(baseline-skip . ,(+ intraverse-vspace songTextLineHeigth)) #:anchor-x-between #:stanza stanza
|
||||
(make-wrap-newline-markup
|
||||
(ly:regex-replace (ly:make-regex "\\(( *)([^,()]*)( *),([^)]*)\\)")
|
||||
(ly:regex-replace (ly:make-regex "(([^ \n]*\\([^()]*,[^()]+\\)[^ \n(]*)+)") (handle-custom-newlines custom-verse-breaks verse) " \\concat { " 1 " } ")
|
||||
"\\textup \\line { \"" 1 "\" " 2 " \"" 3 "\" } \\score { \\transposable " transp " \\chords { s4 " 4 " } \\layout { \\verselayout } }")
|
||||
"\\textup \\line { \"" 1 "\" " 2 " \"" 3 "\" } \\score { " transp " \\chords { s4 " 4 " } \\layout { \\verselayout } }")
|
||||
)
|
||||
))))
|
||||
|
||||
@ -157,9 +155,18 @@
|
||||
)
|
||||
|
||||
#(define-markup-command (verseformat layout props verse) (markup?)
|
||||
#:properties ((verselayout generalLayout))
|
||||
"Textformatierung für Strophen"
|
||||
(interpret-markup layout props
|
||||
(make-sans-markup (make-fontsize-markup (ly:output-def-lookup layout 'lyric-size) verse))
|
||||
(let* (
|
||||
(layout-scale (ly:output-def-lookup layout 'output-scale 1.0))
|
||||
(verselayout-scale (ly:output-def-lookup verselayout 'output-scale layout-scale))
|
||||
(mag-scale (/ verselayout-scale layout-scale))
|
||||
(lyric-context-props (ly:context-def-lookup (ly:assoc-get 'Lyrics (ly:output-find-context-def verselayout 'Lyrics)) 'property-ops))
|
||||
(lyric-size (caddr (find (lambda (prop) (and (equal? 'push (car prop)) (equal? 'LyricText (cadr prop)) (equal? 'font-size (cadddr prop)))) lyric-context-props)))
|
||||
)
|
||||
(make-magnify-markup mag-scale (make-sans-markup (make-fontsize-markup lyric-size verse)))
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
@ -222,11 +229,13 @@
|
||||
(interpret-markup-list layout props lines))))
|
||||
|
||||
#(define-markup-command (chordlyrics layout props lyrics) (ly:music?)
|
||||
#:properties ((verse-chords #f)
|
||||
(verse-reference-voice #f)
|
||||
(verse-break-voice #f)
|
||||
#:properties ((verse-chords #{#})
|
||||
(verse-reference-voice #{#})
|
||||
(verse-break-voice #{#})
|
||||
(verse-line-height songTextLineHeigth)
|
||||
(intraverse-vspace 0))
|
||||
(intraverse-vspace 0)
|
||||
(transposition (cons #f #f))
|
||||
(verselayout generalLayout))
|
||||
"Vers mit Akkorden"
|
||||
(interpret-markup layout props
|
||||
#{
|
||||
@ -234,19 +243,56 @@
|
||||
\override #`(baseline-skip . ,intraverse-vspace)
|
||||
\pad-left #-5
|
||||
\score-equal-height #verse-line-height \score-lines {
|
||||
\transposable
|
||||
\transposable #transposition
|
||||
<<
|
||||
\new Devnull { #(if (ly:music? verse-break-voice) verse-break-voice) }
|
||||
#(if (ly:music? verse-chords) (music-clone verse-chords) #{ \chords { \verseChords } #})
|
||||
\new NullVoice { #(if (ly:music? verse-reference-voice) verse-reference-voice #{ \global \firstVoice #}) }
|
||||
\new Devnull { #verse-break-voice }
|
||||
#(music-clone verse-chords)
|
||||
\new NullVoice { #verse-reference-voice }
|
||||
\addlyrics { #lyrics }
|
||||
>>
|
||||
\layout {
|
||||
\lyricsWithChordsLayout
|
||||
\verselayout
|
||||
\context {
|
||||
\Staff
|
||||
\override LeftEdge.space-alist.first-note = #'(fixed-space . 5.0)
|
||||
}
|
||||
\context {
|
||||
\Lyrics
|
||||
\override VerticalAxisGroup.nonstaff-relatedstaff-spacing.basic-distance = #(- (- songTextLineHeigth songTextChordFontSize) 1)
|
||||
\override LyricText.parent-alignment-X = #LEFT
|
||||
\override LyricText.self-alignment-X = #LEFT
|
||||
\override LyricText.word-space = 0.8
|
||||
\override LyricSpace.minimum-distance = 0.8
|
||||
\override LyricText.stencil = #custom-lyric-text::print
|
||||
}
|
||||
\context {
|
||||
\Score
|
||||
\override PaperColumn.keep-inside-line = ##f
|
||||
\override SpacingSpanner.uniform-stretching = ##t
|
||||
\override SpacingSpanner.spacing-increment = 0
|
||||
\remove Bar_number_engraver
|
||||
\remove Mark_engraver
|
||||
\remove Volta_engraver
|
||||
\remove Parenthesis_engraver
|
||||
}
|
||||
\context {
|
||||
\Staff
|
||||
\remove Staff_symbol_engraver
|
||||
\remove Clef_engraver
|
||||
\remove Time_signature_engraver
|
||||
\omit KeySignature
|
||||
}
|
||||
\context {
|
||||
\Voice
|
||||
\remove Stem_engraver
|
||||
\remove Rest_engraver
|
||||
\remove Multi_measure_rest_engraver
|
||||
\remove Phrasing_slur_engraver
|
||||
\remove Slur_engraver
|
||||
\remove Tie_engraver
|
||||
\remove Dynamic_engraver
|
||||
\remove Note_heads_engraver
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user