Compare commits

...

16 Commits

Author SHA1 Message Date
7efdaedc35 Erneuerungen Vorlagendateien 2025-05-01 13:03:48 +04:00
0be5d4df0f add csv in gitignore 2025-03-03 20:29:11 +04:00
e326b382c7 Vorlagendateien an neue Alttitles angepasst. 2025-03-03 20:27:27 +04:00
tux
9492de385e Autorenverzeichnis 2024-12-22 23:26:25 +01:00
tux
d575fe7779 Liederinformationen als CSV-Ausgabe 2024-12-22 21:12:05 +01:00
tux
dc56f00aa0 starttext für Liedanfänge 2024-12-01 15:48:49 +01:00
tux
5c67f6d34b fix compiling pre 2.25.22 2024-11-28 09:23:10 +01:00
tux
a0054faec0 load AUTHOR_DATA in all_base_includes via convention 2024-11-27 20:29:50 +01:00
tux
4baf72b6e5 use yml as data format 2024-11-24 15:27:43 +01:00
tux
1da344a401 allow inherits in authors 2024-11-02 20:01:11 +01:00
tux
37e823a425 adjust author sandbox 2024-07-17 13:35:33 +02:00
tux
fa2cb9f9bc transposeGlobal und layout zeug lauffähig bekommen 2024-05-25 17:37:04 +02:00
tux
a105ffc96a sandbox for new author system 2024-05-17 12:33:18 +02:00
tux
71c5197fbb show use of chordlyrics 2024-03-24 11:32:27 +01:00
becb69fa5d neues Autor*innensystem integriert 2024-02-12 13:28:25 +01:00
f795d1cef8 include-updates 2024-02-12 13:19:41 +01:00
16 changed files with 267 additions and 387 deletions

1
.gitignore vendored
View File

@ -3,6 +3,7 @@
*.ps
*.midi
*.mid
*.csv
*.log
*~

View File

@ -0,0 +1,124 @@
\version "2.25.8"
\include "../../lilypond-custom-includes/base_config.ly"
#(set! paper-alist (cons '("testformat" . (cons (* 176 mm) (* 15 mm))) paper-alist))
\paper {
#(set-paper-size "testformat")
}
\bookpart {
\header {
authors = #'(
("kumpelerbe" text melody))
year_text = "1600"
year_melody = "1600"
}
\markup { \print-songinfo }
}
\bookpart {
\header {
authors = #'(
("kumpel" text melody))
year_text = "1600"
year_melody = "1800"
}
\markup { \print-songinfo }
}
\bookpart {
\header {
authors = #'(
("kumpel" text melody))
year_melody = "1800"
}
\markup { \print-songinfo }
}
\bookpart {
\header {
year_text = "1500"
authors = #'(
("kumpel" text))
}
\markup { \print-songinfo }
}
\bookpart {
\header {
authors = #'(
("kumpel" melody))
}
\markup { \print-songinfo }
}
\bookpart {
\header {
authors = #'(
("kumpel" melody)
("dude" text composition melody))
}
\markup { \print-songinfo }
}
\bookpart {
\header {
authors = #'(
("kumpel" (verse 1))
("dude" melody (voice 1) (voice 2)))
}
\markup { \print-songinfo }
}
\bookpart {
\header {
authors = #'(
("kumpel" text (verse 2))
("dude" (verse 2) (verse 3)))
}
\markup { \print-songinfo }
}
\bookpart {
\header {
authors = #'(
("kumpel" text (voice 2) (voice 3))
("dude" (voice 2) (voice 3))
("nocheiner" (voice 4)))
}
\markup { \print-songinfo }
}
\bookpart {
\header {
year_composition = "2001"
year_melody = "1901"
authors = #'(
("kumpel" text composition)
("dude" composition))
}
\markup { \print-songinfo }
}
\bookpart {
\header {
authors = #'(
("kumpel" interlude)
("dude" bridge)
("" melody))
}
\markup { \print-songinfo }
}
\bookpart {
\header {
year_melody = "1800"
year_translation = "2010"
authors = #'(
("kumpel" translation)
("dude" text (meloverse 1))
("" melody))
}
\markup { \print-songinfo }
}

View File

