diff options
author | Erich Eckner <git@eckner.net> | 2019-12-13 10:41:35 +0100 |
---|---|---|
committer | Erich Eckner <git@eckner.net> | 2019-12-13 10:41:35 +0100 |
commit | ac1736a16467fe4b39e233496b769e2f89491ea4 (patch) | |
tree | 616033648c285704676338fb1d1b0ee77262bcdd /Konzerte/2019_12_15/mangle-inputs | |
parent | cbcdd29855ac56ab7aedd6309ed8af5326940aff (diff) | |
download | Musik-ac1736a16467fe4b39e233496b769e2f89491ea4.tar.xz |
Konzerte/2019_12_15: Makefile neu
Diffstat (limited to 'Konzerte/2019_12_15/mangle-inputs')
-rwxr-xr-x | Konzerte/2019_12_15/mangle-inputs | 49 |
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 |