view makeGraphics.sh @ 312:8bc92e044e0a

Move tune and first line inclusion code into macros. Also use tune title, not name, as hyperlink targets. This removes the need to pass the name into the macros.
author Jim Hague <jim.hague@acm.org>
date Fri, 12 Jul 2013 11:36:14 +0100
parents 67dc98ae4816
children aa803fd1c3a6
line wrap: on
line source

#!/bin/bash
#
# Make the tune graphics, EPS, PDF required by web and book into
# graphics/<book>.
#

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

dir=`pwd`

booke=$dir/$1
graphicsdir=$dir/graphics/$1

mkdir -p $graphicsdir

# Now, for each tune, make the tune graphic.
find $booke -name "*.abc" | sort |
    while read filename
    do
        name=`basename $filename .abc`

        # Make the tune graphic.
        abcm2ps -E -F singletune -O $graphicsdir/$name.eps $filename
        # Make $name.eps so we can build with LaTeX.
        mv $graphicsdir/${name}001.eps $graphicsdir/${name}.eps
        # And make the corresponding PDF.
        epstopdf --outfile=$graphicsdir/$name-tocrop.pdf $graphicsdir/${name}.eps
        # And crop it, so the graphic is as big as possible on the page.
        pdfcrop $graphicsdir/$name-tocrop.pdf $graphicsdir/$name.pdf
        rm $graphicsdir/$name-tocrop.pdf

        # and make the first line graphic.
        $dir/abcfirstline.py $filename > firstline.abc
        abcm2ps +c -M +Q -E -O $graphicsdir/firstline-$name.eps firstline.abc
        mv $graphicsdir/firstline-${name}001.eps $graphicsdir/firstline-${name}.eps
        rm firstline.abc
        epstopdf --outfile=$graphicsdir/firstline-$name-tocrop.pdf $graphicsdir/firstline-${name}.eps
        # And crop it, so the graphic is as big as possible on the page.
        pdfcrop $graphicsdir/firstline-$name-tocrop.pdf $graphicsdir/firstline-$name.pdf
        rm $graphicsdir/firstline-$name-tocrop.pdf
    done