view makeWebGraphics.sh @ 1020:af4722b813a5 build-default-369

Merge with upstream.
author Jim Hague <jim.hague@acm.org>
date Mon, 03 Feb 2020 11:25:01 +0000
parents 0f4ba68d6059
children e4d31e094d24
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" | sort |
    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