# HG changeset patch # User Jim Hague # Date 1507905855 -3600 # Node ID ce5c7214f9aab0c57f40655b4eafa60499851b0a # Parent 34c7947b454284c14562e7a335c4c2a015e7956c 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. diff -r 34c7947b4542 -r ce5c7214f9aa Session/Compact/BearDance.abc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Session/Compact/BearDance.abc Fri Oct 13 15:44:15 2017 +0100 @@ -0,0 +1,10 @@ +X:1 +T:Bear Dance +M:2/4 +L:1/16 +Q:1/4=120 +K:Em +"Em" B2 E2 E4| B2 E2 E3 F| G2G2F2G2|"D" A4G2A2| \ +|"Em" B2B2 "D" A2A2|"Em" G2G2 "D" F4|"Em" E2G2 "D" F2D2|"Em" E4 E4:| +"Em" E2G2E2G2|"D" F2D2D4|"C" E2G2E2G2|"D" A4G2A2| \ +|"Em" B2B2 "D" A2A2|"C" G2G2 "D" F4|"Em" E2G2 "D" F2D2|"Em" E4 E4:| diff -r 34c7947b4542 -r ce5c7214f9aa dottes.tex.firstline-tune --- a/dottes.tex.firstline-tune Fri Oct 13 10:50:18 2017 +0100 +++ b/dottes.tex.firstline-tune Fri Oct 13 15:44:15 2017 +0100 @@ -1,1 +1,1 @@ -\showfirstline{$name}{$fulltitle}{$graphicsdir/firstline-$name} +\showfirstline{$name}{$fulltitle}{$firstlineimagefile} diff -r 34c7947b4542 -r ce5c7214f9aa dottes.tex.tune --- a/dottes.tex.tune Fri Oct 13 10:50:18 2017 +0100 +++ b/dottes.tex.tune Fri Oct 13 15:44:15 2017 +0100 @@ -1,5 +1,5 @@ \tunestart -\showtune{$name}{$title}{$subtitle}{$fulltitle}{$tradition}{$composer}{$parts}{$graphicsdir/$name} +\showtune{$name}{$title}{$subtitle}{$fulltitle}{$tradition}{$composer}{$parts}{$tuneimagefile} $notes $history diff -r 34c7947b4542 -r ce5c7214f9aa makeAll.sh --- a/makeAll.sh Fri Oct 13 10:50:18 2017 +0100 +++ b/makeAll.sh Fri Oct 13 15:44:15 2017 +0100 @@ -9,12 +9,20 @@ makeABooke() { + # Print graphics. ./makeGraphics.sh "$1" + + # Normal graphics printed output. ./makeBookeTunePages.sh "$1" ./makeBooke.sh A4 "$1" + ./makeBooke.sh Nook "$1" + + # Compact graphics printed output. + ./makeBookeTunePages.sh --use-compact "$1" ./makeBooke.sh A5 "$1" ./makeBooklet.sh "$1" - ./makeBooke.sh Nook "$1" + + # Web output. ./makeWebGraphics.sh "$1" ./makeWebAudio.sh "$1" ./makeWeb.sh "$1" "$1" "$2" @@ -22,12 +30,20 @@ makeATransposedBooke() { + # Print graphics. ./makeGraphics.sh "$1" + + # Normal graphics printed output. ./makeBookeTunePages.sh "$1" ./makeBooke.sh A4 "$1" + ./makeBooke.sh Nook "$1" + + # Compact graphics printed output. + ./makeBookeTunePages.sh --use-compact "$1" ./makeBooke.sh A5 "$1" ./makeBooklet.sh "$1" - ./makeBooke.sh Nook "$1" + + # Web output. Uses audio from main booke. ./makeWebGraphics.sh "$1" ./makeWeb.sh "$1" "$2" "$3" } diff -r 34c7947b4542 -r ce5c7214f9aa makeAltoRecorderCFingering.sh --- a/makeAltoRecorderCFingering.sh Fri Oct 13 10:50:18 2017 +0100 +++ b/makeAltoRecorderCFingering.sh Fri Oct 13 15:44:15 2017 +0100 @@ -25,7 +25,7 @@ echo "Alto Recorder (C Fingering)" > $outdir/instrument.txt -find $booke -name "*.abc" | sort | +find $booke -depth 1 -name "*.abc" | sort | while read filename do name=`basename $filename .abc` diff -r 34c7947b4542 -r ce5c7214f9aa makeBooke.sh --- a/makeBooke.sh Fri Oct 13 10:50:18 2017 +0100 +++ b/makeBooke.sh Fri Oct 13 15:44:15 2017 +0100 @@ -17,6 +17,12 @@ builddir=$dir/build booketex=$builddir/dottes.tex bookepdf=$builddir/dottes.pdf +usecompact="" + +if [ "$1" = "--use-compact" ]; then + usecompact="yes" + shift +fi papersize=$1 shift diff -r 34c7947b4542 -r ce5c7214f9aa makeBookeTunePages.sh --- a/makeBookeTunePages.sh Fri Oct 13 10:50:18 2017 +0100 +++ b/makeBookeTunePages.sh Fri Oct 13 15:44:15 2017 +0100 @@ -8,8 +8,15 @@ # makeGraphics.sh to make these. # +usecompact="" + +if [ $# -gt 1 -a "$1" = "--use-compact" ]; then + usecompact="yes" + shift +fi + if [ $# != 1 ]; then - echo "Usage: makeBookeTunePages.sh " + echo "Usage: makeBookeTunePages.sh [--use-compact] " exit 1 fi @@ -25,11 +32,28 @@ rm -f $tunesoutput $indexoutput -# Now, for each tune, make the tune graphic and add it, inside a -# centre section, so the document. Then add a TOC entry. -find $booke -name "*.abc" | sort | +# Now, for each tune, build the tunes part and the first line sections +# of the document. +find $booke -depth 1 -name "*.abc" | sort | while read filename do - $dir/abctemplate.py --latex --value "graphicsdir=$graphicsdir" --template $dir/dottes.tex.tune $filename >> $tunesoutput - $dir/abctemplate.py --latex --value "graphicsdir=$graphicsdir" --template $dir/dottes.tex.firstline-tune $filename >> $indexoutput + name=`basename $filename .abc` + tuneimagefile="${graphicsdir}/${name}" + compacttuneimagefile="${graphicsdir}/compact-${name}" + firstlineimagefile="${graphicsdir}/firstline-${name}" + + if [ "$usecompact" -a -f ${compacttuneimagefile}.pdf ]; then + tuneimagefile=$compacttuneimagefile + fi + + $dir/abctemplate.py \ + --latex \ + --value "tuneimagefile=${tuneimagefile}" \ + --template $dir/dottes.tex.tune \ + $filename >> $tunesoutput + $dir/abctemplate.py \ + --latex \ + --value "firstlineimagefile=${firstlineimagefile}" \ + --template $dir/dottes.tex.firstline-tune \ + $filename >> $indexoutput done diff -r 34c7947b4542 -r ce5c7214f9aa makeCello.sh --- a/makeCello.sh Fri Oct 13 10:50:18 2017 +0100 +++ b/makeCello.sh Fri Oct 13 15:44:15 2017 +0100 @@ -53,7 +53,7 @@ echo "Cello" > $outdir/instrument.txt -find $booke -name "*.abc" | sort | +find $booke -depth 1 -name "*.abc" | sort | while read filename do name=`basename $filename .abc` diff -r 34c7947b4542 -r ce5c7214f9aa makeGraphics.sh --- a/makeGraphics.sh Fri Oct 13 10:50:18 2017 +0100 +++ b/makeGraphics.sh Fri Oct 13 15:44:15 2017 +0100 @@ -17,7 +17,7 @@ mkdir -p $graphicsdir # Now, for each tune, make the tune graphic. -find $booke -name "*.abc" | sort | +find $booke -depth 1 -name "*.abc" | sort | while read filename do name=`basename $filename .abc` @@ -42,3 +42,24 @@ pdfcrop $graphicsdir/firstline-$name-tocrop.pdf $graphicsdir/firstline-$name.pdf rm $graphicsdir/firstline-$name-tocrop.pdf done + +# And make any compact tune graphics. +if [ ! -d ${booke}/Compact ]; then + exit +fi + +find ${booke}/Compact -depth 1 -name "*.abc" | sort | + while read filename + do + name=`basename $filename .abc` + + # Make the tune graphic. + abcm2ps -E -F singletune -O $graphicsdir/compact-${name}.eps $filename + # Make $name.eps so we can build with LaTeX. + mv $graphicsdir/compact-${name}001.eps $graphicsdir/compact-${name}.eps + # And make the corresponding PDF. + epstopdf --outfile=$graphicsdir/compact-${name}-tocrop.pdf $graphicsdir/compact-${name}.eps + # And crop it, so the graphic is as big as possible on the page. + pdfcrop $graphicsdir/compact-${name}-tocrop.pdf $graphicsdir/compact-${name}.pdf + rm $graphicsdir/compact-${name}-tocrop.pdf + done diff -r 34c7947b4542 -r ce5c7214f9aa makeHornInF.sh --- a/makeHornInF.sh Fri Oct 13 10:50:18 2017 +0100 +++ b/makeHornInF.sh Fri Oct 13 15:44:15 2017 +0100 @@ -25,7 +25,7 @@ echo "Horn in F" > $outdir/instrument.txt -find $booke -name "*.abc" | sort | +find $booke -depth 1 -name "*.abc" | sort | while read filename do name=`basename $filename .abc` diff -r 34c7947b4542 -r ce5c7214f9aa makeWeb.sh --- a/makeWeb.sh Fri Oct 13 10:50:18 2017 +0100 +++ b/makeWeb.sh Fri Oct 13 15:44:15 2017 +0100 @@ -67,7 +67,7 @@ # Now, for each tune, make the tune page. rm -f $webdir/$tunelist declare -a filenames -filenames=(`find $bookedir -name "*.abc" | sort`) +filenames=(`find $bookedir -depth 1 -name "*.abc" | sort`) nofiles=${#filenames[@]} for (( i=0; i < ${nofiles}; i++ )) do diff -r 34c7947b4542 -r ce5c7214f9aa makeWebAudio.sh --- a/makeWebAudio.sh Fri Oct 13 10:50:18 2017 +0100 +++ b/makeWebAudio.sh Fri Oct 13 15:44:15 2017 +0100 @@ -66,7 +66,7 @@ } # Generate audio files and slow speed (currently half speed) audio files. -find $booke -name "*.abc" | sort | +find $booke -depth 1 -name "*.abc" | sort | while read filename do makeaudiofiles $filename diff -r 34c7947b4542 -r ce5c7214f9aa makeWebGraphics.sh --- a/makeWebGraphics.sh Fri Oct 13 10:50:18 2017 +0100 +++ b/makeWebGraphics.sh Fri Oct 13 15:44:15 2017 +0100 @@ -20,7 +20,7 @@ # 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 -name "*.abc" | sort | +find $booke -depth 1 -name "*.abc" | sort | while read filename do name=`basename $filename .abc`