view makeWebGraphics.sh @ 1031:18f0e45207ef

Sort LC_ALL=C to get Linux sort to order Beginners as expected. Remove other unnecessary uses of sort. When generating intermediate files, it doesn't matter in what order it happens.
author Jim Hague <jim.hague@acm.org>
date Wed, 19 Feb 2020 11:14:40 +0000
parents 70e1ff83fe34
children
line wrap: on
line source

#!/bin/bash
#
# Make graphics required for the website but not for the book.
# They go into web/tunes/<tunename>, or web/tunes-<instrument>/<tunename>.
#

if [[ $# -ne 1 ]]; then
    echo "Usage: makeWebGraphics.sh <book dir name>"
    exit 1
fi

dir=`pwd`

booke=$dir/$1
basewebdir=$dir/web
basetunedir=$basewebdir/tunes
graphicsdir=$dir/graphics/$1

instrumentSuffix="${1##*-}"
if [ "$1" != "$instrumentSuffix" ]; then
    basetunedir="${basetunedir}-${instrumentSuffix}"
fi

# Now, for each tune, make the main tune and tune first line bitmaps.
# Do this to temp files and rename into place to make updates as
# atomic as possible.
find $booke -maxdepth 1 -name "*.abc" |
    while read filename
    do
        name=`basename $filename .abc`
        tunedir=$basetunedir/$name

        mkdir -p $tunedir

        tmpname=${name}.tmp
        convert -colors 256 -quality 90 -density 200 $graphicsdir/${name}.pdf $tunedir/${tmpname}.png
        convert -colors 256 -quality 90 -density 200 $graphicsdir/firstline-${name}.pdf $tunedir/firstline-${tmpname}.png

        mv $tunedir/${tmpname}.png $tunedir/${name}.png
        mv $tunedir/firstline-${tmpname}.png $tunedir/firstline-${name}.png

        # Make the web downloadable PDF with the tune title.
        abcm2ps -E -F singletuneweb -O $tunedir/$name.eps $filename
        # And make the corresponding PDF.
        epstopdf --outfile=$tunedir/$name.pdf $tunedir/${name}001.eps
        rm $tunedir/${name}001.eps
    done