diff options
-rw-r--r-- | Konzerte/2019_12_15/alles.ly | 8 | ||||
-rwxr-xr-x[-rw-r--r--] | Konzerte/2019_12_15/make | 106 |
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 |