Mercurial > dottes
view makeAltoRecorderCFingering.sh @ 748:ce5c7214f9aa
Introduce mechanism for having different tune images for compact printed output.
Sort alternate .abc in subdir 'Compact' under the booke dir. Use that as
the graphic for A5 output, assuming it will be vertically more compact.
Use Bear Dance as an example, as it has commentary that currently
overflows an A5 landscape page.
For the moment, transposed Bookes don't transpose and so don't use Compact.
author | Jim Hague <jim.hague@acm.org> |
---|---|
date | Fri, 13 Oct 2017 15:44:15 +0100 |
parents | 2f6e05d0aba0 |
children | 06fec6764661 |
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 -depth 1 -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