Modify Change tune handling.

Change all change notes to reference the filename of the tune to change to.

Modify web and document generators to pull the change note out of the abc
and generate an appropiate bit of content. This is now, in both cases,
a hyperlink.

In the process, remove the tune-specific .tex facility. It wasn't being
used.

I could really do with a proper templating system, and using some sort
of templating in the LaTeX generation.
This commit is contained in:
Jim Hague 2013-02-23 13:10:58 +00:00
parent 2dfc0109f5
commit 6c091c1470
22 changed files with 111 additions and 37 deletions

View File

@ -1,7 +1,7 @@
X: 1 X: 1
T: A La Mode de France T: A La Mode de France
T: Nonesuch T: Nonesuch
N: Change: Rufty Tufty N: Change: RuftyTufty.abc
M: C M: C
L: 1/4 L: 1/4
K: Gmaj K: Gmaj

View File

@ -1,7 +1,7 @@
X: 1 X: 1
T: Bonny Kate T: Bonny Kate
M: C M: C
N: Change: Harper's Frolick N: Change: HarpersFrolick.abc
L: 1/4 L: 1/4
K: G K: G
d e f | "G" g>f g>f | "G" g d d B | "C" c/d/ e d>c |\ d e f | "G" g>f g>f | "G" g d d B | "C" c/d/ e d>c |\

View File

@ -1,6 +1,6 @@
X: 1 X: 1
T: Captain Rock's Farewell T: Captain Rock's Farewell
N: Change: Orange in Bloom N: Change: OrangeInBloom.abc
M: 3/4 M: 3/4
L: 1/4 L: 1/4
K: Gmaj K: Gmaj

View File

@ -1,7 +1,7 @@
X: 1 X: 1
T: Elizabeth Clare T: Elizabeth Clare
C: Chris Wood C: Chris Wood
N: Change: Michael Turner's Waltz N: Change: MichaelTurnersWaltz.abc
M: 3/4 M: 3/4
L: 1/8 L: 1/8
R: waltz R: waltz
@ -14,4 +14,3 @@ K: Gmaj
"C" c2 cd c2 | "G" B2 Bc B2 | "Am" A2 G2 E2 | "C" c2 cd c2 | "G" B2 Bc B2 | "Am" A2 G2 E2 |
"D" D2>D2 GA | "G" B2 Bc B2 | "D" A2 AB A2 | "C" G2 E2 GE |\ "D" D2>D2 GA | "G" B2 Bc B2 | "D" A2 AB A2 | "C" G2 E2 GE |\
"G" D2>D2 GA | "G" B2 d2 e2 | d2 c2 B2 | "D" A2 G2 F2 | "G" G3 :| "G" D2>D2 GA | "G" B2 d2 e2 | d2 c2 B2 | "D" A2 G2 F2 | "G" G3 :|

View File

@ -1,7 +1,7 @@
X: 1 X: 1
T: Exploding Potato, The T: Exploding Potato, The
C: Ed Pritchard C: Ed Pritchard
N: Change: The Extension Reel N: Change: ExtensionReel.abc
M: C M: C
L: 1/4 L: 1/4
K: Gmaj K: Gmaj

View File

@ -1,7 +1,7 @@
X:1 X:1
T:Grandfather's Tune T:Grandfather's Tune
S:Nick Barber S:Nick Barber
N:Change: The Sloe N:Change: Sloe.abc
R:Reel R:Reel
M:4/4 M:4/4
Q:160 Q:160

View File

@ -2,7 +2,7 @@ X:102
T:Harper's Frolick T:Harper's Frolick
S:Nick Barber S:Nick Barber
R:Polka R:Polka
N:Change: Three Around Three N:Change: ThreeAroundThree.abc
M:4/4 M:4/4
L:1/4 L:1/4
Q:160 Q:160

View File