@ -10,7 +10,7 @@ HEADER = \bookpart {
%page-count = #1 % dieser Befehl quetscht alles auf diese Seitenanzahl
%markup-system-spacing.padding = 4 %Abstand zwischen Titel und Noten
%top-system-spacing.padding = 6 %Abstand zwischen Seitenrand und obersten Notensystem (wenn was anderes da steht wie z.B. Titel/ Text, greift das nicht) gut um z.B. noten auf der zweiten Seite runter zu machen
%#(layout-set-staff-size 13) %Größe ändern
#(layout-set-staff-size 13) %Größe ändern
}
\header {
@ -21,7 +21,8 @@ HEADER = \bookpart {
}
}
%\transposeGlobal d e
\transposeGlobal d e
MUSIC =
{
<<
@ -30,7 +31,7 @@ MUSIC =
<<
\new Voice = "firstVoice" { << \firstVoice { s4 \repeat unfold 4 { s1 } \break } >> }
\addlyrics { \firstVerse }
\addlyrics { \secondVerse }
\addlyrics { \refLyrics }
>>
>>
}
@ -44,7 +45,7 @@ TEXT = \markuplist
\override #'(verse-vspace . 0.8) %abstand der Verse voneinander kleiner
\chordverse #(stanza 3) \thirdVerseMarkup
\nochordverse \ref \fourthVerseMarkup
\nochordverse \refString \fourthVerseMarkup
}
\group-verses {
@ -62,6 +63,8 @@ TEXT = \markuplist
% \override #'(verse-hspace . -5) %Abstand zwischen Spalten geringer
%\translate #'(2 . 0) %das nächste was er printed, printed er nicht dahin wo es eigentlich hinkommt sondern verschiebt es um (x.y)
\group-verses {
\override #`(verse-break-voice . ,#{ s4 \repeat unfold 2 { s1 } \break #})
\chordlyrics \refLyrics
\chordverse #(stanza 8) \columnVerseMarkup
\chordverse #(stanza 9) \columnVerseMarkup

View File

@ -1,219 +0,0 @@
\version "2.25.8"
%songStyle = #'büdel
\include "../../lilypond-custom-includes/base_config.ly"
%#(set-default-paper-size "a4" 'portrait) %Seitenformat ändern
HEADER = \bookpart {
\paper {
%page-count = #1 % dieser Befehl quetscht alles auf diese Seitenanzahl
%markup-system-spacing.padding = 4 %Abstand zwischen Titel und Noten
%top-system-spacing.padding = 6 %Abstand zwischen Seitenrand und obersten Notensystem (wenn was anderes da steht wie z.B. Titel/ Text, greift das nicht) gut um z.B. noten auf der zweiten Seite runter zu machen
%#(layout-set-staff-size 13) %Größe ändern
%print-page-number = ##f %keine Seitenzahlen drucken
%system-system-spacing.padding = 1 %verändert den Abstand zwischen zwei Systemen
}
\header {
title = "Liedtitel"
alttitle = "Alternativtitel"
titlesize = 11
titletopspace = 2
poetId = "dude"
composerId = "dude"
copyright = "Fumpeverlag"
categories = "see"
songinfo = "Hintergrund
Übersetzung
Aussprache"
}
}
LAYOUT = \layout {
\generalLayout
}
global = {
%\transposeGlobal a g
%Takt
\time 4/4
%\set Timing.beatStructure = #'(3 2 2) % Befehl für manuelle Balkenverknüpfung (hier 7/8)
%Tonart
\key c \major
}
firstVerse = \lyricmode {
\set stanza = "1."
Hier \repeat unfold 6 { _ } ist der Text für Stro -- phe eins. \set ignoreMelismata = ##t \unset ignoreMelismata % Bindebögen irgnorieren
}
secondVerse = \lyricmode {
\set stanza = "2."
Mit _ ü -- ber -- springt man No -- ten. \markup { \bold { fett! krass } }
"Mehrere Silben" auf ei -- ne No -- te. Me -- lis -- ma -- \set ignoreMelismata = ##t ta aus \unset ignoreMelismata und wieder an
}
firstVoice = \relative c' {
\global
%\clef "bass" % Bassschlüssel
\partial 4 % Auftakt
a'4 % mit ' und , oktaviert man
\repeat volta 2 { % Wiederholung
d,4 e fis g
a8 a (a) a d,4~d % Bindebögen
<< { \voiceTwo
g4. c,8 c4 d
}
\new Voice { \voiceOne \secondVoiceStyle
g4. g8 g4 f
}
>> \oneVoice
}
\alternative { %Klammer eins und zwei
{e2. a4}
{e2. r4}
}
\break %Zeilenumbruch
e1 \noBreak
e1
e2^\markup \bold "I. hier einsetzen!" (f)
e1 \mark \markup { \italic { fine } }
a1_\markup { \italic Zwischenspiel } a1
\once \override Score.TimeSignature.stencil = ##f \time 2/4 %unsichtbarer Taktwechsel (ansonsten nur \time macht sichtbaren Taktwechsel)
a2 <a c>2
r2 \once \override Score.RehearsalMark.break-visibility = #end-of-line-visible
\once \override Score.RehearsalMark.self-alignment-X = #RIGHT
\mark "D.C. al Fine"
\bar "|."
}
bridge = \relative c' {
\global
\time 3/4
a4 h c a h c
}
bridgeVerse = \lyricmode {
\set stanza = "Bridge:"
Das hier ist ei -- ne Bridge
}
MUSIC =
{
<<
\chords {
s4 d2 h:m fis:m b g1 \klamm{a2. d4} c1/h
e \once \set chordChanges = ##f e %gleichbl. Akkord sichtbar machen
h:1.3.5.11
}
\new ChoirStaff = "firstStaff" \with {
%\override StaffGrouper.staff-staff-spacing.padding = #0
%\override StaffGrouper.staff-staff-spacing.basic-distance = #1
}
<<
\new Voice = "firstVoice" { \firstVoice }
\addlyrics { \firstVerse }
\addlyrics { \secondVerse }
>>
>>
}
BRIDGE =
{
<<
\chords { a2:m a:m a:m a:m }
\new Voice { \bridge }
\addlyrics { \bridgeVerse }
>>
}
TEXT = \markuplist
{
%\fontsize #-1 %Text in den Strophen kleiner
%\vspace #1.5 %Abstand zwischen Strophen
\group-verses {
\override #'(verse-vspace . 0.8) %abstand der Verse voneinander kleiner
\chordverse #"3."
#"Test (Akk,a:m)orde (ü,a:1.3.7+.9)ber den (Stro,d:m)phen (test)
\\repStart sind (sup,e)er \\underline {(cool,a:m)} \\repStop
und (sie,a:m) sind (jetzt,\\klamm{d:m}) auch (klam,\\klamm { d })mer(bar,\\klamm g)
\\italic { hier i(s,fis)t mal was (kur,d:m)siv } das k(lap,g:m)pt (je,a)tzt"
\nochordverse #"4."
#"Hier ist leider nicht genug (Platz,g)
für (Akk,a:m)orde über den (Stro,d:m)phen
\\repStart deswegen \\concat{ \\underline { wer } den } die hier mittels \\bold { nochordverse } automatisch
entfernt! \\repStop"
}
\group-verses {
\vspace #5
\nochordverse #"5."
#"Hier geht die 5. Strophe los, die zusammen mit der 6. auf
eine Seite soll"
\nochordverse #"6."
#"Strophen in einer \\concat{\\char ##x5C group-verses} Umgebung werden aneinander
ausgerichtet und auf der Seite zentriert.
Man beachte auch wie widerlich der Backslash
vor group-verses eingegeben werden muss!
Falls ihr mal runde (Klammern) braucht: \\concat{\\char ##x28 Klammer} auf und Klammer \\concat{zu \\char ##x29 }"
\nochordverse #"7."
#"Wir achten bitte auch auf typografisch korrekte Zeichen.
Ein deutsches Apostroph sieht so aus und nicht so '
Ein Gedankenstrich, wie er auch zur Trennung von Jahreszahlen
genutzt wird ist so und nicht so -
Anführungszeichen sind so „ und so “"
}
\override #'(verse-cols . 2) %Spalten
%\override #'(verse-ordering-horizontal . #t) % Verse horizontal fortlaufend anordnen
% \override #'(verse-hspace . -5) %Abstand zwischen Spalten geringer
%\translate #'(2 . 0) %das nächste was er printed, printed er nicht dahin wo es eigentlich hinkommt sondern verschiebt es um (x.y)
\group-verses {
\chordverse #"8."
#"Stro(phen,a:m) können jetzt auch in (Spal,f)ten!
Voll (krass,e) (eh,a:m)!"
\chordverse #"9."
#"Stro(phen,a:m) können jetzt auch in (Spal,f)ten!
Voll (krass,e) (eh,a:m)!"
\override #'(intraverse-vspace . 3) % Abstand der Zeilen eines Verses vergrößern
\chordverse #"10."
#"Stro(phen,a:m) können jetzt auch in (Spal,f)ten!
Voll (krass,e) (eh,a:m)!"
\chordverse #"11."
#"Stro(phen,a:m) können jetzt auch in (Spal,f)ten!
Voll (krass,e) (eh,a:m)!"
\chordverse #"12."
#"Stro(phen,a:m) können jetzt auch in (Spal,f)ten!
Voll (krass,e) (eh,a:m)"
}
\group-verses {
%\override #'(baseline-skip . 1) %Damit verändert man den Abstand der Notenzeilen
\score {
\inline-score
\BRIDGE
\layout { \generalLayout }
}
\chordverse #""
#"(,\\repeats-around-chords { a:m c } d)"
\score {
\chords { \repeats-around-chords { a4:m c } d }
\layout { \generalLayout }
}
}
\fret-chord #"x;2;4;4;4;o;" #"h:1.3.5.11"
}
\include "../../lilypond-common-includes/standalone_output.ly"

View File

@ -1,52 +1,13 @@
\version "2.18.0"
\version "2.25.8"
\include "../../lilypond-custom-includes/base_config.ly"
\include "../../lilypond-song-includes/liedbausteine/sandbox.ly"
HEADER = \bookpart {
\header {
title = "Titel"
songId = "a-song-id"
\basicSongInfo
%infotext = ""
categories = ""
songinfo = "wasauchimmer"
}
}
global = {
%Takt
\time 4/4
%Tonart
\key c \major
}
firstVerse = \lyricmode {
\set stanza = "1."
Lyrics
}
firstVoice = \relative c' {
\global
c
\bar "|."
}
MUSIC = {
<<
\chords {
c
}
\new ChoirStaff = "firstStaff"
<<
\new Voice = "firstVoice" { \firstVoice }
\addlyrics { \firstVerse }
>>
>>
}
TEXT = \markuplist {
\group-verses {
\chordverse #"2."
#"(Stro,a:m)phen(text,g)
(G,a:m)ras (ist,c) (grün,f)"
}
}

