summaryrefslogtreecommitdiff
path: root/Konzerte/2019_12_15/mangle-inputs
diff options
context:
space:
mode:
authorErich Eckner <git@eckner.net>2019-12-13 10:41:35 +0100
committerErich Eckner <git@eckner.net>2019-12-13 10:41:35 +0100
commitac1736a16467fe4b39e233496b769e2f89491ea4 (patch)
tree616033648c285704676338fb1d1b0ee77262bcdd /Konzerte/2019_12_15/mangle-inputs
parentcbcdd29855ac56ab7aedd6309ed8af5326940aff (diff)
downloadMusik-ac1736a16467fe4b39e233496b769e2f89491ea4.tar.xz
Konzerte/2019_12_15: Makefile neu
Diffstat (limited to 'Konzerte/2019_12_15/mangle-inputs')
-rwxr-xr-xKonzerte/2019_12_15/mangle-inputs49
1 files changed, 49 insertions, 0 deletions
diff --git a/Konzerte/2019_12_15/mangle-inputs b/Konzerte/2019_12_15/mangle-inputs
new file mode 100755
index 0000000..2707462
--- /dev/null
+++ b/Konzerte/2019_12_15/mangle-inputs
@@ -0,0 +1,49 @@
+#!/bin/bash
+
+if [ -z "$1" ]; then
+ >&2 echo 'too few arguments'
+ exit 1
+fi
+
+if printf '%s\n' "$1" \
+| grep -q '/\([^/]\+\)/\1\.ly$'; then
+
+ base="${1%/*.ly}"
+
+ sed '
+ s@\(include "\)\(\(stimmen\|texte\)\.ly"\)@\1'"${base}"'/\2@
+ t
+ s@\(include "\)\(\(stimmen\|texte\)\.pre"\)@\1'"${base##*/}"'_\2@
+ ' \
+ <"$1" \
+ | case "${base##*/}" in
+ 'Es_kommt_ein_Schiff_geladen')
+ sed 's/%STR_[1-4]%//g'
+ ;;
+ 'Macht_hoch_die_Tuer')
+ sed 's/%STR_[1-3]%//g'
+ ;;
+ *)
+ cat
+ ;;
+ esac \
+ | if [ "${base}" = 'Magnificat' ]; then
+ cat
+ else
+ sed '
+ /^\s*\\layout\s\+{\s*$/ a #(layout-set-staff-size 16)
+ '
+ fi
+
+elif [ -z "${1##*/Macht_hoch_die_Tuer/stimmen.ly}" ]; then
+
+ sed '
+ /%fermate$/ s/2\([_^]\?\\fermata\)\? /4 s /
+ ' "$1"
+
+else
+
+ >&2 printf 'unknown input "%s"\n' "$1"
+ exit 1
+
+fi