Compare commits

...

16 Commits
main ... main

Author SHA1 Message Date
Jim Hague 496ce6f1e6 Update website and dottes URLs to https. 2024-11-06 21:50:54 +00:00
Jim Hague 3aad984f4b Don't know if this still qualifies as something Susie worked on 'recently'. 2024-11-06 21:50:12 +00:00
Jim Hague 8bf0178deb Add link to Bumper Nook PDF. 2024-04-22 14:01:45 +01:00
Jim Hague 70bae8540b Add Louis to thanks on web. 2024-04-22 14:01:07 +01:00
Jim Hague 3b2cc4c2e0 A long overdue copyright date range update. 2024-04-12 22:32:34 +01:00
Jim Hague 0fd030fde6 Clear old LaTeX intermediate files before building a booke.
Old ones can cause the build to error.
2024-04-12 17:35:05 +01:00
Jim Hague 5e593c20d2 Update tech info, credits. 2024-04-12 16:19:45 +01:00
Jim Hague 67004ab651 Hopefulyl make Inisheer a closer version to Havoc standard
There's a few variantions on this tune, and the previous one is one
of those versions. But after an encounter with a different version
at the Slow Session, I think this (which isn't quite the Slow
Session version) is nearer to Havoc practice.
2024-04-12 12:24:02 +01:00
Jim Hague 379504a3a5 Turn up the audio volume further. 2024-01-07 10:47:38 +00:00
Jim Hague 516b73c160 Turn amplification to 100% for vol and drum power. 2024-01-06 23:12:10 +00:00
Jim Hague bb936f3705 Change web graphics tune format to SVG. 2023-03-05 12:21:14 +00:00
Jim Hague 861aa86a28 Update tune format files for abcm2ps v8+.
Also add stretching the last line to fill the width. Improves the
display of first lines with tunes with short first lines.
2023-03-03 17:04:16 +00:00
Jim Hague 9a8bc8c55d The first line only ends at the first line that does not continue. 2023-03-03 11:12:00 +00:00
Jim Hague 0dcd0e9e46 Ignore python cache. 2023-02-28 17:37:57 +00:00
Jim Hague 0caa7a5f8f Correct right margin settings, and remove need for pdfcrop.
Also stop keeping EPS files around. We're only using PDF.
2023-02-28 17:36:06 +00:00
Jim Hague 7baeb0a15c Don't build NoCover books.
They were for use with Lulu, but have never been in general use or
linked in the website.
2023-02-28 17:34:59 +00:00
18 changed files with 68 additions and 91 deletions

1
.gitignore vendored
View File

@ -13,3 +13,4 @@ Library-.*
*.log *.log
*.orig *.orig
*~ *~
__pycache__

View File

