view makeHornInF.sh @ 334:9f9df5c40d1b

Move cover page colour and blank coloured end page to doc-specific files. That way output where the colour isn't appropriate, such as Nook or the newly introduced A4Lulu output (which is the A4 book but with white cover page and no end coloured page, and so suitable for using as the content on Lulu, where the cover is separate) can omit the colour.
author Jim Hague <jim.hague@acm.org>
date Fri, 09 Aug 2013 13:55:59 +0100
parents b4a0161e8870
children b8ea9cfb3546
line wrap: on
line source

#!/bin/bash
#
# Transpose a book for Horn in F.

if [ $# != 1 ]; then
    echo "Usage: makeFHorn.sh <book dir name>"
    exit 1
fi

# Transpose down (return 0) if top note was > e (> a for horn).
transposedown()
{
    return $(($2 <= 109))
}

dir=`pwd`

booke=$dir/$1
outdir=$dir/$1-HornInF

mkdir -p $outdir

# Copy book component items.
cp $booke/*.txt $outdir

echo "Horn in F" > $outdir/instrument.txt

find $booke -name "*.abc" | sort |
    while read filename
    do
        name=`basename $filename .abc`
        range=`./abcrange.py $filename`

        # Transpose concert pitch up a fifth.
        # If there are any notes above 'd' (Horn 'g'), transpose
        # down a seventh instead.
        transpose=5
        if transposedown $range; then
            transpose=-7
        fi

        # Transpose. By default abc2abc will report errors in the output,
        # but this messes up output formatting so stop it. Also force all
        # output to be in treble clef; some lower tunes with the odd high
        # note will otherwise appear in bass clef, which is not what this
        # crap horn player wants.
        abc2abc $filename -e -t $transpose | \
            sed -e "/^ *K:/s/$/ clef=treble/" > $outdir/$name.abc
    done