Mercurial > dottes
view makeAltoRecorderCFingering.sh @ 738:69a7499817c8 build-default-284
On Nook and A5 prints, start a new page with each tune and centre vertically..
A5 mostly did, but ran into trouble with longer comments on a tune.
This may give blank space after tunes where a long comment overflows
onto another page, but I think for now it's better to have each tune
at the top of the page.
Or rather, and this is the other change, in the middle of the page. Centre
the page content for A5 and Nook.
author | Jim Hague <jim.hague@acm.org> |
---|---|
date | Thu, 12 Oct 2017 14:50:51 +0100 |
parents | 2f6e05d0aba0 |
children | ce5c7214f9aa |
line wrap: on
line source
#!/bin/bash # # Transpose a book for alto recorder with C fingering. if [ $# != 1 ]; then echo "Usage: makeAltoRecorderCFingering.sh <book dir name>" exit 1 fi # Transpose up (return 0) if bottom note was < F (< C for recorder). transposeup() { (($3 < 103)) } dir=`pwd` booke=$dir/$1 outdir=$dir/$1-AltoRecorderCFingering mkdir -p $outdir # Copy book component items. cp $booke/*.txt $outdir echo "Alto Recorder (C Fingering)" > $outdir/instrument.txt find $booke -name "*.abc" | sort | while read filename do name=`basename $filename .abc` range=`./abcrange.py $filename` # Transpose concert pitch down a fifth. # If there are any notes below 'F' (recorder 'C'), transpose # up a seventh instead. transpose=-5 if transposeup $range; then transpose=7 fi # There's no point in having transposed chords. Remove from the # abc before transposing. Some badly formed chord items can give # erroneous output from abc2abc (like, strings of binary gibberish). sed -e "s/\"[^\"]*\"//g" $filename > $outdir/$name.abc.tmp # Transpose. By default abc2abc will report errors in the output, # but this messes up output formatting so stop it. abc2abc $outdir/$name.abc.tmp -e -t $transpose > $outdir/$name.abc rm $outdir/$name.abc.tmp done