#!/bin/bash set -e cd "$(dirname "$0")" teile_params=( '"Instrumente: Ouvertüre Feuerwerksmusik' Er_weckt_mich_alle_Morgen Wir_wuenschen_dass_jedes_Kind_auf_der_Welt_lachen_kann Da_beruehren_sich_Himmel_und_Erde Wie_lieblich_ist_der_Maien '"Instrumente: Lerchengesang' '"Instrumente: Greensleeves' '"Anna: Landlust' Cantate_Domino Tretet_her_zum_Tisch_des_Herrn Er_ist_mein_Hirt '"Instrumente: La Paix' '"Instrumente: Agnus Dei' Im_Fruehling Denn_er_hat_seinen_Engeln_ '"Instrumente: Joy Song' '"Instrumente mit Anna: Yesterday' '"Muttertagsgebet' Weiszt_du_wieviel_Sternlein_stehen Abendruhe '"Segen' Bleib_bei_mir_Herr Kanons/Abendstille_ueberall Kanons/Ich_will_den_Herrn_loben_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