view makeHornInF.sh @ 217:a8a46fd79d5c

Fix up problems in Horn in F transposition. 1. Ensure makeWeb.sh gets its second parameter quoted, to allow for spaces in it. 2. Don't forget to copy the component text items into the horn dir. 3. Fix removing transposition tag from page title.
author Jim Hague <jim.hague@laicatc.com>
date Wed, 20 Feb 2013 13:45:58 +0000
parents 64b84dea3337
children 1a9d937b7765
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

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.
        abc2abc $tmpfile -e -t $transpose > $outdir/$name.abc
        rm $tmpfile
    done