View File

@ -0,0 +1,37 @@
\version "2.25.8"
\include "../../lilypond-custom-includes/base_config.ly"
\include "../../lilypond-song-includes/liedbausteine/sandbox.ly"
HEADER = \bookpart {
\header {
\basicSongInfo
categories = ""
infotext = ""
}
}
breakVoice = \relative c' {
s1 \break
}
MUSIC = {
<<
\songChords
\new Staff = "firstStaff"
<<
\new Voice = "firstVoice" { \melodyVoice }
\addlyrics { \firstVerse \refLyrics }
%\new Voice { \breakVoice }
>>
>>
}
TEXT = \markuplist {
\group-verses {
\override #'(custom-verse-breaks "" "")
\chordverse #(stanza 3) \thirdVerseMarkup
}
}
\include "../../lilypond-common-includes/standalone_output.ly"

View File

@ -1,81 +0,0 @@
\version "2.18.0"
\include "../../lilypond-custom-includes/base_config.ly"
HEADER = \bookpart {
\header {
title = "Chorsatz"
alttitle = ""
composerId = "dude"
songId = "a-song-id"
categories = ""
songinfo = ""
}
}
global = {
%Takt
\time 4/4
%Tonart
\key e \minor
}
firstVerse = \lyricmode {
\set stanza = "1."
Stimmumfang
}
secondVerse = \lyricmode {
\set stanza = ""
}
Sopran = \relative c'' { \set Staff.midiInstrument = #"choir aahs"
\global
c,1 a' fis'
\bar "|."
}
Alt = \relative c' {
\global
g d' d'
}
Tenor = \relative c {
\global
\clef bass %\clef "treble_8"
c1 a' fis'
}
Bass = \relative c {
\global
\clef bass
g g' c
}
MUSIC = {
<<
\chords {
}
\new ChoirStaff = "firstStaff"
<<
\new Voice = "Sopran" { \Sopran }
\addlyrics { \firstVerse }
\addlyrics { \secondVerse }
\new Voice = "Alt" { \Alt}
\new Voice = "Tenor" { \Tenor}
\new Voice = "Bass" { \Bass }
>>
>>
}
TEXT = \markuplist {
\group-verses {
\chordverse #"3."
#""
}
}
\include "../../lilypond-common-includes/standalone_output.ly"

