forked from CryHavoc/dottes
Compare commits
16 Commits
Author | SHA1 | Date |
---|---|---|
Jim Hague | 496ce6f1e6 | |
Jim Hague | 3aad984f4b | |
Jim Hague | 8bf0178deb | |
Jim Hague | 70bae8540b | |
Jim Hague | 3b2cc4c2e0 | |
Jim Hague | 0fd030fde6 | |
Jim Hague | 5e593c20d2 | |
Jim Hague | 67004ab651 | |
Jim Hague | 379504a3a5 | |
Jim Hague | 516b73c160 | |
Jim Hague | bb936f3705 | |
Jim Hague | 861aa86a28 | |
Jim Hague | 9a8bc8c55d | |
Jim Hague | 0dcd0e9e46 | |
Jim Hague | 0caa7a5f8f | |
Jim Hague | 7baeb0a15c |
|
@ -13,3 +13,4 @@ Library-.*
|
|||
*.log
|
||||
*.orig
|
||||
*~
|
||||
__pycache__
|
||||
|
|
|
@ -6,8 +6,8 @@ M: 3/4
|
|||
L: 1/8
|
||||
K: Gmaj
|
||||
DGA |\
|
||||
"G" B3A B<d | "Em" B3A B<d | "C" E3B AB | "D" D3B A<G |
|
||||
"G" B3A B<d | "Em" B3A B<d | "C" G3B "D" A/G/F | "G" G3 :|
|
||||
"G" B3A Bd | "Em" B3A Bd | "C" E3B AB | "D" D3B AG |
|
||||
"G" B3A Bd | "Em" B3A Bd | "C" G3B "D" (3AGF | "G" G3 :|
|
||||
ABd |\
|
||||
"C" e3f e<d | "G" B3A Bd | "C" ef ed B/c/d |
|
||||
"C" e4 Bd | "Am" e3f e<d | "G" B3A B<d | "G" D3B "D" A/G/F| "G" G3 :|
|
||||
"C" e3f ed | "G" B3A Bd | "C" gf ed (3Bcd |
|
||||
"C" e4 Bd | "Am" e3f ed | "G" B3A Bd | "G" D3B "D" (3AGF| "G" G3 :|
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
X: 1
|
||||
T: Jessie's Hornpipe
|
||||
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
|
||||
M: 4/4
|
||||
L: 1/8
|
||||
|
|
|
@ -4,6 +4,8 @@
|
|||
# to print the first line of the music only.
|
||||
#
|
||||
|
||||
import argparse
|
||||
import pathlib
|
||||
import sys
|
||||
|
||||
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 start[0] in ["M", "K", "L"]:
|
||||
print(line)
|
||||
# Output line. If it is a continuation, output at most one
|
||||
# continuation.
|
||||
# Output line. If the line ends with a continuation, carry
|
||||
# on outputting lines, otherwise stop.
|
||||
else:
|
||||
print(line)
|
||||
if continued or line[-1] != "\\":
|
||||
if line[-1] != "\\":
|
||||
break
|
||||
else:
|
||||
continued = True
|
||||
|
||||
if len(sys.argv) > 1:
|
||||
for arg in sys.argv[1:]:
|
||||
try:
|
||||
inf = open(arg, "r")
|
||||
process(inf)
|
||||
finally:
|
||||
inf.close()
|
||||
else:
|
||||
process(sys.stdin)
|
||||
if __name__ == "__main__":
|
||||
parser = argparse.ArgumentParser(description="Write minimal version of ABC input file with just the first line of music.")
|
||||
parser.add_argument('input', type=argparse.FileType('r'),
|
||||
help='input ABC file')
|
||||
args = parser.parse_args()
|
||||
|
||||
path = pathlib.Path(args.input.name)
|
||||
with path.open() as f:
|
||||
process(f)
|
||||
sys.exit(0)
|
||||
|
|
|
@ -61,7 +61,9 @@
|
|||
Booke contains all the Session tunes and all the Morris tunes in
|
||||
a single book. There is an
|
||||
<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
|
||||
<a href="../Bumper-A5bookletA4@INSTRUMENT@.pdf">A5 booklet</a>
|
||||
for printing on A4 paper and folding in half.
|
||||
|
|
|
@ -38,7 +38,7 @@
|
|||
</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}">
|
||||
${notes}
|
||||
</div>
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
</div>
|
||||
<div class="dottes-tune-list-item-image">
|
||||
<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">
|
||||
</a>
|
||||
</div>
|
||||
|
|
16
dottes.tex
16
dottes.tex
|
@ -170,7 +170,7 @@
|
|||
|
||||
\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
|
||||
Attribution-NonCommercial-ShareAlike 2.0 UK: England \& Wales License.
|
||||
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.\\
|
||||
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
|
||||
is always available from \url{http://dottes.cryhavoc.org.uk/}.
|
||||
|
@ -191,9 +191,9 @@ This is issue \build, generated \today.
|
|||
|
||||
\textbf{Technical data}
|
||||
|
||||
Book sources can be found at in a Mercurial
|
||||
(\url{https://www.mercurial-scm.org/}) repository at
|
||||
\url{http://hg.cryhavoc.org.uk/dottes/}. Tunes are
|
||||
Book sources can be found at in a Git
|
||||
(\url{https://git-scm.com/}) repository at
|
||||
\url{https://git.lunch.org.uk/CryHavoc/dottes/}. Tunes are
|
||||
in Chris Walshaw's abc notation (\url{http://abcnotation.com/}).
|
||||
|
||||
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
|
||||
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.
|
||||
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.
|
||||
|
@ -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.
|
||||
|
||||
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
|
||||
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
|
||||
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
|
||||
information. Would-be dancers or musicians always welcome.
|
||||
|
||||
|
|
|
@ -1,15 +1,12 @@
|
|||
% Format for a graphic with a single tune
|
||||
continueall false
|
||||
measurenb false
|
||||
writefields SRBDZHN 0
|
||||
titleformat Y0
|
||||
stretchlast 1.0
|
||||
writefields ABCDFGHILMmNOPRrSsTWwXZ 0
|
||||
titlespace 0
|
||||
topspace 0
|
||||
infoline false
|
||||
writehistory false
|
||||
musiconly true
|
||||
scale 0.9
|
||||
botmargin 0pt
|
||||
leftmargin 0pt
|
||||
rightmarin 0pt
|
||||
rightmargin 0pt
|
||||
topmargin 0pt
|
||||
|
|
|
@ -20,14 +20,14 @@ makeBookePrint()
|
|||
# Normal graphics printed output.
|
||||
./makeBookeTunePages.sh "$1"
|
||||
./makeBooke.sh A4 "$1"
|
||||
./makeBooke.sh A4NoCover "$1"
|
||||
# ./makeBooke.sh A4NoCover "$1"
|
||||
./makeBooke.sh Nook "$1"
|
||||
|
||||
# Compact graphics printed output.
|
||||
./makeBookeTunePages.sh --use-compact "$1"
|
||||
./makeBooke.sh A5 "$1"
|
||||
./makeBooklet.sh "$1"
|
||||
./makeBooke.sh A5NoCover "$1"
|
||||
# ./makeBooke.sh A5NoCover "$1"
|
||||
}
|
||||
|
||||
# Make a single booke.
|
||||
|
@ -79,7 +79,7 @@ makeABumperBooke()
|
|||
./makeBookeTunePages.sh "${booke}"
|
||||
done
|
||||
./makeBooke.sh A4 "$@"
|
||||
./makeBooke.sh A4NoCover "$@"
|
||||
# ./makeBooke.sh A4NoCover "$@"
|
||||
./makeBooke.sh Nook "$@"
|
||||
for booke in "$@"
|
||||
do
|
||||
|
@ -87,7 +87,7 @@ makeABumperBooke()
|
|||
done
|
||||
./makeBooke.sh A5 "$@"
|
||||
./makeBooklet.sh "Bumper"
|
||||
./makeBooke.sh A5NoCover "$@"
|
||||
# ./makeBooke.sh A5NoCover "$@"
|
||||
}
|
||||
|
||||
makeBumperBookes()
|
||||
|
|
|
@ -29,6 +29,10 @@ shift
|
|||
|
||||
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
|
||||
bookename=$1
|
||||
for item in title subtitle instrument
|
||||
|
|
|
@ -22,25 +22,16 @@ find $booke -maxdepth 1 -name "*.abc" |
|
|||
do
|
||||
name=`basename $filename .abc`
|
||||
|
||||
# Make the tune graphic.
|
||||
# Make the tune graphic PDF.
|
||||
abcm2ps -E -F singletune -O $graphicsdir/$name.eps $filename
|
||||
# Make $name.eps so we can build with LaTeX.
|
||||
mv $graphicsdir/${name}001.eps $graphicsdir/${name}.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
|
||||
epstopdf --outfile=$graphicsdir/$name.pdf $graphicsdir/${name}001.eps
|
||||
rm $graphicsdir/${name}001.eps
|
||||
|
||||
# and make the first line graphic.
|
||||
$dir/abcfirstline.py $filename > firstline.abc
|
||||
abcm2ps -E -F firstline -O $graphicsdir/firstline-$name.eps firstline.abc
|
||||
mv $graphicsdir/firstline-${name}001.eps $graphicsdir/firstline-${name}.eps
|
||||
rm firstline.abc
|
||||
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
|
||||
epstopdf --outfile=$graphicsdir/firstline-$name.pdf $graphicsdir/firstline-${name}001.eps
|
||||
rm firstline.abc $graphicsdir/firstline-${name}001.eps
|
||||
done
|
||||
|
||||
# And make any compact tune graphics.
|
||||
|
@ -53,13 +44,8 @@ find ${booke}/Compact -maxdepth 1 -name "*.abc" |
|
|||
do
|
||||
name=`basename $filename .abc`
|
||||
|
||||
# Make the tune graphic.
|
||||
# Make the tune graphic PDF.
|
||||
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
|
||||
epstopdf --outfile=$graphicsdir/compact-${name}.pdf $graphicsdir/compact-${name}001.eps
|
||||
rm $graphicsdir/compact-${name}001.eps
|
||||
done
|
||||
|
|
|
@ -26,7 +26,7 @@ makeaudiofiles()
|
|||
|
||||
abc2midi $1 -o $tunedir/${name}.tmp.mid -silent
|
||||
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
|
||||
mv $tunedir/${name}.tmp.mp3 $tunedir/${name}.mp3
|
||||
# Timidity can generate OGG directly. But we need to generate WAV
|
||||
|
|
|
@ -32,12 +32,12 @@ find $booke -maxdepth 1 -name "*.abc" |
|
|||
|
||||
mkdir -p $tunedir
|
||||
|
||||
tmpname=${name}.tmp
|
||||
convert -colors 256 -quality 90 -density 200 $graphicsdir/${name}.pdf $tunedir/${tmpname}.png
|
||||
convert -colors 256 -quality 90 -density 200 $graphicsdir/firstline-${name}.pdf $tunedir/firstline-${tmpname}.png
|
||||
|
||||
mv $tunedir/${tmpname}.png $tunedir/${name}.png
|
||||
mv $tunedir/firstline-${tmpname}.png $tunedir/firstline-${name}.png
|
||||
abcm2ps -g -F singletune -O $tunedir/$name.svg $filename
|
||||
mv $tunedir/${name}001.svg $tunedir/$name.svg
|
||||
$dir/abcfirstline.py $filename > firstline.abc
|
||||
abcm2ps -g -F firstline -O $tunedir/firstline-$name.svg firstline.abc
|
||||
mv $tunedir/firstline-${name}001.svg $tunedir/firstline-$name.svg
|
||||
rm -f firstline.abc
|
||||
|
||||
# Make the web downloadable PDF with the tune title.
|
||||
abcm2ps -E -F singletuneweb -O $tunedir/$name.eps $filename
|
||||
|
|
|
@ -1,19 +1,12 @@
|
|||
% Format for a graphic with a single tune
|
||||
partsbox true
|
||||
measurenb false
|
||||
stretchlast 1.0
|
||||
writefields ABCDFGHIKLMmNORrSsTXZ 0
|
||||
botmargin 0
|
||||
leftmargin 0
|
||||
rightmarin 0
|
||||
rightmargin 0
|
||||
topmargin 0
|
||||
titleformat Y0
|
||||
titlespace 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
|
||||
|
|
|
@ -1,14 +1,7 @@
|
|||
% Format for a downloadable PDF with a single tune with tune title
|
||||
partsbox true
|
||||
measurenb false
|
||||
stretchlast 1.0
|
||||
scale 0.9
|
||||
titleformat P-1 T0 C1
|
||||
% 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
|
||||
writefields ABDFGHILMmNORrSsWwXZ 0
|
||||
|
|
|
@ -383,7 +383,7 @@ ul.tune-type-list li
|
|||
display: inline-block;
|
||||
}
|
||||
|
||||
img.dottes-png
|
||||
img.dottes-svg
|
||||
{
|
||||
display: block;
|
||||
width: 100%; /* Make image fill width */
|
||||
|
|
|
@ -177,8 +177,8 @@
|
|||
of <a href="www.creativefreedom.co.uk">Creative Freedom</a>.
|
||||
Thanks to them.</p>
|
||||
<p>Above all, profuse and grateful thanks to all my fellow
|
||||
Havocs, notably MickP, Nerys, KateK, Susie and Ed, and most especially
|
||||
to Jane. They have supplied the tunes,
|
||||
Havocs, notably MickP, Nerys, KateK, LouisT, Susie and Ed,
|
||||
and most especially to Jane. They have supplied the tunes,
|
||||
checked the renditions, and offered corrections and suggestions.
|
||||
Without them, this project couldn't have happened.</p>
|
||||
</div>
|
||||
|
|
Loading…
Reference in New Issue