Mercurial > dottes
annotate makeHornInF.sh @ 217:a8a46fd79d5c
Fix up problems in Horn in F transposition.
1. Ensure makeWeb.sh gets its second parameter quoted, to allow for spaces in it.
2. Don't forget to copy the component text items into the horn dir.
3. Fix removing transposition tag from page title.
author | Jim Hague <jim.hague@laicatc.com> |
---|---|
date | Wed, 20 Feb 2013 13:45:58 +0000 |
parents | 64b84dea3337 |
children | 1a9d937b7765 |
rev | line source |
---|---|
216 | 1 #!/bin/bash |
2 # | |
3 # Transpose a book for Horn in F. | |
4 | |
5 if [ $# != 1 ]; then | |
6 echo "Usage: makeFHorn.sh <book dir name>" | |
7 exit 1 | |
8 fi | |
9 | |
10 dir=`pwd` | |
11 | |
12 booke=$dir/$1 | |
13 outdir=$dir/$1-HornInF | |
14 | |
15 mkdir -p $outdir | |
16 | |
217
a8a46fd79d5c
Fix up problems in Horn in F transposition.
Jim Hague <jim.hague@laicatc.com>
parents:
216
diff
changeset
|
17 # Copy book component items. |
a8a46fd79d5c
Fix up problems in Horn in F transposition.
Jim Hague <jim.hague@laicatc.com>
parents:
216
diff
changeset
|
18 cp $booke/*.txt $outdir |
a8a46fd79d5c
Fix up problems in Horn in F transposition.
Jim Hague <jim.hague@laicatc.com>
parents:
216
diff
changeset
|
19 |
216 | 20 find $booke -name "*.abc" | sort | |
21 while read filename | |
22 do | |
23 name=`basename $filename .abc` | |
24 tmpfile=$outdir/$name.abc.tmp | |
25 | |
26 # Strip out guitar chords first. This has the advantage of removing | |
27 # text with arbitary lower case characters too. | |
28 sed -e "s/\"[^\"]*\"//g" $filename > $tmpfile | |
29 | |
30 # Transpose concert pitch up a fifth. | |
31 # If there are any notes at or above C above middle C, transpose | |
32 # down a seventh instead. | |
33 transpose=5 | |
34 if grep -v "^[A-Z]:" $tmpfile | sed -e 's/"[^"]*"//g' | grep -q "[a-g]"; then | |
35 transpose=-7 | |
36 fi | |
37 | |
38 # Transpose. By default abc2abc will report errors in the output, | |
39 # but this messes up output formatting so stop it. | |
40 abc2abc $tmpfile -e -t $transpose > $outdir/$name.abc | |
41 rm $tmpfile | |
42 done |