Mercurial > dottes
view makeAll.sh @ 1088:f58b5a536945
Note 30th anniversary.
author | Jim Hague <jim.hague@acm.org> |
---|---|
date | Sat, 19 Nov 2022 10:50:13 +0000 |
parents | ce13e23259b1 |
children |
line wrap: on
line source
#!/bin/bash # # Build all forms of the Booke. # # Arguments are the names of the bookes to build. If a name is # prefixed '-', then do not include that section in the Bumper Booke. if [[ $# -lt 1 ]]; then echo "Usage: makeAll.sh <booke dir name> [<booke dir name> ...]" exit 1 fi # Make the print version of a booke. # Params: <booke dir> makeBookePrint() { # Print graphics. ./makeGraphics.sh "$1" # Normal graphics printed output. ./makeBookeTunePages.sh "$1" ./makeBooke.sh A4 "$1" ./makeBooke.sh A4NoCover "$1" ./makeBooke.sh Nook "$1" # Compact graphics printed output. ./makeBookeTunePages.sh --use-compact "$1" ./makeBooke.sh A5 "$1" ./makeBooklet.sh "$1" ./makeBooke.sh A5NoCover "$1" } # Make a single booke. # Params: <booke dir> [<instrument name>] makeABooke() { makeBookePrint "$1" # Web output. ./makeWebGraphics.sh "$1" ./makeWebAudio.sh "$1" ./makeWeb.sh "$1" "$1" "$2" } # Make a single transposed booke. We use web audio from the # master booke. # Params: <booke dir> <master booke dir> [<instrument name>] makeATransposedBooke() { makeBookePrint "$1" # Web output. Uses audio from main booke. ./makeWebGraphics.sh "$1" ./makeWeb.sh "$1" "$2" "$3" } makeASingleBooke() { makeABooke $1 ./makeCello.sh $1 makeATransposedBooke $1-Cello $1 cello ./makeHornInF.sh $1 makeATransposedBooke $1-HornInF $1 "horn in F" ./makeAltoRecorderCFingering.sh $1 makeATransposedBooke $1-AltoRecorderCFingering $1 "alto recorder, C fingering" ./makeAltoSax.sh $1 makeATransposedBooke $1-AltoSax $1 "alto saxophone" } makeABumperBooke() { # This can only be used once all the other Bookes have been built. for booke in "$@" do ./makeBookeTunePages.sh "${booke}" done ./makeBooke.sh A4 "$@" ./makeBooke.sh A4NoCover "$@" ./makeBooke.sh Nook "$@" for booke in "$@" do ./makeBookeTunePages.sh --use-compact "${booke}" done ./makeBooke.sh A5 "$@" ./makeBooklet.sh "Bumper" ./makeBooke.sh A5NoCover "$@" } makeBumperBookes() { makeABumperBooke "$@" for f in Bumper*.pdf do mv $f ./web done local cellobumper local hornbumber local recorderbumper local saxbumper for booke in "$@" do cellobumper+=("${booke}-Cello") hornbumper+=("${booke}-HornInF") recorderbumper+=("${booke}-AltoRecorderCFingering") saxbumper+=("${booke}-AltoSax") done makeABumperBooke "${cellobumper[@]}" for f in Bumper*.pdf do t=$(echo $f | sed -e "s/.pdf/-Cello.pdf/") mv $f ./web/$t done makeABumperBooke "${hornbumper[@]}" for f in Bumper*.pdf do t=$(echo $f | sed -e "s/.pdf/-HornInF.pdf/") mv $f ./web/$t done makeABumperBooke "${recorderbumper[@]}" for f in Bumper*.pdf do t=$(echo $f | sed -e "s/.pdf/-AltoRecorderCFingering.pdf/") mv $f ./web/$t done makeABumperBooke "${saxbumper[@]}" for f in Bumper*.pdf do t=$(echo $f | sed -e "s/.pdf/-AltoSax.pdf/") mv $f ./web/$t done } declare buildBookes declare bumperBookes for booke in "$@" do if [[ ${booke:0:1} = "-" ]]; then booke=${booke/#-/} else bumperBookes+=("$booke") fi buildBookes+=("$booke") done for booke in "${buildBookes[@]}" do makeASingleBooke $booke done if [[ ${#bumperBookes[@]} -gt 1 ]]; then makeBumperBookes "${bumperBookes[@]}" fi