@ -1,7 +1,7 @@
X:1 X:1
T:Just as the tide was flowing T:Just as the tide was flowing
S:Nick Barber S:Nick Barber
N:Change: Rochdale Coconut Dance N:Change: RochdaleCoconutDance.abc
L:1/4 L:1/4
Q:160 Q:160
M:C M:C
@ -16,4 +16,3 @@ P:B
"G" d B B/A/G/A/ | "Em" B/A/G/F/ "C" E "D" D | "G" d B B/A/G/A/ | "Em" B/A/G/F/ "C" E "D" D |
"G" G G "C" E "D" D | "G" G G "D" A G/A/ |\ "G" G G "C" E "D" D | "G" G G "D" A G/A/ |\
"G" B B "D" c/B/A/G/ | "C" E "D" F "G" G :| "G" B B "D" c/B/A/G/ | "C" E "D" F "G" G :|

View File

@ -3,7 +3,7 @@ T: King Of The Fairies
M: 4/4 M: 4/4
L: 1/8 L: 1/8
R: Hornpipe R: Hornpipe
N: Change: Lanigan's Ball N: Change: LanigansBall.abc
K: Em K: Em
B,2 |\ B,2 |\
|: "Em" (ED)uEvF (GF)vGuA | B2B2 G3 A | B2E2 (EF)GE | "D" (FG)FE D3 B,2 | |: "Em" (ED)uEvF (GF)vGuA | B2B2 G3 A | B2E2 (EF)GE | "D" (FG)FE D3 B,2 |

View File

@ -2,7 +2,7 @@ X:1
T:Laride 6 T:Laride 6
M:2/2 M:2/2
L:1/4 L:1/4
N: Change: Bear Dance N: Change: BearDance.abc
O:France O:France
A:Bretagne A:Bretagne
K:G K:G

View File

@ -1,6 +1,6 @@
X: 6 X: 6
T:Mazurka de Lapleau T:Mazurka de Lapleau
N: Change: Mazurka d'Avignon N: Change: MazurkaAvignon.abc
M:3/4 M:3/4
L:1/8 L:1/8
K:G K:G

View File

@ -2,7 +2,7 @@ X: 1
T: Plane Tree, The T: Plane Tree, The
C: Undine Hornby C: Undine Hornby
S: Nick Barber S: Nick Barber
N: Change: Herbert the Sherbert N: Change: HerbertTheSherbert.abc
M: 6/8 M: 6/8
L: 1/8 L: 1/8
R: jig R: jig

View File

@ -3,10 +3,9 @@ T: Rogues' March
M: 6/8 M: 6/8
L: 1/4 L: 1/4
K: Gmaj K: Gmaj
N: Change: Captain Lanoe's Quick March N: Change: CaptainLanoesQuickMarch.abc
"G" B B/ B/c/d/ | "C" e e<e | "D" d/d/d/ d e/ | "D" d c/ B A/ | "G" B B/ B/c/d/ | "C" e e<e | "D" d/d/d/ d e/ | "D" d c/ B A/ |
"G" B B/ B/c/d/ | "C" e e<e | "D" d/e/f/ "G" g/d/B/ | "D" A3/2 "G" G3/2 :| "G" B B/ B/c/d/ | "C" e e<e | "D" d/e/f/ "G" g/d/B/ | "D" A3/2 "G" G3/2 :|
"Em" g3/2 "D" f3/2 | "C" e3/2 "D" d3/2 |\ "Em" g3/2 "D" f3/2 | "C" e3/2 "D" d3/2 |\
"Em" g3/2 "D" f3/2 | "C" e3/2 "D" d c/ | "Em" g3/2 "D" f3/2 | "C" e3/2 "D" d c/ |
"G" B B/ B/c/d/ | "C" e e<e | "D" d/e/f/ "G" g/d/B/ | "D" A3/2 "G" G3/2 :| "G" B B/ B/c/d/ | "C" e e<e | "D" d/e/f/ "G" g/d/B/ | "D" A3/2 "G" G3/2 :|

View File

@ -1,6 +1,6 @@
X:397 X:397
T:Sheriff's Ride, The T:Sheriff's Ride, The
N: Change: Bear Dance N: Change: BearDance.abc
M:4/4 M:4/4
L:1/8 L:1/8
K:Emin K:Emin

