Compare commits

..

30 Commits
main ... main

Author SHA1 Message Date
Louis Thurman 93075e4300 FIXED IT!
This was the worst one!
2023-03-12 19:48:27 +00:00
Louis Thurman cdef9b76f4 Merge branch 'take2' into main 2023-03-12 19:19:19 +00:00
Louis Thurman bd074e4740 Corrects C part chords, key sig, and accids. 2023-03-12 19:08:44 +00:00
Louis Thurman 5a738801db Fixes B part repeat 2023-03-12 18:28:09 +00:00
Louis Thurman 7d5350c212 Transpose to D major, in line with how its normally played 2023-03-12 18:22:39 +00:00
Louis Thurman adef481827 Corrects key signature 2023-03-12 18:02:06 +00:00
Louis Thurman 58469b094b Adds chords 2023-03-12 17:59:44 +00:00
Louis Thurman 767ea11d3b Corrects timing issue, updates chords, adds common alternate ending 2023-03-12 17:47:38 +00:00
Louis Thurman 2d3f7a1f5d Improves B part chords 2023-03-12 17:32:06 +00:00
Louis Thurman 70c62c1fde Simplified chords. 2023-03-07 01:30:17 +00:00
Louis Thurman 5d22fc9539 Adds passing note 2023-03-07 01:25:58 +00:00
Louis Thurman 4305a67650 Adds runs as played. 2023-03-07 01:05:01 +00:00
Louis Thurman ed9c847e1f Slight tempo decrease 2023-03-07 01:04:50 +00:00
Louis Thurman 59cf7def78 Chord corrections/improvements 2023-03-07 00:41:38 +00:00
Louis Thurman 0a67785da1 Update chords
Chords were too frequent and cause overbearing chord smashes, simplified so that it plays better.
2023-03-07 00:33:11 +00:00
Louis Thurman 17065ed00d Update util script 2023-03-07 00:32:26 +00:00
Louis Thurman 7d0de39b84 Remove chord from pickup notes. 2023-03-07 00:28:10 +00:00
Louis Thurman d57b94a271 Update util script 2023-03-06 21:52:27 +00:00
Louis Thurman e327aeaca9 Add utility script 2023-03-06 20:46:19 +00:00
Louis Thurman a1c3f6d053 Corrects key signatures and adds alternative ending. 2023-03-01 21:45:55 +00:00
Louis Thurman 28dd380b07 Correct chords and timing, and adds B part variation. 2023-03-01 18:04:03 +00:00
Louis Thurman f44e459c33 Minor chord correction 2023-03-01 17:33:59 +00:00
Louis Thurman a301b654ce Correct end note length 2023-03-01 17:30:42 +00:00
Louis Thurman 1eaa5bd683 Minor A part note correction, and B part chord corrections 2023-03-01 17:28:08 +00:00
Louis Thurman 91bfddefc8 Correct repeats and pickups 2023-03-01 17:04:08 +00:00
Louis Thurman 288cb33e5a Fixes repeats and pickups 2023-03-01 16:53:34 +00:00
Louis Thurman 7ec0679154 Correct repeats 2023-03-01 16:21:17 +00:00
Louis Thurman f9559471a1 Fixes repeats, endings, and chords. 2023-02-27 19:15:42 +00:00
Louis Thurman 5daaa07260 Corrects repeats and repeat ends. 2023-02-27 18:30:39 +00:00
Louis Thurman 257d04d0ea Pre fork changes. 2023-02-27 18:22:43 +00:00
38 changed files with 233 additions and 137 deletions

2
.gitignore vendored
View File

@ -12,5 +12,5 @@ Library-.*
*.aux
*.log
*.orig
*.mid
*~
__pycache__

View File