View File

@ -15,12 +15,10 @@ songPath = "../../lieder"
%Liedteil -> hier werden alle Lieder inkludiert
%Reihenfolge im Liederbuch: Von oben nach unten
\includeSong "sandbox"
\includeSong "vorlage"
\blankpage
\includeSong "vorlage_light"
\imagepage #125 "see.eps"
\includeSong "vorlage_satz"
%Zur Übersichtlichkeit:
%A
%B
@ -61,10 +59,12 @@ songPath = "../../lieder"
pdfkeywords = "Liederbuch, Pfadfinder, bündisch"
}
\paper {
first-page-number = 1
}
%Eine Seite mit dem Cover könnte so aussehen:
\bookpart {
%\markup { \epsfile #X #120 #"images/front.eps" }
%\markup \fill-line { \center-column { \vspace #1 \pad-x #9 \customEps #95 #"Dateiname.dt" \vspace #1 } }
\paper {
print-page-number = ##f
inner-margin = 0
@ -75,18 +75,31 @@ songPath = "../../lieder"
last-bottom-spacing = #'((basic-distance . 0) (minimum-distance . 0) (padding . 0))
page-count = 1
}
\markup {
\title-to-pdf-toc "Titelseite"
" "
%\epsfile #X #120 #"images/front.eps"
%\fill-line { \center-column { \vspace #1 \pad-x #9 \customEps #95 #"Dateiname.dt" \vspace #1 } }
}
}
% Seite
\bookpart {
\paper { print-page-number = ##f }
\markup { \vspace #2 \fill-line { \null
\override #'(font-name . "Old Standard TT") \fontsize #0.5 \override #'(line-width . 115) \left-column { \justify-string #"
Hier steht lustiger Text"
" "
\fill-line { "blublub" }
\markup {
\title-to-pdf-toc "Vorwort"
\vspace #2
\fill-line {
\override #'(font-name . "Old Standard TT")
\fontsize #0.5
\override #'(line-width . 115)
\left-column {
\justify-string #"
Hier steht lustiger Text"
" "
\fill-line { "blublub" }
}
}
\null }
}
% muss drinbleiben, damit die Kategoriebildchen alle reingeladen und referenziert werden können:
\markuplist { \embed-category-images }
@ -99,12 +112,23 @@ songPath = "../../lieder"
\bookpart {
\markuplist {
\index-in-columns-with-title #'categories \column {
\title-to-pdf-toc "Kategorienverzeichnis"
\fontsize #5 \sans \bold \fill-line { \null "Inhaltsverzeichnis nach Kategorien" \null }
\vspace #1
}
}
}
\bookpart {
\markuplist {
\index-in-columns-with-title #'authors \column {
\title-to-pdf-toc "Autor*innenverzeichnis"
\fontsize #5 \sans \bold \fill-line { \null "Autor*innenverzeichnis" \null }
\vspace #1
}
}
}
% Inhaltsverzeichnis
\bookpart {
\indexSection #"A" \markup { "A" }
@ -135,6 +159,7 @@ songPath = "../../lieder"
\indexSection #"Z" \markup { "Z" }
\markuplist {
\index-in-columns-with-title #'alphabetical \column {
\title-to-pdf-toc "Inhaltsverzeichnis"
\fontsize #5 \sans \bold \fill-line { \null "Inhaltsverzeichnis" \null }
\vspace #.5
\justify {
@ -145,6 +170,7 @@ songPath = "../../lieder"
}
\vspace #1
}
\write-toc-csv %gibt eine csv Datei mit allen Liedern aus
}
}
}

View File

@ -4,5 +4,3 @@ customStyleOverridesFile = "../lilypond-custom-includes/custom_style_overrides.l
\include "categories.ly"
\include "../lilypond-common-includes/general_include.ly"
AUTHOR_DATA = #(call-with-input-file "../../lilypond-song-includes/data/authors.json" json->scm)
SONG_DATA = #(call-with-input-file "../../lilypond-song-includes/data/songs.json" json->scm)

View File

@ -1,4 +1,28 @@
songFormatAndSize = "a5"
songMargin = 5
songInfoFontSize = 0
songInfoLineWidthFraction = 0.9
songTitleSize = 6
songTitleFont = "Liberation Sans"
songChordFont = "Liberation Sans"
songLyricFont = "Liberation Sans"
songChordFontSeries = #'bold
songTextChordAlignment = #'left
songScoreChordFontSize = 2
songTextChordFontSize = \songScoreChordFontSize
songTextChordDistance = 2.8
songTextLineHeigth = 5.8
songTocColumns = 3
globalSize = 15
lyricSize = 1.6
stanzaFormat = "~a."
romanStanzaFormat = "~@r."
refString = "Ref.:"
refStringWithNumbers = "Ref. ~a:"
% hübsche Wiederholungszeichen für den Liedtext
repStart = "𝄆"
repStop = "𝄇"
customChordPrintings = {
<h dis' fis' e''>-\markup { \small "add11" }
<a cis' gis' h'>-\markup { \small "maj9" }
<c g>-\markup { \super "4" }
}

View File

@ -1,14 +0,0 @@
{
"dude": {
"name": "Krasser Dude",
"trail_name": "dud",
"birth_year": "1950",
"organization": "Bund der krassen Dudes"
},
"kumpel": {
"name": "Krasser Kumpel",
"trail_name": "dudekumpel",
"death_year": "2050",
"organization": "Bund der krassen Kumpels"
}
}

View File

@ -0,0 +1,17 @@
dude:
birth_year: '1950'
name: Krasser Dude
organization: Bund der krassen Dudes
trail_name: dud
kumpel:
death_year: '2050'
name: Krasser Kumpel
organization: Bund der krassen Kumpels
trail_name: dudekumpel
kumpelerbe:
inherits: kumpel
organization: Bund der crazy Kumpels
nocheiner:
death_year: '2050'
name: Jemand anderes

View File

@ -1,7 +0,0 @@
{
"a-song-id": {
"title": "Krasse Vorlage",
"composer": "kumpel",
"poet": "dude"
}
}

View File

@ -0,0 +1,5 @@
a-song-id:
composer: kumpel
poet: dude
title: Krasse Vorlage

View File

@ -31,7 +31,7 @@ firstVerse = \lyricmode {
Hier \repeat unfold 6 { _ } ist der Text für Stro -- phe eins. \set ignoreMelismata = ##t \unset ignoreMelismata % Bindebögen irgnorieren
}
secondVerse = \lyricmode {
refLyrics = \lyricmode {
#(stanza 2)
Mit _ ü -- ber -- springt man No -- ten. \markup { \bold { fett! krass } }
"Mehrere Silben" auf ei -- ne No -- te. Me -- lis -- ma -- \set ignoreMelismata = ##t ta aus \unset ignoreMelismata und wieder an
@ -82,12 +82,15 @@ bridgeVerse = \lyricmode {
Das hier ist ei -- ne Bridge
}
songChords = \chords {
verseChords = \chordmode {
s4 d2 h:m fis:m b g1 \klamm{a2. d4} c1/h
e \once \set chordChanges = ##f e %gleichbl. Akkord sichtbar machen
h:1.3.5.11
}
songChords = \chords { \verseChords }
bridgeChords = \chords { a2:m a:m a:m a:m }
thirdVerseMarkup =
@ -141,6 +144,8 @@ bridgeverse = \markup {
}
}
melodyVoice = { \firstVoice }
MUSIC =
{
<<
@ -149,7 +154,7 @@ MUSIC =
<<
\new Voice = "firstVoice" { \firstVoice }
\addlyrics { \firstVerse }
\addlyrics { \secondVerse }
\addlyrics { \refLyrics }
>>
>>
}