refactor include system
This commit is contained in:
255
private_includes/base/basic_format_and_style_settings.ily
Normal file
255
private_includes/base/basic_format_and_style_settings.ily
Normal file
@@ -0,0 +1,255 @@
|
||||
\language "deutsch"
|
||||
|
||||
\include "default_style.ily"
|
||||
\include "default_songinfo_style.ily"
|
||||
\include "footer_with_songinfo.ily"
|
||||
|
||||
\include #(if (defined? 'customStyleOverridesFile) customStyleOverridesFile "../void.ily")
|
||||
|
||||
#(set-default-paper-size songFormatAndSize)
|
||||
#(set-global-staff-size globalSize)
|
||||
|
||||
\paper {
|
||||
property-defaults.fonts.serif = \songChordFont
|
||||
property-defaults.fonts.sans = \songLyricFont
|
||||
%annotate-spacing = ##t
|
||||
% spacing stuff
|
||||
two-sided = ##t
|
||||
inner-margin = 1.5\cm
|
||||
outer-margin = \songMargin
|
||||
binding-offset = 0\cm
|
||||
top-margin = \songMargin
|
||||
bottom-margin = \songMargin
|
||||
system-system-spacing = #'((basic-distance . 10) (padding . 1.5))
|
||||
markup-system-spacing = #'((basic-distance . 1))
|
||||
score-markup-spacing = #'((padding . 2))
|
||||
top-markup-spacing = #'((basic-distance . 0) (minimum-distance . 0) (padding . 0))
|
||||
refMarkupFormatter = #(lambda (layout props stanzanumbers)
|
||||
(interpret-markup layout props
|
||||
(if (null? stanzanumbers)
|
||||
refString
|
||||
(ly:format refStringWithNumbers (string-join (map (lambda (stanzanumber) (ly:format "~a" stanzanumber)) stanzanumbers) ", ")))))
|
||||
}
|
||||
|
||||
generalLayout = \layout {
|
||||
indent = #0
|
||||
\context {
|
||||
\Lyrics
|
||||
\override LyricText.font-size = #lyricSize
|
||||
\override StanzaNumber.font-size = #lyricSize
|
||||
\override StanzaNumber.font-family = #'sans
|
||||
\override LyricText.font-family = #'sans
|
||||
\override LyricExtender.minimum-length = 0
|
||||
}
|
||||
\context {
|
||||
\Staff
|
||||
\accidentalStyle modern-voice-cautionary
|
||||
\consists Merge_rests_engraver
|
||||
}
|
||||
\context {
|
||||
\Score
|
||||
\remove "Bar_number_engraver"
|
||||
\RemoveEmptyStaves
|
||||
\override VerticalAxisGroup.remove-first = ##t
|
||||
\overrideTimeSignatureSettings
|
||||
4/4 % timeSignatureFraction
|
||||
1/4 % baseMomentFraction
|
||||
#'(1 1 1 1) % beatStructure
|
||||
#'() % beamExceptions
|
||||
\overrideTimeSignatureSettings
|
||||
3/4 % timeSignatureFraction
|
||||
1/4 % baseMomentFraction
|
||||
#'(1 1 1 1) % beatStructure
|
||||
#'() % beamExceptions
|
||||
}
|
||||
\context {
|
||||
\Voice
|
||||
% ich will lines breaken wie ich will!
|
||||
\remove "Forbid_line_break_engraver"
|
||||
\override NoteHead.layer = 2
|
||||
\override Dots.layer = 2
|
||||
\override Stem.layer = 2
|
||||
\override Flag.layer = 2
|
||||
\override Beam.layer = 2
|
||||
\override Accidental.layer = 2
|
||||
}
|
||||
}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%%% kleine Helferlein:
|
||||
|
||||
textp = \lyricmode { \markup { \raise #1 \musicglyph #"rests.3" } }
|
||||
|
||||
% zweite Stimme alles grau
|
||||
secondVoiceStyle = {
|
||||
\override NoteHead.color = #grey
|
||||
\override Dots.color = #grey
|
||||
\override Stem.color = #grey
|
||||
\override Flag.color = #grey
|
||||
\override Beam.color = #grey
|
||||
\override Accidental.color = #grey
|
||||
\override NoteHead.layer = 1
|
||||
\override Dots.layer = 1
|
||||
\override Stem.layer = 1
|
||||
\override Flag.layer = 1
|
||||
\override Beam.layer = 1
|
||||
\override Accidental.layer = 1
|
||||
}
|
||||
|
||||
firstVoiceStyle = {
|
||||
\override NoteHead.color = #black
|
||||
\override Dots.color = #black
|
||||
\override Stem.color = #black
|
||||
\override Flag.color = #black
|
||||
\override Beam.color = #black
|
||||
\override Accidental.color = #black
|
||||
}
|
||||
|
||||
% Deprecated: einzelne Noten innerhalb von \secondVoiceStyle mit schwarzem statt grauem Kopf
|
||||
schwarzkopf =
|
||||
#(define-music-function (parser location noten) (ly:music?)
|
||||
(begin (ly:warning "\\schwarzkopf brauchts nicht mehr, das kann ersatzlos weg!") noten))
|
||||
|
||||
romanStanza =
|
||||
#(define-music-function (parser location) ()
|
||||
#{ \override StanzaNumber.style = #'roman #})
|
||||
|
||||
override-stanza =
|
||||
#(define-music-function (parser location stanzanumber) (number?)
|
||||
#{
|
||||
\once \override StanzaNumber.forced-spacing = #stanzanumber % misuse property "forced-spacing" to override the stanzanumber
|
||||
#}
|
||||
)
|
||||
|
||||
#(define (stanza . stanzanumbers)
|
||||
#{
|
||||
\once \override StanzaNumber.layer = 23 % set this to signal that there is a real stanza and no repeat signs
|
||||
\applyContext
|
||||
#(lambda (context)
|
||||
(let* ((stanzanumber-override (ly:assoc-get 'forced-spacing (ly:context-grob-definition context 'StanzaNumber) #f))
|
||||
(stanza-style (ly:assoc-get 'style (ly:context-grob-definition context 'StanzaNumber)))
|
||||
(stanza-format (lambda (stanzanumber) (format #f (if (eq? stanza-style 'roman) romanStanzaFormat stanzaFormat) stanzanumber))))
|
||||
(ly:context-set-property! context 'stanza
|
||||
(string-join (map stanza-format
|
||||
(if stanzanumber-override (list stanzanumber-override) stanzanumbers))
|
||||
", "))))
|
||||
#}
|
||||
)
|
||||
|
||||
ref =
|
||||
#(define-music-function (stanzanumbers lyrics) ((number-list? (list)) ly:music?)
|
||||
#{ \lyricmode {
|
||||
\once \override StanzaNumber.layer = 23 % set this to signal that there is a real stanza and no repeat signs
|
||||
\set stanza = #(make-on-the-fly-markup (lambda (layout props m) ((ly:output-def-lookup layout 'refMarkupFormatter) layout props stanzanumbers)) (make-null-markup))
|
||||
#lyrics
|
||||
}
|
||||
#}
|
||||
)
|
||||
|
||||
% prints a repStart Sign as stanza if the tag 'repeats is kept.
|
||||
% if there was a stanza already set by the stanza function with StanzaNumber.layer = 23 we set that also as stanza.
|
||||
repStartWithTag = \lyricmode {
|
||||
\tag #'repeats {
|
||||
\applyContext
|
||||
#(lambda (context)
|
||||
(let ((lastStanza (ly:context-property context 'stanza))
|
||||
(printLastStanza (= (ly:assoc-get 'layer (ly:context-grob-definition context 'StanzaNumber) 0) 23))
|
||||
(stanzaFontSeries (ly:assoc-get 'font-series (ly:context-grob-definition context 'StanzaNumber) 'normal)))
|
||||
(ly:context-set-property! context 'stanza
|
||||
(make-concat-markup
|
||||
(if printLastStanza
|
||||
(list (make-override-markup `(font-series . ,stanzaFontSeries) lastStanza) (make-hspace-markup 1) repStart)
|
||||
(list repStart)
|
||||
)))))
|
||||
\once \override StanzaNumber.font-series = #'normal
|
||||
}
|
||||
}
|
||||
|
||||
repStopWithTag = \lyricmode {
|
||||
\tag #'repeats {
|
||||
\once \override StanzaNumber.font-series = #'normal
|
||||
\once \override StanzaNumber.direction = 1
|
||||
\set stanza = \markup { \repStop }
|
||||
}
|
||||
}
|
||||
|
||||
rightHyphen = \lyricmode {
|
||||
\once \override StanzaNumber.font-series = #'normal
|
||||
\once \override StanzaNumber.direction = 1
|
||||
\set stanza = "-"
|
||||
}
|
||||
|
||||
leftHyphen = \lyricmode {
|
||||
\once \override StanzaNumber.font-series = #'normal
|
||||
\set stanza = "-"
|
||||
}
|
||||
|
||||
multiVerseSkips =
|
||||
#(define-music-function (parser location skips) (number?)
|
||||
#{ \tag #'multiVerse { \repeat unfold #skips { \skip4 } } #})
|
||||
|
||||
alt =
|
||||
#(define-music-function (parser location a b) (ly:music? ly:music?)
|
||||
#{ \tag #'firstVerse { #a } \tag #'multiVerse { #b } #})
|
||||
|
||||
updown =
|
||||
#(define-music-function (parser location word) (string?)
|
||||
(let ((first-char (string-take word 1))
|
||||
(rest (substring word 1 (string-length word))))
|
||||
#{
|
||||
\lyricmode {
|
||||
\markup {
|
||||
\tag #'up #(string-append (string-capitalize first-char) rest)
|
||||
\tag #'down #(string-append (string-downcase first-char) rest)
|
||||
}
|
||||
}
|
||||
#}))
|
||||
|
||||
dottedExtender = {
|
||||
\override LyricExtender.style = #'dotted-line
|
||||
\override LyricExtender.thickness = 2
|
||||
\override LyricExtender.Y-offset = 0.1
|
||||
\override LyricExtender.stencil =
|
||||
#(lambda (grob)
|
||||
(let* ((stil (ly:lyric-extender::print grob))
|
||||
(nostil (null? stil))
|
||||
(x-ext (if nostil 0 (ly:stencil-extent stil X))))
|
||||
(if nostil
|
||||
stil
|
||||
(make-connected-line
|
||||
(list
|
||||
(cons (car x-ext) 0)
|
||||
(cons (cdr x-ext) 0))
|
||||
grob))))
|
||||
}
|
||||
|
||||
melisOff = \set ignoreMelismata = ##t
|
||||
melisOn = \unset ignoreMelismata
|
||||
|
||||
cue =
|
||||
#(define-music-function (zahlen) (number-list?)
|
||||
#{
|
||||
\tag #'cues {
|
||||
\tweak self-alignment-X #LEFT
|
||||
\mark
|
||||
#(make-on-the-fly-markup
|
||||
(lambda (layout props m) (interpret-markup layout (prepend-alist-chain 'cues zahlen props) (ly:output-def-lookup layout 'cueMarkup)))
|
||||
(make-null-markup))
|
||||
}
|
||||
#})
|
||||
|
||||
#(define-markup-command (ruf-style layout props text) (string?)
|
||||
(interpret-markup layout props
|
||||
(markup #:italic (string-append "(" text ")"))))
|
||||
rufWithMarkup =
|
||||
#(define-music-function (text) (markup?)
|
||||
#{
|
||||
\lyricmode {
|
||||
\once \override StanzaNumber.font-series = #'normal
|
||||
\once \override StanzaNumber.direction = 1
|
||||
\set stanza = #text
|
||||
}
|
||||
#})
|
||||
ruf =
|
||||
#(define-music-function (text) (string?)
|
||||
(rufWithMarkup (make-ruf-style-markup text)))
|
Reference in New Issue
Block a user