view makeAll.sh @ 876:1a838d8dca2a

Fix building transposed bookes.
author Jim Hague <jim.hague@acm.org>
date Tue, 26 Mar 2019 17:54:07 +0000
parents d6f1f2b3bd01
children 94c7a0a3158c
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 Nook "$1"

    # Compact graphics printed output.
    ./makeBookeTunePages.sh --use-compact "$1"
    ./makeBooke.sh A5 "$1"
    ./makeBooklet.sh "$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"
}

makeABumperBooke()
{
    # This can only be used once all the other Bookes have been built.
    ./makeBookeTunePages.sh "$1"
    ./makeBooke.sh A4 "$@"
    ./makeBookeTunePages.sh --use-compact "$1"
    ./makeBooke.sh A5 "$@"
    ./makeBooklet.sh "Bumper"
}

makeBumperBookes()
{
    makeABumperBooke $1

    #makeABumperBooke $1-Cello
    #makeABumperBooke $1-HornInF
    #makeABumperBooke $1-AltoRecorderCFingering
}

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[@]}"
    cp Bumper*.pdf ./web
fi