Initial implementation of songbook toolset
Kotlin/JVM multi-module project for generating a scout songbook PDF from ChordPro-format text files. Includes ChordPro parser, layout engine with greedy spread packing for double-page songs, OpenPDF renderer, CLI (Clikt), Compose Desktop GUI, and 5 sample songs. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
27
songs/abend-wird-es-wieder.chopro
Normal file
27
songs/abend-wird-es-wieder.chopro
Normal file
@@ -0,0 +1,27 @@
|
||||
{title: Abend wird es wieder}
|
||||
{lyricist: Christian Gottlob Barth, 1836}
|
||||
{composer: Volksweise}
|
||||
{key: C}
|
||||
{tags: Abendlied}
|
||||
{ref: pfadfinderliederbuch 12}
|
||||
|
||||
{start_of_verse: Strophe 1}
|
||||
[C]Abend wird es [G]wieder,
|
||||
[G]über Wald und [C]Feld
|
||||
säuselt [F]Frieden [C]nieder,
|
||||
und es [G]ruht die [C]Welt.
|
||||
{end_of_verse}
|
||||
|
||||
{start_of_verse: Strophe 2}
|
||||
[C]Nur der Bach er[G]gießet
|
||||
[G]sich am Felsen [C]dort,
|
||||
und er [F]braust und [C]fließet
|
||||
immer, [G]immer [C]fort.
|
||||
{end_of_verse}
|
||||
|
||||
{start_of_verse: Strophe 3}
|
||||
[C]Und kein Abend [G]bringet
|
||||
[G]Frieden ihm und [C]Ruh,
|
||||
keine [F]Glocke [C]klinget
|
||||
ihm ein [G]Rastlied [C]zu.
|
||||
{end_of_verse}
|
||||
26
songs/auf-auf-zum-froehlichen-jagen.chopro
Normal file
26
songs/auf-auf-zum-froehlichen-jagen.chopro
Normal file
@@ -0,0 +1,26 @@
|
||||
{title: Auf, auf zum fröhlichen Jagen}
|
||||
{lyricist: Traditionell, 18. Jahrhundert}
|
||||
{composer: Volksweise}
|
||||
{key: F}
|
||||
{tags: Volkslied, Jagd}
|
||||
|
||||
{start_of_verse: Strophe 1}
|
||||
[F]Auf, auf zum fröhlichen [C]Jagen,
|
||||
auf [C]in die grüne [F]Heid'!
|
||||
Es [F]gibt nichts Schönres [Bb]auf Erden,
|
||||
als [C]jetzt zur Herbstes[F]zeit.
|
||||
{end_of_verse}
|
||||
|
||||
{start_of_chorus}
|
||||
Halli, hallo, halli, hallo,
|
||||
auf [C]in die grüne [F]Heid'!
|
||||
{end_of_chorus}
|
||||
|
||||
{start_of_verse: Strophe 2}
|
||||
[F]Der Hirsch, der springt im [C]Walde,
|
||||
das [C]Reh steht auf der [F]Flur,
|
||||
die [F]Vöglein singen [Bb]alle
|
||||
zur [C]schönen Jägerei[F]natur.
|
||||
{end_of_verse}
|
||||
|
||||
{chorus}
|
||||
42
songs/die-gedanken-sind-frei.chopro
Normal file
42
songs/die-gedanken-sind-frei.chopro
Normal file
@@ -0,0 +1,42 @@
|
||||
{title: Die Gedanken sind frei}
|
||||
{alias: Gedankenfreiheit}
|
||||
{lyricist: Deutsches Volkslied}
|
||||
{composer: Deutsches Volkslied, ca. 1810}
|
||||
{key: G}
|
||||
{tags: Volkslied, Freiheit}
|
||||
{note: Eines der bekanntesten deutschen Volkslieder. Text erstmals 1780.}
|
||||
{ref: mundorgel 42}
|
||||
{ref: pfadfinderliederbuch 118}
|
||||
|
||||
{start_of_verse: Strophe 1}
|
||||
Die Ge[G]danken sind [D]frei,
|
||||
wer [D]kann sie er[G]raten?
|
||||
Sie [G]fliehen vor[C]bei
|
||||
wie [D]nächtliche [G]Schatten.
|
||||
Kein [C]Mensch kann sie [G]wissen,
|
||||
kein [Am]Jäger er[D]schießen.
|
||||
Es [G]bleibet da[C]bei:
|
||||
Die Ge[D]danken sind [G]frei!
|
||||
{end_of_verse}
|
||||
|
||||
{start_of_verse: Strophe 2}
|
||||
Ich [G]denke, was ich [D]will
|
||||
und [D]was mich be[G]glücket,
|
||||
doch [G]alles in der [C]Still',
|
||||
und [D]wie es sich [G]schicket.
|
||||
Mein [C]Wunsch und Be[G]gehren
|
||||
kann [Am]niemand ver[D]wehren,
|
||||
es [G]bleibet da[C]bei:
|
||||
Die Ge[D]danken sind [G]frei!
|
||||
{end_of_verse}
|
||||
|
||||
{start_of_verse: Strophe 3}
|
||||
Und [G]sperrt man mich [D]ein
|
||||
im [D]finsteren [G]Kerker,
|
||||
das [G]alles sind rein [C]
|
||||
ver[D]gebliche [G]Werke.
|
||||
Denn [C]meine Ge[G]danken
|
||||
zer[Am]reißen die [D]Schranken
|
||||
und [G]Mauern ent[C]zwei:
|
||||
Die Ge[D]danken sind [G]frei!
|
||||
{end_of_verse}
|
||||
18
songs/hejo-spann-den-wagen-an.chopro
Normal file
18
songs/hejo-spann-den-wagen-an.chopro
Normal file
@@ -0,0 +1,18 @@
|
||||
{title: Hejo, spann den Wagen an}
|
||||
{lyricist: Traditionell}
|
||||
{composer: Traditionell}
|
||||
{key: Am}
|
||||
{tags: Kanon, Fahrt}
|
||||
{ref: mundorgel 15}
|
||||
|
||||
{start_of_verse: Kanon}
|
||||
[Am]Hejo, spann den Wagen an,
|
||||
denn der [G]Wind treibt [Am]Regen übers Land.
|
||||
[Am]Hol die goldnen Garben rein,
|
||||
denn der [G]Wind treibt [Am]Regen übers Land.
|
||||
{end_of_verse}
|
||||
|
||||
{start_of_verse: 2. Stimme}
|
||||
[Am]Hejo, spann den Wagen an,
|
||||
denn der [G]Wind treibt [Am]Regen übers Land.
|
||||
{end_of_verse}
|
||||
33
songs/kein-schoener-land.chopro
Normal file
33
songs/kein-schoener-land.chopro
Normal file
@@ -0,0 +1,33 @@
|
||||
{title: Kein schöner Land}
|
||||
{alias: Kein schöner Land in dieser Zeit}
|
||||
{lyricist: Anton Wilhelm von Zuccalmaglio}
|
||||
{composer: Volksweise, 1840}
|
||||
{key: D}
|
||||
{tags: Volkslied, Abendlied}
|
||||
{note: Veröffentlicht 1840 in "Deutsche Volkslieder mit ihren Original-Weisen".}
|
||||
{ref: mundorgel 88}
|
||||
{ref: pfadfinderliederbuch 65}
|
||||
|
||||
{start_of_verse: Strophe 1}
|
||||
Kein [D]schöner Land in [A]dieser Zeit,
|
||||
als [A]hier das unsre [D]weit und breit,
|
||||
wo [D]wir uns [G]finden
|
||||
wohl [D]unter [A]Linden
|
||||
zur [D]Abend[A]zeit.
|
||||
{end_of_verse}
|
||||
|
||||
{start_of_verse: Strophe 2}
|
||||
Da [D]haben wir so [A]manche Stund'
|
||||
ge[A]sessen da in [D]froher Rund'
|
||||
und [D]taten [G]singen,
|
||||
die [D]Lieder [A]klingen
|
||||
im [D]Eichen[A]grund.
|
||||
{end_of_verse}
|
||||
|
||||
{start_of_verse: Strophe 3}
|
||||
Dass [D]wir uns hier in [A]diesem Tal
|
||||
noch [A]treffen so viel [D]hundertmal,
|
||||
Gott [D]mag es [G]schenken,
|
||||
Gott [D]mag es [A]lenken,
|
||||
er [D]hat die [A]Gnad'.
|
||||
{end_of_verse}
|
||||
Reference in New Issue
Block a user