view makeGraphics.sh @ 116:19ba410d891f

Ensure tune graphic is confined to a single page. Set a maximum height for the graphic of 0.9 text area as well as the current target width of the text width. And also keep the aspect ratio. So if the height is small enough, you get full width. Otherwise the graphic is shrunk enough to keep it all on one page. Perhaps one can then go back and edit the tune to fit it into fewer lines.
author Jim Hague <jim.hague@acm.org>
date Fri, 16 Mar 2012 10:40:09 +0000
parents e666306c5ab1
children 8f3b50ede59c
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 -j0 +c -n -E -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 for pdflatex.
        epstopdf --outfile=$graphicsdir/$name.pdf $graphicsdir/${name}.eps

        # 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.pdf $graphicsdir/firstline-${name}.eps
    done