view makeHornInF.sh @ 359:2a7d03d6a89f

Use txt2tags to format intro text. That way we can include basic markup in the into text and use it in both LaTeX and HTML. Take advantage of this to expand the wording of the intro text in all books.
author Jim Hague <jim.hague@acm.org>
date Wed, 21 Aug 2013 10:28:10 +0100
parents 6bcafbfac674
children ecc62b487e57
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()
{
    (($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