@ -6,8 +6,8 @@ M: 3/4
L: 1/8 L: 1/8
K: Gmaj K: Gmaj
DGA |\ DGA |\
"G" B3A B<d | "Em" B3A B<d | "C" E3B AB | "D" D3B A<G | "G" B3A Bd | "Em" B3A Bd | "C" E3B AB | "D" D3B AG |
"G" B3A B<d | "Em" B3A B<d | "C" G3B "D" A/G/F | "G" G3 :| "G" B3A Bd | "Em" B3A Bd | "C" G3B "D" (3AGF | "G" G3 :|
ABd |\ ABd |\
"C" e3f e<d | "G" B3A Bd | "C" ef ed B/c/d | "C" e3f ed | "G" B3A Bd | "C" gf ed (3Bcd |
"C" e4 Bd | "Am" e3f e<d | "G" B3A B<d | "G" D3B "D" A/G/F| "G" G3 :| "C" e4 Bd | "Am" e3f ed | "G" B3A Bd | "G" D3B "D" (3AGF| "G" G3 :|

View File

@ -1,7 +1,7 @@
X: 1 X: 1
T: Jessie's Hornpipe T: Jessie's Hornpipe
C: attrib. to Aird's Collection 1794 C: attrib. to Aird's Collection 1794
H: Dottes: A little tune Susie's been working on recently. H: Dottes: A little tune Susie's been working on.
R: Hornpipe R: Hornpipe
M: 4/4 M: 4/4
L: 1/8 L: 1/8

View File

@ -4,6 +4,8 @@
# to print the first line of the music only. # to print the first line of the music only.
# #
import argparse
import pathlib
import sys import sys
def process(inf): def process(inf):
@ -21,21 +23,20 @@ def process(inf):
if len(start) > 1 and start[1] == ":" and (start[0].isalpha() or start[0] == '+'): if len(start) > 1 and start[1] == ":" and (start[0].isalpha() or start[0] == '+'):
if start[0] in ["M", "K", "L"]: if start[0] in ["M", "K", "L"]:
print(line) print(line)
# Output line. If it is a continuation, output at most one # Output line. If the line ends with a continuation, carry
# continuation. # on outputting lines, otherwise stop.
else: else:
print(line) print(line)
if continued or line[-1] != "\\": if line[-1] != "\\":
break break
else:
continued = True
if len(sys.argv) > 1: if __name__ == "__main__":
for arg in sys.argv[1:]: parser = argparse.ArgumentParser(description="Write minimal version of ABC input file with just the first line of music.")
try: parser.add_argument('input', type=argparse.FileType('r'),
inf = open(arg, "r") help='input ABC file')
process(inf) args = parser.parse_args()
finally:
inf.close() path = pathlib.Path(args.input.name)
else: with path.open() as f:
process(sys.stdin) process(f)
sys.exit(0)

View File

@ -61,7 +61,9 @@
Booke contains all the Session tunes and all the Morris tunes in Booke contains all the Session tunes and all the Morris tunes in
a single book. There is an a single book. There is an
<a href="../Bumper-A5@INSTRUMENT@.pdf">A5 landscape book</a> with one <a href="../Bumper-A5@INSTRUMENT@.pdf">A5 landscape book</a> with one
tune per page, an <a href="../Bumper-A4@INSTRUMENT@.pdf">A4 book</a> tune per page,
a <a href=@../Bumper-Nook@INSTRUMENT@.pdf>4x5in portrait book</a>,
an <a href="../Bumper-A4@INSTRUMENT@.pdf">A4 book</a>
with two or more tunes per page, and an with two or more tunes per page, and an
<a href="../Bumper-A5bookletA4@INSTRUMENT@.pdf">A5 booklet</a> <a href="../Bumper-A5bookletA4@INSTRUMENT@.pdf">A5 booklet</a>
for printing on A4 paper and folding in half. for printing on A4 paper and folding in half.

View File

@ -38,7 +38,7 @@
</div> </div>
</div> </div>
</div> </div>
<img class="dottes-png" src="${name}.png" alt="${title} dots"> <img class="dottes-svg" src="${name}.svg" alt="${title} dots">
<div class="dottes-notes-${notesvisibility}"> <div class="dottes-notes-${notesvisibility}">
${notes} ${notes}
</div> </div>

View File

@ -9,7 +9,7 @@
</div> </div>
<div class="dottes-tune-list-item-image"> <div class="dottes-tune-list-item-image">
<a href="../${tunedir}/index.html"> <a href="../${tunedir}/index.html">
<img class="dottes-tune-table-image" src="../${tunedir}/firstline-${name}.png" <img class="dottes-tune-table-image" src="../${tunedir}/firstline-${name}.svg"
alt="${fulltitle} first line" title="${fulltitle} first line"> alt="${fulltitle} first line" title="${fulltitle} first line">
</a> </a>
</div> </div>

View File

@ -170,7 +170,7 @@
\textbf{Ye Crie Havoc Booke of Dottes} \textbf{Ye Crie Havoc Booke of Dottes}
Tune collection and presentation is copyright \copyright{} Jim Hague 2013-2020 Tune collection and presentation is copyright \copyright{} Jim Hague 2013-2024
and is licensed under a Creative Commons and is licensed under a Creative Commons
Attribution-NonCommercial-ShareAlike 2.0 UK: England \& Wales License. Attribution-NonCommercial-ShareAlike 2.0 UK: England \& Wales License.
Details at \url{http://creativecommons.org/licenses/by-nc-sa/2.0/uk/}. Details at \url{http://creativecommons.org/licenses/by-nc-sa/2.0/uk/}.
@ -183,7 +183,7 @@ asserted by him in accordance with the Copyright, Designs and Patents Act 1998.
First published in the UK 2013 by Jim Hague.\\ First published in the UK 2013 by Jim Hague.\\
Second printed edition 2019. Second printed edition 2019.
Third printed edition 2022. Third printed edition 2024.
The Booke of Dottes is a constant work in progress. The latest version The Booke of Dottes is a constant work in progress. The latest version
is always available from \url{http://dottes.cryhavoc.org.uk/}. is always available from \url{http://dottes.cryhavoc.org.uk/}.
@ -191,9 +191,9 @@ This is issue \build, generated \today.
\textbf{Technical data} \textbf{Technical data}
Book sources can be found at in a Mercurial Book sources can be found at in a Git
(\url{https://www.mercurial-scm.org/}) repository at (\url{https://git-scm.com/}) repository at
\url{http://hg.cryhavoc.org.uk/dottes/}. Tunes are \url{https://git.lunch.org.uk/CryHavoc/dottes/}. Tunes are
in Chris Walshaw's abc notation (\url{http://abcnotation.com/}). in Chris Walshaw's abc notation (\url{http://abcnotation.com/}).
Music typeset by Jef Moine's abcm2ps (\url{http://moinejf.free.fr/}). Music typeset by Jef Moine's abcm2ps (\url{http://moinejf.free.fr/}).
@ -249,7 +249,7 @@ If this is not the case, please contact me at
\href{mailto:dottes@cryhavoc.org.uk}{\url{dottes@cryhavoc.org.uk}} and I will \href{mailto:dottes@cryhavoc.org.uk}{\url{dottes@cryhavoc.org.uk}} and I will
remove the offending tune. remove the offending tune.
This book has an accompanying website, {\url{http://dottes.cryhavoc.org.uk}}. This book has an accompanying website, {\url{https://dottes.cryhavoc.org.uk}}.
It's updated from time to time with the latest tunes we're playing. It's updated from time to time with the latest tunes we're playing.
As well as the written music (the dots), you can listen to the computer play As well as the written music (the dots), you can listen to the computer play
each tune and its chords, or download the audio or the dots. each tune and its chords, or download the audio or the dots.
@ -259,7 +259,7 @@ four different speeds. You can also download the latest version of
the various print books, formatted for A4 or A5 size paper, to print at home. the various print books, formatted for A4 or A5 size paper, to print at home.
Finally, many, many thanks to all who have helped me with this project, Finally, many, many thanks to all who have helped me with this project,
in particular fellow Havocs KateK, Nerys, MickP, Susie and Ed. And most in particular fellow Havocs KateK, Nerys, MickP, LouisT, Susie and Ed. And most
especially to Jane, without whose enthusiasm, support and encouragement especially to Jane, without whose enthusiasm, support and encouragement
this would never have been possible. this would never have been possible.
@ -270,7 +270,7 @@ We practice between September and April on Thursday evenings at the
Botley Womens' Institute Hall, North Hinksey Lane, Botley, Oxford OX2 0LT and Botley Womens' Institute Hall, North Hinksey Lane, Botley, Oxford OX2 0LT and
dance out in the summer months at locations around Oxfordshire. dance out in the summer months at locations around Oxfordshire.
Find out more at \url{http://www.cryhavoc.org.uk/}, or email Find out more at \url{https://www.cryhavoc.org.uk/}, or email
\href{mailto:bag@cryhavoc.org.uk}{\url{bag@cryhavoc.org.uk}} for more \href{mailto:bag@cryhavoc.org.uk}{\url{bag@cryhavoc.org.uk}} for more
information. Would-be dancers or musicians always welcome. information. Would-be dancers or musicians always welcome.

View File

@ -1,15 +1,12 @@
% Format for a graphic with a single tune % Format for a graphic with a single tune
continueall false continueall false
measurenb false measurenb false
writefields SRBDZHN 0 stretchlast 1.0
titleformat Y0 writefields ABCDFGHILMmNOPRrSsTWwXZ 0
titlespace 0 titlespace 0
topspace 0 topspace 0
infoline false
writehistory false
musiconly true
scale 0.9 scale 0.9
botmargin 0pt botmargin 0pt
leftmargin 0pt leftmargin 0pt
rightmarin 0pt rightmargin 0pt
topmargin 0pt topmargin 0pt

View File

@ -20,14 +20,14 @@ makeBookePrint()
# Normal graphics printed output. # Normal graphics printed output.
./makeBookeTunePages.sh "$1" ./makeBookeTunePages.sh "$1"
./makeBooke.sh A4 "$1" ./makeBooke.sh A4 "$1"
./makeBooke.sh A4NoCover "$1" # ./makeBooke.sh A4NoCover "$1"
./makeBooke.sh Nook "$1" ./makeBooke.sh Nook "$1"
# Compact graphics printed output. # Compact graphics printed output.
./makeBookeTunePages.sh --use-compact "$1" ./makeBookeTunePages.sh --use-compact "$1"
./makeBooke.sh A5 "$1" ./makeBooke.sh A5 "$1"
./makeBooklet.sh "$1" ./makeBooklet.sh "$1"
./makeBooke.sh A5NoCover "$1" # ./makeBooke.sh A5NoCover "$1"
} }
# Make a single booke. # Make a single booke.
@ -79,7 +79,7 @@ makeABumperBooke()
./makeBookeTunePages.sh "${booke}" ./makeBookeTunePages.sh "${booke}"
done done
./makeBooke.sh A4 "$@" ./makeBooke.sh A4 "$@"
./makeBooke.sh A4NoCover "$@" # ./makeBooke.sh A4NoCover "$@"
./makeBooke.sh Nook "$@" ./makeBooke.sh Nook "$@"
for booke in "$@" for booke in "$@"
do do
@ -87,7 +87,7 @@ makeABumperBooke()
done done
./makeBooke.sh A5 "$@" ./makeBooke.sh A5 "$@"
./makeBooklet.sh "Bumper" ./makeBooklet.sh "Bumper"
./makeBooke.sh A5NoCover "$@" # ./makeBooke.sh A5NoCover "$@"
} }
makeBumperBookes() makeBumperBookes()

View File

@ -29,6 +29,10 @@ shift
mkdir -p $builddir mkdir -p $builddir
# Clear any XeLaTeX intermediate/generated files in case old ones
# interfere with the build. This has been known to happen.
rm $builddir/dottes.*
if [ $# -eq 1 ]; then if [ $# -eq 1 ]; then
bookename=$1 bookename=$1
for item in title subtitle instrument for item in title subtitle instrument

View File

@ -22,25 +22,16 @@ find $booke -maxdepth 1 -name "*.abc" |
do do
name=`basename $filename .abc` name=`basename $filename .abc`
# Make the tune graphic. # Make the tune graphic PDF.
abcm2ps -E -F singletune -O $graphicsdir/$name.eps $filename abcm2ps -E -F singletune -O $graphicsdir/$name.eps $filename
# Make $name.eps so we can build with LaTeX. epstopdf --outfile=$graphicsdir/$name.pdf $graphicsdir/${name}001.eps
mv $graphicsdir/${name}001.eps $graphicsdir/${name}.eps rm $graphicsdir/${name}001.eps
# And make the corresponding PDF.
epstopdf --outfile=$graphicsdir/$name-tocrop.pdf $graphicsdir/${name}.eps
# And crop it, so the graphic is as big as possible on the page.
pdfcrop $graphicsdir/$name-tocrop.pdf $graphicsdir/$name.pdf
rm $graphicsdir/$name-tocrop.pdf
# and make the first line graphic. # and make the first line graphic.
$dir/abcfirstline.py $filename > firstline.abc $dir/abcfirstline.py $filename > firstline.abc
abcm2ps -E -F firstline -O $graphicsdir/firstline-$name.eps firstline.abc abcm2ps -E -F firstline -O $graphicsdir/firstline-$name.eps firstline.abc
mv $graphicsdir/firstline-${name}001.eps $graphicsdir/firstline-${name}.eps epstopdf --outfile=$graphicsdir/firstline-$name.pdf $graphicsdir/firstline-${name}001.eps
rm firstline.abc rm firstline.abc $graphicsdir/firstline-${name}001.eps
epstopdf --outfile=$graphicsdir/firstline-$name-tocrop.pdf $graphicsdir/firstline-${name}.eps
# And crop it, so the graphic is as big as possible on the page.
pdfcrop $graphicsdir/firstline-$name-tocrop.pdf $graphicsdir/firstline-$name.pdf
rm $graphicsdir/firstline-$name-tocrop.pdf
done done
# And make any compact tune graphics. # And make any compact tune graphics.
@ -53,13 +44,8 @@ find ${booke}/Compact -maxdepth 1 -name "*.abc" |
do do
name=`basename $filename .abc` name=`basename $filename .abc`
# Make the tune graphic. # Make the tune graphic PDF.
abcm2ps -E -F singletune -O $graphicsdir/compact-${name}.eps $filename abcm2ps -E -F singletune -O $graphicsdir/compact-${name}.eps $filename
# Make $name.eps so we can build with LaTeX. epstopdf --outfile=$graphicsdir/compact-${name}.pdf $graphicsdir/compact-${name}001.eps
mv $graphicsdir/compact-${name}001.eps $graphicsdir/compact-${name}.eps rm $graphicsdir/compact-${name}001.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 done

View File

@ -26,7 +26,7 @@ makeaudiofiles()
abc2midi $1 -o $tunedir/${name}.tmp.mid -silent abc2midi $1 -o $tunedir/${name}.tmp.mid -silent
mv $tunedir/${name}.tmp.mid $tunedir/${name}.mid mv $tunedir/${name}.tmp.mid $tunedir/${name}.mid
timidity --quiet -OwM $3 -o $tunedir/${name}.wav $tunedir/${name}.mid timidity --quiet -A600,600 -OwM $3 -o $tunedir/${name}.wav $tunedir/${name}.mid
lame -m m -V 9 --silent $tunedir/${name}.wav $tunedir/${name}.tmp.mp3 lame -m m -V 9 --silent $tunedir/${name}.wav $tunedir/${name}.tmp.mp3
mv $tunedir/${name}.tmp.mp3 $tunedir/${name}.mp3 mv $tunedir/${name}.tmp.mp3 $tunedir/${name}.mp3
# Timidity can generate OGG directly. But we need to generate WAV # Timidity can generate OGG directly. But we need to generate WAV

View File

@ -32,12 +32,12 @@ find $booke -maxdepth 1 -name "*.abc" |
mkdir -p $tunedir mkdir -p $tunedir
tmpname=${name}.tmp abcm2ps -g -F singletune -O $tunedir/$name.svg $filename
convert -colors 256 -quality 90 -density 200 $graphicsdir/${name}.pdf $tunedir/${tmpname}.png mv $tunedir/${name}001.svg $tunedir/$name.svg
convert -colors 256 -quality 90 -density 200 $graphicsdir/firstline-${name}.pdf $tunedir/firstline-${tmpname}.png $dir/abcfirstline.py $filename > firstline.abc
abcm2ps -g -F firstline -O $tunedir/firstline-$name.svg firstline.abc
mv $tunedir/${tmpname}.png $tunedir/${name}.png mv $tunedir/firstline-${name}001.svg $tunedir/firstline-$name.svg
mv $tunedir/firstline-${tmpname}.png $tunedir/firstline-${name}.png rm -f firstline.abc
# Make the web downloadable PDF with the tune title. # Make the web downloadable PDF with the tune title.
abcm2ps -E -F singletuneweb -O $tunedir/$name.eps $filename abcm2ps -E -F singletuneweb -O $tunedir/$name.eps $filename

View File

@ -1,19 +1,12 @@
% Format for a graphic with a single tune % Format for a graphic with a single tune
partsbox true partsbox true
measurenb false measurenb false
stretchlast 1.0
writefields ABCDFGHIKLMmNORrSsTXZ 0
botmargin 0 botmargin 0
leftmargin 0 leftmargin 0
rightmarin 0 rightmargin 0
topmargin 0 topmargin 0
titleformat Y0 titleformat Y0
titlespace 0 titlespace 0
topspace 0 topspace 0
% I don't want any info fields in the graphics. To turn off the
% fields, give a blank infoname for that letter.
infoname S
infoname R
infoname B
infoname D
infoname Z
infoname H
infoname N

View File

@ -1,14 +1,7 @@
% Format for a downloadable PDF with a single tune with tune title % Format for a downloadable PDF with a single tune with tune title
partsbox true partsbox true
measurenb false measurenb false
stretchlast 1.0
scale 0.9 scale 0.9
titleformat P-1 T0 C1 titleformat P-1 T0 C1
% I don't want any info fields in the graphics. To turn off the writefields ABDFGHILMmNORrSsWwXZ 0
% fields, give a blank infoname for that letter.
infoname S
infoname R
infoname B
infoname D
infoname Z
infoname H
infoname N

View File

@ -383,7 +383,7 @@ ul.tune-type-list li
display: inline-block; display: inline-block;
} }
img.dottes-png img.dottes-svg
{ {
display: block; display: block;
width: 100%; /* Make image fill width */ width: 100%; /* Make image fill width */

View File

@ -177,8 +177,8 @@
of <a href="www.creativefreedom.co.uk">Creative Freedom</a>. of <a href="www.creativefreedom.co.uk">Creative Freedom</a>.
Thanks to them.</p> Thanks to them.</p>
<p>Above all, profuse and grateful thanks to all my fellow <p>Above all, profuse and grateful thanks to all my fellow
Havocs, notably MickP, Nerys, KateK, Susie and Ed, and most especially Havocs, notably MickP, Nerys, KateK, LouisT, Susie and Ed,
to Jane. They have supplied the tunes, and most especially to Jane. They have supplied the tunes,
checked the renditions, and offered corrections and suggestions. checked the renditions, and offered corrections and suggestions.
Without them, this project couldn't have happened.</p> Without them, this project couldn't have happened.</p>
</div> </div>