View File

@ -1,7 +1,7 @@
X: 1 X: 1
T: Will's Way T: Will's Way
C: Trad. C: Trad.
N: Change: Three Around Three N: Change: ThreeAroundThree.abc
M: 4/4 M: 4/4
L: 1/8 L: 1/8
Q: 140 Q: 140

View File

@ -1,7 +1,7 @@
X: 1 X: 1
T: Winster Gallop, The T: Winster Gallop, The
M: C M: C
N: Change: Salmon Tails N: Change: SalmonTails.abc
L: 1/4 L: 1/4
Q: 240 Q: 240
R: polka R: polka

View File

@ -20,7 +20,12 @@
</a> </a>
<div class="grid_12 dottes-body"> <div class="grid_12 dottes-body">
<h1>@TITLE@</h1>
<img class="dottes-png" src="@TUNE@.png" alt="@TITLE@ dots"> <img class="dottes-png" src="@TUNE@.png" alt="@TITLE@ dots">
<div class="dottes-change-@CHANGEVISIBILITY@">
Change: <a class="dottes-change-link"
href="@CHANGETUNE@">@CHANGETITLE@</a>
</div>
<ul class="tune-data-list"> <ul class="tune-data-list">
<li><a class="dottes-link-tune dottes-pdf" <li><a class="dottes-link-tune dottes-pdf"
href="@TUNE@.pdf">PDF</a></li> href="@TUNE@.pdf">PDF</a></li>

View File

