view makeWebItems.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 4754b1249dad
children 2fa3c89a0a8a
line wrap: on
line source

#!/bin/bash
#
# Make items required for the website but not for the book.
# They go into web/<book>.
#

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

dir=`pwd`

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

mkdir -p $builddir

# Now, for each tune, make the tune JPG and sound. Do this to temp
# files and rename into place to make updates as atomic as possible.
find $booke -name "*.abc" | sort |
    while read filename
    do
        name=`basename $filename .abc`
        tmpname=${name}.tmp
        convert -density 96 $graphicsdir/${name}.eps $builddir/${tmpname}.jpg

        abc2midi $filename -o $builddir/${tmpname}.mid
        timidity -Ow -o $builddir/${tmpname}.wav $builddir/${tmpname}.mid
        lame --quiet $builddir/${tmpname}.wav $builddir/${tmpname}.mp3

        mv $builddir/${tmpname}.jpg $builddir/${name}.jpg
        mv $builddir/${tmpname}.mid $builddir/${name}.mid
        mv $builddir/${tmpname}.mp3 $builddir/${name}.mp3
        rm $builddir/${tmpname}.wav
    done