summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Konzerte/2019_12_15/alles.ly8
-rwxr-xr-x[-rw-r--r--]Konzerte/2019_12_15/make106
2 files changed, 103 insertions, 11 deletions
diff --git a/Konzerte/2019_12_15/alles.ly b/Konzerte/2019_12_15/alles.ly
new file mode 100644
index 0000000..34562c0
--- /dev/null
+++ b/Konzerte/2019_12_15/alles.ly
@@ -0,0 +1,8 @@
+\version "2.19.80"
+\paper {
+ first-page-number = #1
+ print-first-page-number = ##t
+}
+
+%LOOP%\include "../../%TEIL%/%TEIL-BASE%.pre"
+%LOOP %\pageBreak
diff --git a/Konzerte/2019_12_15/make b/Konzerte/2019_12_15/make
index 9a444c1..170a21f 100644..100755
--- a/Konzerte/2019_12_15/make
+++ b/Konzerte/2019_12_15/make
@@ -1,12 +1,96 @@
-- Schütz - Magnificat SWV 426
-- Heft: Freude, große Freude:
-Nr. 7 (Macht hoch)
-Nr. 9 (Drei Kön'ge)
-Nr. 13 (Als die Welt)
-Nr. 16 (Stern über Bethlehem)
-Nr. 19 (Die Botschaft)
-Nr. 23 (Das große Wunder)
-Nr. 24 (O du fröhliche)
-Nr. 27 (Lobsinget)
-Nr. 29 (Freut euch)
+#!/bin/bash
+set -e
+
+cd "$(dirname "$0")"
+
+teile_params=(
+# ' - Schütz - Magnificat SWV 426'
+ 'Freude_grosze_Freude'
+ 'Macht_hoch_die_Tuer'
+# 'Drei_Koenge_wandern' Nr. 9 (Drei Kön'ge)
+ 'Als_die_Welt_verloren'
+ 'Stern_ueber_Bethlehem'
+ 'Die_Botschaft'
+# 'Das_grosze_Wunder'
+# 'O_du_froehliche_'
+ 'Lobsinget_Gott_dem_Herrn'
+ 'Freuet_euch_allezeit'
+)
+
+rm -f *.pre
+
+for teil_params in "${teile_params[@]}"
+do
+ if [ -z "${teil_params%%'"'*}" ]; then
+ continue
+ fi
+ teil="${teil_params%%:*}"
+ params="${teil_params#${teil}}"
+ params="${params#:}"
+ (
+ cd ../../${teil}
+ sed -n '
+ s/^\([^:]*%\|'"${teil##*/}"'\)\.pdf.*:\s*//
+ T
+ :a
+ /\\$/ {
+ N
+ s/\\\n/ /
+ ta
+ }
+ s/\n.*$//
+ s/%/'"${teil##*/}"'/g
+ p
+ ' Makefile | \
+ tr ' ' '\n' | \
+ grep '\.pre$' | \
+ xargs -r make ${params} "$@"
+ )
+done
+
+{
+ printf '\n\n'
+ cat alles.ly
+ printf '\n\n'
+} | \
+ while read -r line
+ do
+ if [[ "${line}" = '%LOOP%'* ]]
+ then
+ loopLines="${loopLines}
+${line#%LOOP%}"
+ else
+ if [ -n "${loopLines}" ]
+ then
+ for teil_param in "${teile_params[@]}"
+ do
+ teil="${teil_param%%:*}"
+ echo "${loopLines}" | \
+ if [ -z ${teil%%'"'*} ]; then
+ sed '
+ s/\\include "[^"]*"/\\markup { '"${teil_param}"'" }/g
+ '
+ else
+ cat
+ fi | \
+ sed "
+ s|%TEIL%|${teil}|g
+ s|%TEIL-BASE%|${teil##*/}|g
+ /%IF \([^=%]\+\)!=\1%/d
+ s|%IF [^=%]\+!=[^=%]\+%||g
+ s|%IF \([^=%]*[^=!%]\)=\1%||g
+ /%IF [^=%]\+=[^=%]\+%/d
+ "
+ done
+ unset loopLines
+ fi
+ echo "${line}"
+ fi
+ done > alles.pre
+
+lilypond alles.pre
+
+#ps2pdf -sPAPERSIZE=a4 - empty.pdf </dev/null
+#pdfunite empty.pdf alles.pdf alles_.pdf
+#mv alles_.pdf alles.pdf