@ -7,6 +7,13 @@
# makeGraphics.sh to make these. # makeGraphics.sh to make these.
# #
# Restore titles like 'Exploding Potato, The' to the
# expected 'The Exploding Potato'.
fixtitle()
{
retval=`echo "$1" | sed -e "s/\(.*\), *\(.*\)/\2 \1/"`
}
if [ $# != 1 ]; then if [ $# != 1 ]; then
echo "Usage: makeBookeA4.sh <book dir name>" echo "Usage: makeBookeA4.sh <book dir name>"
exit 1 exit 1
@ -41,16 +48,25 @@ cp dottes.tex.a4header $builddir/$output
find $booke -name "*.abc" | sort | find $booke -name "*.abc" | sort |
while read filename while read filename
do do
title=`$dir/abcfield.py --field T --latex $filename`
name=`basename $filename .abc` name=`basename $filename .abc`
title=`$dir/abcfield.py --field T --latex $filename`
fixtitle "$title"
title=$retval
echo -E "\begin{center}" >> $builddir/$output echo -E "\begin{center}" >> $builddir/$output
echo -E "\phantomsection" >> $builddir/$output echo -E "\phantomsection" >> $builddir/$output
echo -E "\hypertarget{$name}{\includegraphics[width=\textwidth,keepaspectratio]{$graphicsdir/$name}}" >> $builddir/$output echo -E "\hypertarget{$name}{\includegraphics[width=\textwidth,keepaspectratio]{$graphicsdir/$name}}" >> $builddir/$output
echo -E "\addcontentsline{toc}{subsection}{$title}" >> $builddir/$output echo -E "\addcontentsline{toc}{subsection}{$title}" >> $builddir/$output
echo -E "\end{center}" >> $builddir/$output echo -E "\end{center}" >> $builddir/$output
text=$booke/$name.tex
if [ -r $text ]; then changefile=`$dir/abcfield.py --field N $filename | grep "Change:" | sed -e "s/Change: *//"`
cat $text >> $builddir/$output changetitle=""
if [ -n "$changefile" ]; then
changetitle=`$dir/abcfield.py --field T --latex $booke/$changefile`
fixtitle "$changetitle"
changetitle=$retval
changename=`basename $changefile .abc`
echo -E "Change: \hyperlink{$changename}{$changetitle}" >> $builddir/$output
fi fi
done done
@ -59,8 +75,10 @@ cat dottes.tex.firstlines >> $builddir/$output
find $booke -name "*.abc" | sort | find $booke -name "*.abc" | sort |
while read filename while read filename
do do
title=`$dir/abcfield.py --field T --latex $filename`
name=`basename $filename .abc` name=`basename $filename .abc`
title=`$dir/abcfield.py --field T --latex $filename`
fixtitle "$title"
title=$retval
echo -E "\hyperlink{$name}{$title} & \raisebox{-.25\height}{\includegraphics[width=0.6\textwidth]{$graphicsdir/firstline-$name}} \\\\" >> $builddir/$output echo -E "\hyperlink{$name}{$title} & \raisebox{-.25\height}{\includegraphics[width=0.6\textwidth]{$graphicsdir/firstline-$name}} \\\\" >> $builddir/$output
done done

View File

@ -7,6 +7,13 @@
# makeGraphics.sh to make these. # makeGraphics.sh to make these.
# #
# Restore titles like 'Exploding Potato, The' to the
# expected 'The Exploding Potato'.
fixtitle()
{
retval=`echo "$1" | sed -e "s/\(.*\), *\(.*\)/\2 \1/"`
}
if [ $# != 1 ]; then if [ $# != 1 ]; then
echo "Usage: makeBookeA5.sh <book dir name>" echo "Usage: makeBookeA5.sh <book dir name>"
exit 1 exit 1
@ -43,17 +50,26 @@ cp dottes.tex.a5header $builddir/$output
find $booke -name "*.abc" | sort | find $booke -name "*.abc" | sort |
while read filename while read filename
do do
title=`$dir/abcfield.py --field T --latex $filename`
name=`basename $filename .abc` name=`basename $filename .abc`
title=`$dir/abcfield.py --field T --latex $filename`
fixtitle "$title"
title=$retval
echo -E "\newpage" >> $builddir/$output echo -E "\newpage" >> $builddir/$output
echo -E "\begin{center}" >> $builddir/$output echo -E "\begin{center}" >> $builddir/$output
echo -E "\phantomsection" >> $builddir/$output echo -E "\phantomsection" >> $builddir/$output
echo -E "\hypertarget{$name}{\includegraphics[width=\textwidth,height=0.9\textheight,keepaspectratio]{$graphicsdir/$name}}" >> $builddir/$output echo -E "\hypertarget{$name}{\includegraphics[width=\textwidth,height=0.85\textheight,keepaspectratio]{$graphicsdir/$name}}" >> $builddir/$output
echo -E "\addcontentsline{toc}{subsection}{$title}" >> $builddir/$output echo -E "\addcontentsline{toc}{subsection}{$title}" >> $builddir/$output
echo -E "\end{center}" >> $builddir/$output echo -E "\end{center}" >> $builddir/$output
text=$booke/$name.tex
if [ -r $text ]; then changefile=`$dir/abcfield.py --field N $filename | grep "Change:" | sed -e "s/Change: *//"`
cat $text >> $builddir/$output changetitle=""
if [ -n "$changefile" ]; then
changetitle=`$dir/abcfield.py --field T --latex $booke/$changefile`
fixtitle "$changetitle"
changetitle=$retval
changename=`basename $changefile .abc`
echo -E "Change: \hyperlink{$changename}{$changetitle}" >> $builddir/$output
fi fi
done done
@ -62,8 +78,10 @@ cat dottes.tex.firstlines >> $builddir/$output
find $booke -name "*.abc" | sort | find $booke -name "*.abc" | sort |
while read filename while read filename
do do
title=`$dir/abcfield.py --field T --latex $filename`
name=`basename $filename .abc` name=`basename $filename .abc`
title=`$dir/abcfield.py --field T --latex $filename`
fixtitle "$title"
title=$retval
echo -E "\hyperlink{$name}{$title} & \raisebox{-.25\height}{\includegraphics[width=0.6\textwidth]{$graphicsdir/firstline-$name}} \\\\" >> $builddir/$output echo -E "\hyperlink{$name}{$title} & \raisebox{-.25\height}{\includegraphics[width=0.6\textwidth]{$graphicsdir/firstline-$name}} \\\\" >> $builddir/$output
done done

View File

@ -4,6 +4,15 @@
# to be already built. # to be already built.
# #
#set -x
# Restore titles like 'Exploding Potato, The' to the
# expected 'The Exploding Potato'.
fixtitle()
{
retval=`echo "$1" | sed -e "s/\(.*\), *\(.*\)/\2 \1/"`
}
if [ $# -lt 2 -o $# -gt 3 ]; then if [ $# -lt 2 -o $# -gt 3 ]; then
echo "Usage: makeWeb.sh <book dir name> <master book dir name> [<instrument name>]" echo "Usage: makeWeb.sh <book dir name> <master book dir name> [<instrument name>]"
exit 1 exit 1
@ -31,7 +40,6 @@ if [ -r $bookedir/intro.txt ]; then
fi fi
if [ -n "$instrument" ]; then if [ -n "$instrument" ]; then
# Remove any transposition tag from title.
title="${title} ($instrument)" title="${title} ($instrument)"
subtitle="${subtitle} ($instrument)" subtitle="${subtitle} ($instrument)"
fi fi
@ -50,12 +58,21 @@ cp $1-*.pdf $webdir
find $bookedir -name "*.abc" | sort | find $bookedir -name "*.abc" | sort |
while read filename while read filename
do do
title=`$dir/abcfield.py --field T --html $filename`
name=`basename $filename .abc` name=`basename $filename .abc`
# Restore titles like 'Exploding Potato, The' to the title=`$dir/abcfield.py --field T --html $filename`
# expected 'The Exploding Potato'. fixtitle "$title"
title=`echo $title | sed -e "s/\(.*\), *\(.*\)/\2 \1/"` title=$retval
changefile=`$dir/abcfield.py --field N $filename | grep "Change:" | sed -e "s/Change: *//"`
changetitle=""
changevisibility="no"
if [ -n "$changefile" ]; then
changetitle=`$dir/abcfield.py --field T --html $bookedir/$changefile`
changevisibility="yes"
fixtitle "$changetitle"
changetitle=$retval
fi
# Copy tune PDF from common graphics. # Copy tune PDF from common graphics.
cp $graphicsdir/${name}.pdf $webdir cp $graphicsdir/${name}.pdf $webdir
@ -70,6 +87,9 @@ find $bookedir -name "*.abc" | sort |
# initial '&' in the title - it means things to sed. # initial '&' in the title - it means things to sed.
sed -e "s/@TITLE@/${title//&/\&}/" \ sed -e "s/@TITLE@/${title//&/\&}/" \
-e "s/@MASTERBOOKE@/${masterbooke}/" \ -e "s/@MASTERBOOKE@/${masterbooke}/" \
-e "s/@CHANGETITLE@/${changetitle//&/\&}/" \
-e "s/@CHANGETUNE@/${changefile/.abc/.html}/" \
-e "s/@CHANGEVISIBILITY@/${changevisibility}/" \
-e "s/@TUNE@/${name}/" dottes.html.tune > $webdir/$tunepage -e "s/@TUNE@/${name}/" dottes.html.tune > $webdir/$tunepage
sed -e "s/@TITLE@/${title//&/\&}/" \ sed -e "s/@TITLE@/${title//&/\&}/" \

View File

@ -8,13 +8,14 @@ scale 0.9
titleformat T0 C1 titleformat T0 C1
titlespace 0 titlespace 0
topspace 0 topspace 0
% I only want to include Notes in the tune graphics. To turn off the % I don't want any info fields in the graphics. To turn off the
% other fields, give a blank infoname for that letter. % fields, give a blank infoname for that letter.
infoname S infoname S
infoname R infoname R
infoname B infoname B
infoname D infoname D
infoname Z infoname Z
infoname H infoname H
infoname N
infoline true infoline true
writehistory true writehistory true

View File

@ -180,3 +180,18 @@ div.dottes-tune-list-item-image
display: table-cell; display: table-cell;
vertical-align: middle; vertical-align: middle;
} }
div.dottes-change-no
{
display: none;
}
div.dottes-change-yes
{
display: block;
margin: 10px;
}
div.dottes-change-link
{
}