#!/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 [ ...]" exit 1 fi # Make the print version of a booke. # Params: 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" } # Make a single booke. # Params: [] 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: [] 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" } 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" } makeBumperBookes() { makeABumperBooke "$@" for f in Bumper*.pdf do mv $f ./web done local cellobumper local hornbumber local recorderbumper for booke in "$@" do cellobumper+=("${booke}-Cello") hornbumper+=("${booke}-HornInF") recorderbumper+=("${booke}-AltoRecorderCFingering") 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 } 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