view makeHornInF.sh @ 282:ced1d1ba42f6

Various revisions of printed book presentation. 1. Purple background on the front and and new blank back pages. 2. UK English for hyphenation and date presentation. 3. Dedication and 'About Havoc' section. 4. Footer just page number in centre of page. 5. Revised copyright discussion. 6. Since it's a book, make content, intro and first lines to chapters. And prompt individual tunes to sections. 7. Omit 'Tunes' chapter heading. It doesn't look good in A5.
author Jim Hague <jim.hague@acm.org>
date Fri, 05 Jul 2013 18:56:34 +0100
parents 7b98278d6e8b
children b4a0161e8870
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

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`
        tmpfile=$outdir/$name.abc.tmp

        # Strip out guitar chords first. This has the advantage of removing
        # text with arbitary lower case characters too.
        sed -e "s/\"[^\"]*\"//g" $filename > $tmpfile

        # Transpose concert pitch up a fifth.
        # If there are any notes at or above C above middle C, transpose
        # down a seventh instead.
        transpose=5
        if grep -v "^[A-Z]:" $tmpfile | sed -e 's/"[^"]*"//g' | grep -q "[a-g]"; 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 $tmpfile -e -t $transpose | \
            sed -e "/^ *K:/s/$/ clef=treble/" > $outdir/$name.abc
        rm $tmpfile
    done