@ -11,10 +11,10 @@ d>B |\
"G" G2 G>A B2 B2 | "D7" A>B (3cBA "G" G>A B2 |\
"G" G2 G>A B2 B2 | "D7" A>B (3cBA "G" G2 d>B |
"G" G2 G>A B2 B2 | "D7" A>B (3cBA "G" G>A B2 |\
"G" G2 G>A B2 B2 | "Am" A>B (3cBA "G" G3 ||
"G" G2 G>A B2 B2 | "Am" A>B (3cBA "G" G4 |]
M: 6/8
Q: 3/8=80
P: B
"G" B>AG B>AG | B/2(d3d2) B | "D7" A>BA A2 B | "C" c2 d e>dc | "G" B>AG B>dB |\
"G" B>AG B>AG | B/2 d4-d/2 B | "D7" A>BA A2 B | "C" c2 d e>dc | "G" B>AG B>dB |\
M: 9/8
"D7" ABc def "G" g3 |]

View File

@ -5,6 +5,6 @@ M: C
L: 1/4
Q: 160
K: Gmaj
"D" d | "D" d B c d | "G" B>A G d | "G" d B c d | "G" B3 :|
"G" B | "D" A F G A | "G" B>A G B | "D" A F G A | "G" B3 B |
d | "D" d B c d | "G" B>A G d | "G" d B c d | "G" B3 :|
B | "D" A F G A | "G" B>A G B | "D" A F G A | "G" B3 B |
"D" A F G A | "G" B>A G d | "D" d B c d | "G" B3 :|

View File

@ -4,9 +4,7 @@ M: 4/4
L: 1/8
K: D
Q: 160
de | \
"D" f3d A2F2 | "A" G2GF G4 | edcA B2c2 | "D" dffd A2de |
"D" f3d A2F2 | "Em" G2GF G4 | "A" edcA B2c2 | "D" d6 :|
de | \
"D" f2fd f2f2 | "A" gf "D" ed "A" c4 | gfed cABc | "D" dffd A2de |
"D" f3d A2F2 | "Em" G2GF G4 | "A" edcA B2c2 | "D" d6 :|
de |: "D" f2 d2 A2 F2 | "Em" G2GF G4 | "A" edcA B2c2 | "D" defd A2de |
"D" f2 d2 A2F2 | "Em" G2GF G4 | "A" edcA B2c2 | "D" d6 de :|
|: "D" f2fd f2f2 | "Em" gf ed c4 | "A" gfed cABc | "D" defd A2de |
"D" f3d A2F2 | "Em" G2GF G4 | "A" edcA B2c2 | "D" d6 de :|

View File

@ -7,8 +7,7 @@ M:C
L:1/8
Q:130
K:G
"G" GABc A2>G2 | "D" F2D2 D4 | "D" d2A2 "G" d3 "D7" c | "G" B2G2 G4 |
"G" GABc "C" A2> G2 | "D" F2D2 D4 | "D" d2A2 d3 c | "G" B2G2 G4 |
"Em" GABc "Am" A2>G2 | "D" F2 FG A2D2 | "C" EFG2 "D7" FGAB | "G" G4 G4 :|
"D" FGA2 FGA2 | "D" d2 "A7" A2 "D" d2 "A7" A2 |\
"D" FG "A" A2 "D" FG "A" A2 | "D" d2 "A7" A2 "D" d4 |
"G" d2cB "D" c2dc | "G" B2AG "D" A3D | "C" EFG2 "D7" FGAB | "G" G4 G4 :|
"D" FGA2 FGA2 | "D" d2 A2 d2 A2 | "C" FG A2 FG A2 | "D" d2 A2 d4 |
"G" d2cB "Am" c2dc | "Bm" B2AG "C" A3D | "D" EFG2 "C" FGAB | "G" G4 G4 :|

View File

@ -10,6 +10,6 @@ M:4/4
Q:180
K:G
dB|"G"G2G2 G2FG|"D"A2A2 A2BA|"C"GFED E2F2|"G"GABc dcBA|
G2G2 G2FG|"D"A2A2 A2BA|"C"GFED "D7"E2F2|G4G2 :|
GA|B2B2 B2AB|"Am"c2c2 cdcB| "D7"A2A2 A2GA|"G"B2B2 BcBA|
G2G2 G2FG|"D"A2A2 A2BA|"C"GFED "D7"E2F2|"G"G4G2 :|
G2G2 G2FG|"D"A2A2 A2BA|"C"GFED "D"E2F2|"G" G4G2 :|
GA|"G" B2B2 B2AB|"Am"c2c2 cdcB| "D"A2A2 A2GA|"G"B2B2 BcBA|
"Em" G2G2 G2FG|"Am"A2A2 A2BA|"D" GFED E2F2|"G"G4G2 :|

View File

@ -6,7 +6,7 @@ L: 1/4
H: Dottes: The melody should be accompanied by a continuous drone
H:+ on the string below on the fiddle. The chords are a suggested drone.
K: G
D | "C" E/F/ G G F | E2 E D | E>D E F | "G" G/F/G/A/ G D |
"C" E/F/ G G F | E2 E D | E>D E F | "G" G2 G :|
A | "G" B/c/ d d B | B A "D" A2 | "G" B/A/B/c/ d A | B/A/B/c/ d D |
"C" E/F/ G G F | E2 E D | E>D E F | "G" G3 :|
D |: "C" E/F/ G G F | E2 E D | E>D E F | "G" G/F/G/A/ G D |
"C" E/F/ G G F | E2 E D | E>D E F |1 "G" G2 G D :|2 "G" G2 G A ||
|: "G" B/c/ d d B | B A "D" A2 | "G" B/A/B/c/ d A | B/A/B/c/ d D |
"C" E/F/ G G F | E2 E D | E>D E F |1 "G" G2 G A :|2 "G" G4 ||

View File

@ -11,7 +11,7 @@ H:+ piping's greatest premature losses.
M: 9/8
L: 1/8
K: G
Q: 120
Q: 100
d>c |\
"G" BdB G3 GFG | "D" AGE E3 D3 | "C" EGE D3 G3 | "D" BdB A3- Ad>c |
"G" BdB G3 GFG | "D" AGE E3 D3 | "C" EGE D3 B3 | "D" ABA G3- G :|

View File

@ -13,6 +13,6 @@ 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:|
|"Em" B2B2 "D" A2A2|"Em" G2G2 "D" F4|"Em" EFG2 "D" F2D2|"Em" E4 E4:|
"Em" EFG2 EFG2|"D" F2D2D4|"C" EFG2 EFG2|"D" A4G2A2|
|"Em" B2B2 "D" A2A2|"C" G2G2 "D" F4|"Em" EFG2 "D" F2D2|"Em" E4 E4:|

View File

@ -5,8 +5,8 @@ N: Dottes: Change: <HarpersFrolick.abc>.
L: 1/4
K: G
Q: 180
d e f |: "G" g>f g>f | "G" g d d B | "C" c/d/ e d>c | "G" B G G>A |
d e f |: "G" g> f g> f | "G" g d d B | "C" c/d/ e d>c | "G" B G G>A |
"Em" B G G A/B/ | "Am" c A A2 | "G" B/c/ d "D" c B |\
[1 "D" A d e f :| [2 "D" A4 |]
|: "G" B G2 A/B/ | "Am" c A "Bm" d B | "C" e c c e | "D" f2 d e/f/ |
|: "G" B GG A/B/ | "Am" c A "Bm" d B | "C" e c c e | "D" f> e d e/f/ |
"G" g>f g f/e/ | "D" d e/f/ "G" g B | "C" c/d/ e "D" d>c | "G" B G G2 :|

View File

@ -10,8 +10,8 @@ M:4/4
L:1/8
Q:1/4=180
K:G
gf| "G" e2dc B2A2 | "C" B2G2E2D2 | "G" G2G2GABc | "D7" d4B2gf|
"G" e2dc B2A2 | "C" B2G2E2G2 | "D7" FG A2D2EF| "G" G4G2:|
dc | "G" B2d2 "D7" e2f2 | "G" g2dc "D7" BA G2 |\
"G" Bc d2 "Em" e2f2 | "C" g4 "D7" f2gf|
"G" e2dc B2A2 | "C" B2G2E2G2 | "D7" FG A2D2EF | |"G" G4G2 :|
gf| "G" e2dc B2A2 | "C" B2G2E2D2 | "G" G2G2GABc | "D" d4B2gf|
"G" e2dc B2A2 | "C" B2G2E2G2 | "D" FG A2D2EF| "G" G4G2:|
dc | "G" B2d2 "Am" e2f2 | "C" g2dc "G" BA G2 |\
"G" Bc d2 "Em" e2f2 | "C" g4 "D" f2gf|
"G" e2dc B2A2 | "C" B2G2E2G2 | "D" FG A2D2EF | |"G" G4G2 :|

View File

@ -7,11 +7,7 @@ R: Schottische
K: G
L: 1/4
Q: 140
"G" B B "C" c/B/A/G/ | "G" B B "C" c/B/A/G/ | "Em" E/F/G/B/ "D" A>G |\
"D" F/G/E/F/ D D |
"G" B B "C" c/B/A/G/ | "G" B B "C" c/B/A/G/ | "Em" E/F/G/B/ "D" A>G |\
"G" G3 A :|
"G" d d "C" c/B/A/G/ | "G" d d "C" c/B/A/G/ | "Em" E/F/G/B/ "D" A>G |\
"D" F/G/E/F/ D2 |
"G" d d "C" c/B/A/G/ | "G" d d "C" c/B/A/G/ |\
"Em" E/F/G/B/ "D" A>G | "G" G4 :|
A |: "G" B B "C" c/B/A/G/ | "G" B B "C" c/B/A/G/ | "Em" E/F/G/B/ "D" A>G | "D" F/G/E/F/ D2 |
"G" B B "C" c/B/A/G/ | "G" B B "C" c/B/A/G/ | "Em" E/F/G/B/ "D" A>G |1 "G" G3 A :|1 "G" G2 Bc ||
|: "G" d d "C" c/B/A/G/ | "G" d d "C" c/B/A/G/ | "Em" E/F/G/B/ "D" A>G | "D" F/G/E/F/ D2 |
"G" d d "C" c/B/A/G/ | "G" d d "C" c/B/A/G/ | "Em" E/F/G/B/ "D" A>G |1 "G" G2 Bc :|2 "G" G4 ||

View File

@ -6,5 +6,5 @@ Q: 160
K: Gmaj
"G" G2 B d2 g | "G" gfe d3 | "D" cdc "G" B2 B | "D" AGA "Em" B2 G |
"G" G2 B d2 g | "G" gfe d3 | "D" cdc "G" B2 B | "D" AGA "G" G3 :|
"B" B3 B3 | "B" BAB "D" c3 | "G" B2 c d2 c | "G" B2 A B2 G |
"Em" B3 B3 | "Em" BAB "C" c3 | "G" B2 g dBG | "D" A3 "G" G3 :|
"G" B3 "Em" B3 | "C" BAB "D" c3 | "G" B2 c d2 c | "G" B2 A B2 G |
"G" B3 "Em" B3 | "C" BAB "D" c3 | "G" B2 g dBG | "D" A3 "G" G3 :|

View File

@ -10,4 +10,4 @@ D |: "G" G>AB | d>BA | "C" G>EC | "G" D/G/-G D | "G" G>AB |
d>BG | [1 "G" B/d/-dB | "D" A2 D :| [2 "D" A/B/-B A | "G" G2 d ||
"G" d>Bd | "C" g>eg | "G" d>BG | B/d/-d d | "G" d>Bd |
"C" g>eg | "G" d>BG | "D" A2 D | "G" G>AB | d>BA |
"C" G>EC | "G" D/G/-GD | G>AB | d>BG | "D" A/B/-B A | "G" G2 |]
"C" G>EC | "G" D/G/-GD | G>AB | d>BG | "D" A/B/-B A | "G" G3 |]

View File

@ -10,7 +10,7 @@ M: 4/4
L: 1/8
Q: 1/4=140
K: Gmaj
"G" B2 B>A G2 B>d | "C" g2 g>f e4 | "G" d2 d>e d2 B>G | "A7" A2 A>B A4 |
"G" B2 B>A G2 B>d | "C" g2 g>f e4 | "D7" a>g f>e d>c B>A | "G" G2 g2 g4 ||
"D7" a2 a>g f2 a2 | "G" g2 b2 g4 | "C" e2 e>f g2 f>e | "G" d>e d>B "D" A4 |
"G" B2 B>A G2 B>d | "C" g2 g>f e4 | "G" d2 d>e d2 B>G | "D" A2 A>B A4 |
"G" B2 B>A G2 B>d | "C" g2 g>f e4 | "D" a>g f>e d>c B>A | "G" G2 g2 g4 ||
"D" a2 a>g f2 a2 | "G" g2 b2 g4 | "C" e2 e>f g2 f>e | "G" d>e d>B "D" A4 |
"G" B2 B>A G2 B>d | "C" g2 g>f e4 | "D7" a>g f>e d>c B>A | "G" G2 g2 g4 |]

View File

@ -1,14 +1,15 @@
X: 1
T: Dancing Oolert, The
C: Sally Kirkpatrick
M: 4/4
L: 1/8
Q: 1/4=130
H: Dottes: An oolert, or wollert, is a name used in Shropshire for a barn owl.
K: G
"D" .!>!A2 AG FD FA | dA FA "C" c2 B2 | "D" .!>!A2 AG FD EF | "Em" GA GF EF G2 |
"D" .!>!A2 AG FD FA | dA FA "Am" c2 "Bm" B2 | "D" AB AG "A" F2 E2 | "D" D6 :|
K: D
F2 | \
"Em" .!>!E2 EF GE DC | "D" DE FG A2 F2 | "Em" .!>!E2 EF GE | "D" DC D4 A,2 |
"Em" .!>!E2 EF GE DC | "D" DE FG A2 F2 | "Em" E2 EF "G" GE cB | "D" A6 :|
H: Dottes: An oolert, or wollert, is a name used in Shropshire for a barn owl. Often the last bar and half of the B part modulates back to D Mix.
K: DMix
G2 | "D" .!>!A2 AG FD FA | dA FA "C" c2 B2 | "D" .!>!A2 AG FD EF | "Em" GA GF EF G2 |
"D" .!>!A2 AG FD FA | dA FA "Am" c2 "Bm" B2 | "D" AB AG "A" F2 E2 |1 "D" D6 :|2 "D" D8 ||
K: EDor
|: "Em" .!>!E2 EF GE DC | "D" DE FG A2 F2 | "C" .!>!E2 EF GE DC | "G" D4 "D" A,4 |
"Em" .!>!E2 EF GE DC | "D" DE FG A2 F2 | "Em" E2 EF "G" GE cB | "D" A8 :|
| "_Alternative B part ending." "C" E2 EF GE =cB | "D" A4 "G" G4 ||

View File

@ -7,11 +7,7 @@ L: 1/8
R: waltz
K: Gmaj
Q: 1/4=120
D GA | "G" B2 Bc B2 |"D" A2ABA2 |"C" G2E2GE |"G" D2>D2 GA|\
"G" B2 d2 e2 | d2 c2 B2 | d2 c2 B2 |
"D" A2>D2 GA | "G" B2 Bc B2 | "D" A2ABA2 | "C" G2E2GE | "G" D2>D2 GA|\
"G" B2 d2 e2 | d2 c2 B2 | "D" A2 G2 F2 | "G "G3 ||
G Bd | "C" e2 d2>B2 | c2 B2 Bc | "G" d2 c2 B2 | "D" A4 B2 |\
"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 |\
"G" D2>D2 GA | "G" B2 d2 e2 | d2 c2 B2 | "D" A2 G2 F2 | "G" G3 |]
D GA | "G" B2 Bc B2 |"D" A2ABA2 |"C" G2E2GE |"G" D2>D2 GA | "G" B2 d2 e2 | "Am" d2 c2 B2 | "C" d2 c2 B2 |
"D" A2>D2 GA | "G" B2 Bc B2 | "D" A2ABA2 | "C" G2E2GE | "G" D2>D2 GA | "G" B2 d2 e2 | "Am" d2 c2 B2 | "D" A2 G2 F2 | "G "G3 ||
G Bd | "C" e2 d2>B2 | c2 B2 Bc | "G" d2 c2 B2 | "D" A4 B2 | "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 | "G" D2>D2 GA | "G" B2 d2 e2 | "C" d2 c2 B2 | "D" A2 G2 F2 | "G" G3 |]

View File

@ -4,7 +4,7 @@ M: 3/4
L: 1/4
O: Finland
Q: 140
K: FMaj
K: Dm
D/F/ |: "Dm" A2 A | F D F | A2 A | F D D/F/ |
"A7" E2 E/F/ | G F E | [1 "Dm" D>EF/G/ | A2 D/F/ :| [2 "n.c." D3 | D F A ||
|: "Gm" d2 d | d c B | "Dm" A2 A | A G F |

View File

@ -1,10 +1,10 @@
X: 1
T: Fiery Clock Face, The
R: jig
M: 6/8
L: 1/8
Q: 160
K: Gmaj
d | "G" g2 g G2 A | B2 c d2 e | "F" =f2 f A2 B | c2 d e2 ^f |
"G" g2 g G2 A | B2 c d2 d | "C" efg "D7" a2 f | "G" g3 g2 :|
A | "G" B2 B GAB | "Am" c2 B A2 G | "D7" F2 E D2 E | F2 G A2 ^A |
"G" B2 B GAB | "Am" c2 B A2 G | "D7" FED E2 F | "G" G3 G2 :|
K: Dmaj
c | "D" d2 d D2 E | F2 G A2 B | "C" =c2 =c E2 F | G2 A B2 c |
"D" d2 d D2 E | F2 G A3 |"A" Bcd ecA | "D" d3 d2 :|
g | "D" f2 d def | "Em" g2 f e2 d | "A" c2 B A2 B | c2 d e2 g |
"D" f2 d def | "Em" g2 f e2 d | "A" c2 A B2 c | "D" d3 d2 :|

View File

@ -7,6 +7,6 @@ K:G
dc | "G" B2B2B2G2 | "D" AGAB "G" G2AB | "Am" cBAG "G" GABc | "D" d2ec B2dc |
"G" B2B2B2G2 | "D" AGAB "G" G2AB | "Am" cBAG "G" GABG |\
[1 "D" A4 "G" G2 :| [2 "D" A4 "G" G4 |]
"G" GABc "D" d2d2| "D" d2 e2 d4 | "C" e2d2 "G" g2B2 | "D" d2ec B2A2 |
|: "G" GABc "D" d2d2| "D" d2 e2 d4 | "C" e2d2 "G" g2B2 | "D" d2ec B2A2 |
"G" B2B2B2G2 | "D" AGAB "G" G2AB | "Am" cBAG "G" GABc | "D" d2ec B2A2 |
"G" B2B2B2G2 | "D" AGAB "G" G2AB | "Am" cBAG "G" GABG | "D" A4 "G" G4 :|

View File

@ -16,5 +16,6 @@ K:G
"G" G>A B B | "D" c B A c | "Em" B G "D" A F | "G" G2 G2 :|
"D" d c/B/ A "G" B | "D" c B/A/ "G" G/A/ B | "D" A G F "G" G | "D" A2 A2 |
d c/B/ A "G" B | "D" c B/A/ "G" G/A/ B | "D" A G G F | "G" G2 G2 :|
"Em" _B A/G/ B A/G/ | "D" F G A2 | D E F G | A _B A G |
"Em" _B A/G/ B A/G/ | "D" F G A2 | D E F G | G F "G" G2 :|
K:Gdor
"Gm" B A/G/ B A/G/ | "D" ^F G A2 | D E ^F G | A B A G |
"Gm" B A/G/ B A/G/ | "D" ^F G A2 | D E ^F G | G ^F "G" G2 :|

View File

@ -6,8 +6,8 @@ M: 3/4
L: 1/8
K: Gmaj
DGA |\
"G" B3A Bd | "Em" B3A Bd | "C" E3B AB | "D" D3B AG |
"G" B3A Bd | "Em" B3A Bd | "C" G3B "D" (3AGF | "G" G3 :|
"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 :|
ABd |\
"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 :|
"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 :|

View File

@ -4,8 +4,6 @@
# to print the first line of the music only.
#
import argparse
import pathlib
import sys
def process(inf):
@ -23,20 +21,21 @@ 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 the line ends with a continuation, carry
# on outputting lines, otherwise stop.
# Output line. If it is a continuation, output at most one
# continuation.
else:
print(line)
if line[-1] != "\\":
if continued or line[-1] != "\\":
break
else:
continued = True
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)
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)

81
auto_render.py Normal file
View File

@ -0,0 +1,81 @@
#!/usr/bin/python3 -u
import logging
import pathlib
import subprocess
import sys
import time
win_root = pathlib.Path(r"C:\Users\louis\GitKraken\dottes")
lin_root = pathlib.Path("~/dottes")
file_update_times = {}
def run_continuous():
logging.info("Run continous")
pwd = pathlib.Path()
while True:
for obj_path in pwd.rglob("*"):
obj_path_str = str(obj_path)
if not obj_path.is_file():
continue
if not obj_path_str.lower().endswith(".abc"):
continue
if obj_path_str not in file_update_times:
file_update_times[obj_path_str] = obj_path.lstat().st_mtime
else:
if obj_path.lstat().st_mtime > file_update_times[obj_path_str]:
file_update_times[obj_path_str] = obj_path.lstat().st_mtime
convert_single(lin_path=obj_path_str)
def convert_single(win_path: str = None, lin_path: str = None):
if win_path:
input_path = win_path
win_abc_file_path = pathlib.Path(win_path)
lin_abc_file_path = lin_root / win_abc_file_path.relative_to(win_root)
elif lin_path:
input_path = lin_path
lin_abc_file_path = pathlib.Path(lin_path)
else:
raise Exception("Argument win_path or lin_path must be given")
logging.info(f"Converting {input_path}")
out_file_name = lin_abc_file_path.name.rsplit(".", 1)[0] + ".mid"
output_path = lin_abc_file_path.parent / out_file_name
if output_path.exists():
output_path.unlink()
r = subprocess.run(
[
"abc2midi",
lin_abc_file_path.as_posix(),
"-o", output_path.as_posix()
]
)
if r.returncode != 0:
logging.error(f"Error whilst convering {lin_abc_file_path}")
else:
logging.info(f"Converted {input_path} > {output_path}")
if __name__ == "__main__":
logging.basicConfig(level=logging.INFO)
if len(sys.argv) > 1:
if sys.platform == "win32":
convert_single(win_path=sys.argv[1])
elif sys.platform == "linux":
convert_single(lin_path=sys.argv[1])
else:
raise Exception(f"Unknown platform '{sys.platform}', don't know how to interpret path")
else:
run_continuous()

View File

@ -61,9 +61,7 @@
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,
a <a href=@../Bumper-Nook@INSTRUMENT@.pdf>4x5in portrait book</a>,
an <a href="../Bumper-A4@INSTRUMENT@.pdf">A4 book</a>
tune per page, 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.

View File

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

View File

@ -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}.svg"
<img class="dottes-tune-table-image" src="../${tunedir}/firstline-${name}.png"
alt="${fulltitle} first line" title="${fulltitle} first line">
</a>
</div>

View File

@ -170,7 +170,7 @@
\textbf{Ye Crie Havoc Booke of Dottes}
Tune collection and presentation is copyright \copyright{} Jim Hague 2013-2024
Tune collection and presentation is copyright \copyright{} Jim Hague 2013-2020
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 2024.
Third printed edition 2022.
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 Git
(\url{https://git-scm.com/}) repository at
\url{https://git.lunch.org.uk/CryHavoc/dottes/}. Tunes are
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
in Chris Walshaw's abc notation (\url{http://abcnotation.com/}).
Music typeset by Jef Moine's abcm2ps (\url{http://moinejf.free.fr/}).
@ -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, LouisT, Susie and Ed. And most
in particular fellow Havocs KateK, Nerys, MickP, Susie and Ed. And most
especially to Jane, without whose enthusiasm, support and encouragement
this would never have been possible.

View File

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

View File

@ -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()

View File

@ -29,10 +29,6 @@ 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

View File

@ -22,16 +22,25 @@ find $booke -maxdepth 1 -name "*.abc" |
do
name=`basename $filename .abc`
# Make the tune graphic PDF.
# Make the tune graphic.
abcm2ps -E -F singletune -O $graphicsdir/$name.eps $filename
epstopdf --outfile=$graphicsdir/$name.pdf $graphicsdir/${name}001.eps
rm $graphicsdir/${name}001.eps
# 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
# and make the first line graphic.
$dir/abcfirstline.py $filename > firstline.abc
abcm2ps -E -F firstline -O $graphicsdir/firstline-$name.eps firstline.abc
epstopdf --outfile=$graphicsdir/firstline-$name.pdf $graphicsdir/firstline-${name}001.eps
rm firstline.abc $graphicsdir/firstline-${name}001.eps
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
done
# And make any compact tune graphics.
@ -44,8 +53,13 @@ find ${booke}/Compact -maxdepth 1 -name "*.abc" |
do
name=`basename $filename .abc`
# Make the tune graphic PDF.
# Make the tune graphic.
abcm2ps -E -F singletune -O $graphicsdir/compact-${name}.eps $filename
epstopdf --outfile=$graphicsdir/compact-${name}.pdf $graphicsdir/compact-${name}001.eps
rm $graphicsdir/compact-${name}001.eps
# 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

View File

@ -26,7 +26,7 @@ makeaudiofiles()
abc2midi $1 -o $tunedir/${name}.tmp.mid -silent
mv $tunedir/${name}.tmp.mid $tunedir/${name}.mid
timidity --quiet -A600,600 -OwM $3 -o $tunedir/${name}.wav $tunedir/${name}.mid
timidity --quiet -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

View File

@ -32,12 +32,12 @@ find $booke -maxdepth 1 -name "*.abc" |
mkdir -p $tunedir
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
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
# Make the web downloadable PDF with the tune title.
abcm2ps -E -F singletuneweb -O $tunedir/$name.eps $filename

View File

@ -1,12 +1,19 @@
% Format for a graphic with a single tune
partsbox true
measurenb false
stretchlast 1.0
writefields ABCDFGHIKLMmNORrSsTXZ 0
botmargin 0
leftmargin 0
rightmargin 0
rightmarin 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

View File

@ -1,7 +1,14 @@
% 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
writefields ABDFGHILMmNORrSsWwXZ 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

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

View File

@ -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, LouisT, Susie and Ed,
and most especially to Jane. They have supplied the tunes,
Havocs, notably MickP, Nerys, KateK, 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>