§
    ƒØjãm  ã                  ób  — d dl mZ d dlZd dlmZ  ej        d¦  «        ZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"Z$d#Z%d$Z&d%Z'd&Z(d'Z)d(Z*ee	e
eeeeeeeeeeeee e!e"gZ+d)„ Z, G d*„ d+ej-        ¦  «        Z.e/d,k    rd dlZ ej0        e.¦  «         dS dS )-é    )ÚannotationsN)ÚenvironmentzabcFormat.testFilesTu  
%%abc-charset utf-8

X: 1
T: Fyrareprisarn
O: JÃ¤t, SmÃ¥land
S: efter August StrÃ¶mberg
D: Svensson, Gustafsson mfl - BÃ¥lgetingen
Z: Till abc av Jon Magnusson 100517
R: Hambo
M: 3/4
L: 1/8
K: F
c2 a>g f>e|d>c BA G>F|E>F GA B>c|d>c AB c>c|
c>a a>g f>e|d>c BA G>F|E>F Gd c>E|F2 f4::
{A}d>^c de f>g|e>f de =c>A|A>B AG FE|DE FG A>A|
d>^c de fg|e>f de =c>A|A>B AG FE|D2 d4::
c2 f2 c>c|B>d B4|G>c e2 c>e|f>>g a>f c2|
c2 f2 c>c|B>d g4|G2 e>g c>>>e|f2 f4::
f>f f4|e>e e3A|A>B AG FE|D>E FD E2|
f>f f4|e>e e3A|A>B AG FE|D2 d4:|
aj  
X:254
T:Mystery Reel
R:reel
Z:transcribed by Dave Marshall
M:C|
K:G
|: egdB A3B | ~G3B A2Bd | e2dB A2BA |1 GEDE GABd :|2 GEDE GBdc |
|: B~G3 GEDG | BGAB GEDG | A2GB A2GA |1 Bdef gedc :|2 Bdef gedB |
|: ~G3E DEGB | dBGB A~E3 | GAGE DEGF | GBdB A2G2 :|
| gede g2ag | egde ge (3eee | gede g2ag | egde ~g3a |
gede g2ag | egde ge (3eee | ~g3e a2ba | ge (3eee b2ag |
ai  X: 1
T:Full Rigged Ship
M:6/8
L:1/8
Q:100
C:Traditional
S:From The Boys of the Lough
R:Jig
O:Boys Of The Lough
A:Shetland
D:Boys of the Lough "Wish You Were Here"
K:G
|:e2a aea|aea b2a|e2f~g3|eag fed|
e2a aea|aea b2a|~g3 edB|A3A3:|!
|:efe edB|A2Bc3|BAG BAG|BcdE3|
efe edB|A2Bc2d|efe dBG|A3A3:|!
|:EFE EFE|EFE c3|EFE E2D|E2=F GEC|
EFE EFE|EFE c2d|efe dBG|A3A3:|
a_  %  <A name="D1X180"></A>
X: 180
T:Ale is Dear, The
M: 4/4
L: 1/8
R:Reel
Q:1/4=211
% Last note suggests Locrian mode tune
K:D % 2 sharps
% (c) SSF January 2006
V:1
f2 ef B2 fe| fa ef cA ec| f2 ef B2 fe| fa ec B2 Bc|
f2 ef B2 fe| fa ef cA ec| f2 ef B2 fe| fa ec B2 Bc|
B3/2B<Bc/2 d2 cB| A3/2A<AB<AB/2 c<A| B3/2B<Bc/2 d2 cB| f<a e3/2c/2 B2 B2|
B3/2B<Bc/2 d2 cB| A3/2A<AB<AB/2 c<A| d2 f3/2d/2 c2 e3/2c/2| d<f e3/2c<BB<Bc/2|
V:2
% Chords
B,,z [FDB,]z B,,z [FDB,]z| B,,z [FDB,]z A,,z [ECA,]z| B,,z [FDB,]z B,,z [FDB,]z| B,,z [ECA,]z B,,z [FDB,]z|
B,,z [FDB,]z B,,z [FDB,]z| B,,z [FDB,]z A,,z [ECA,]z| B,,z [FDB,]z B,,z [FDB,]z| B,,z [ECA,]z B,,z [FDB,]z|
B,,z [FDB,]z B,,z [FDB,]z| A,,z [ECA,]z A,,z [ECA,]z| B,,z [FDB,]z B,,z [FDB,]z| B,,z [ECA,]z B,,z [FDB,]z|
B,,z [FDB,]z B,,z [FDB,]z| A,,z [ECA,]z A,,z [ECA,]z| B,,z [FDB,]z A,,z [ECA,]z| B,,z [ECA,]z B,,z [FDB,]
aë  X: 57
T:Kitchen Girl
% Nottingham Music Database
S:via PR
M:4/4
L:1/4
K:D
'A"[c2 a2 ]"G"[B2g2]|"A"e/2f/2e/2d/2 cc/2d/2|"A"e/2c/2e/2f/2 "G"g/2a/2b/2a/2|"E"^ge ee/2=g/2|
"A"a/2b/2a/2f/2 "G"g/2a/2g/2f/2|"A"e/2f/2e/2d/2 c/2d/2e/2f/2|"G"gd "E"e/2f/2e/2d/2|"A"cA A2::
"Am"=cc/2A/2 "G"B/2A/2G/2B/2|"Am"A/2B/2A/2G/2 E/2D/2E/2G/2|"Am"A/2G/2A/2B/2 "C"=c/2B/2c/2d/2|"Em"ee/2g/2 e/2d/2B/2A/2|
"Am"=cc/2A/2 "G"B/2A/2G/2B/2|"Am"A/2B/2A/2G/2 E/2D/2E/2G/2|"Am"=c/2B/2A/2c/2 "G"B/2A/2G/2B/2|"Am"A3/2B/2 A2:|
a¿  X: 31
T:William and Nancy
% Nottingham Music Database
P:A(AABBB)2(AACCC)2
S:Bledington
M:6/8
K:G
P:A
D|"G"G2G GBd|"C"e2e "G"dBG|"D7"A2d "G"BAG|"C"E2F "G"G2:|
P:B
d|"G"e2d B2d|"C"gfe "D7"d2d|"G"e2d B2d|"A7""C"gfe "D7""D"d2c|
"G""Em"B2B Bcd|"C"e2e "G"dBG|"D7"A2d "G"BAG|"C"E2F "G"G2:|
P:C
"G"d3 "C"e3|"G"d3 "Em"B3|"G"d3 "C"g3/2f3/2|"C"e3 "G"d3|"D7"d3 "G"e3|"G"d3 B2d|"A7""C"gfe "D7""D"d2c|
"G""Em"B2B Bcd|"C"e2e "G"dBG|"D7"A2d "G"BAG|"C"E2F "G"G2:|
aB  X:297
T:Morrison's
O:Ireland
F:http://www.banjolin.co.uk/tunes/abcs/morrisons.abc
M:6/8
L:1/8
R:jig
K:Edor
|:E3 B3|E2B AFD|EBE B2c|dcB AFD|
|EDE B3|E2B AFD|GBG FGA|1 dAG FED:|2 dAG FGA|
|Bee fee|aee fed|Bee fee|fag fed|
|Bee fee|aee fed|gfe d2A|BAG FGA|
|Bee fee|aee fed|Bee fee|faf def|
|g3 gfe|def gfg|edc d2A|BAG FED||
a^  X: 48
T:Hector the Hero
M:3/4
L:1/8
C:Scott Skinner
K:A
A2B2|:"A"c3 BA2|"D"f4ec|"A"e4-ef|e4AB|"F#m"c4BA|"D"f4ec|"Bm"B4-Bc|"E"B4ce|
"F#m"c3 BA2|"D"f4ec|"A"e4A2|"D"a4f2|"A"e4Ac|"E"B4A2|"A"A6 -|[1 A2A2B2:|[2 A2c2e2||
:"D"f4df|a4gf|"A"e4-ef|e4ce|"F#m"f4ec|e4Ac|"Bm"B4-Bc|"E"B4ce|
"D"f4df|a4gf|"A"e4dc|"D"a4d2|"A"c4Ac|"E"B4A2|"A"A6 -|[1 A2c2e2:|[2 A2 z2|
aõ  X: 979
T: King of the fairies
C: anon.
O: Ireland
B: Francis O'Neill: "The Dance Music of Ireland" (1907) no. 979
R: Long dance, set dance
Z: Transcribed by Frank Nordberg - http://www.musicaviva.com
F: http://www.musicaviva.com/abc/tunes/ireland/oneill-1001/oneill-1001-0979.abc
M: 2/4
L: 1/16
K: Edor
B,2|E^DE(F GF)GA|B2B2 TG3A|B2E2 E(FGE)|FGFE TD2B,2|E(^DEF) GFGA|B(AGB) d3
c|B2E2 (GF)E^D|"^1)"E4E2:|
d2|e2e2 Bde(f|ga)gf e2f2|e2B2 (BAB)c|d(edc) BcdB|e2B2 Bdef|g(agf) efed|Bd
e(g fe)df|"^2)"e6(ef)|
g3e f2d2|e(dBc) Td3e|dBA(F GA)B^c|dBA(F GF)ED|B,2E2 (EFG)A|B2e2 edef|e2B2
 BAG(F|TE4)E2|]
W:
W:
W: 1) org. dotted 4th note.
W: 2) org. not dotted.
W:
W:
W: From Musica Viva - http://www.musicaviva.com
W: the Internet center for free sheet music downloads.
a.  X:1
T:9v. Sicut rosa
C:Orlando Lassusio
O: Bicinia, sive Cantionis
H: transcribed from the Musica Alamire facsimile of the original
H: printed in Antwerp by Petrum Phalesium, 1609
%%gchordfont Helvetica 12 box
%%MIDI nobarlines
M:C|
L:1/4
K:G mixolydian treble8
T:Tenor
%%MIDI transpose -12
%1
G3 A B c d B e4 d2 B4 e3 d c2 B2 d4 d2 G  A B c d3 c B4 G4 d3 c
w:Si- - - - - - - cut ro * -  - sa si- cut ro- - - - - - - sa in- -
%2
B A G4 F2 E4 "A"D2 A4 B2 c4 B2 d3 c B A G F E D C2 C2 G4 z2 G4 E2 G4 A2 c3 B A G
w:- - - ter spi- nas il - lis ad- dit spe- - - - - - - -  ci- em, sic ve- nu- stat su- - - -
%3
_B2 A2 A4 D2 F2 E2 F2 G4 G3 A B2 A2 F2 c2 B2 c2 d2 c3 B d4 c B c A c4 B2 "B"c4 z2 G2 A2 B4 F2 c4
w:- am vir- go Ma- ri- am pro- ge- - - ni- am Ma- ri- am pro- ge- - - - - - - - ni- am ger- mi- na- vit e-
%4
d2 e3 d/ c/ B c d A d3 c/ B/ c2 "C"d4-d4 z2 d2 e2 d3 B ^c2 d2 e2 c2 G A B c d2 G4 z2 G2
w:nim flo- - - - - - - - - - - rem, * qui vi- ta- - -  lem dat o- do- - - - - rem qui
%5
A2 G3 E ^F2 G2 A2 c4 B3 A/ G/ A4 HG4 |]
w:vi- ta- - - lem dat o- do- - - - rem.
a³  X:1
T:The Ale Wife's Daughter
Z:Jack Campin: "Embro, Embro", transcription (c) 2001
F:17riot/abc/AleWife.abc
S:John Hamilton: A Collection of Twenty-Four Scots Songs (Chiefly Pastoral.), 1796
B:NLS Glen.311
M:C
L:1/8
Q:1/4=80
N:Slow and Supplicative
K:G Mixolydian
(E/F/)|G<G GE  GA  c>B|A>A A>G Ac d3/ (c//d//)| e>g          d>e c>d e>d|cA A>G G3||
(c/d/)|e<e e>c e>f g>e|d>d d>c de f3/ (e//f//)|(g/f/) (e/f/) ed  c>d e>d|cA A>G G3|]
a–  
X:5
T:The Begger Boy
R:Jig
H:The tune name may derive from the song "The Begger Boy of the North"
H:(c. 1630)
N:This tune is in the rare Phrygian mode--suggested chords are given
M:6/8
L:1/8
Q:90
K:APhry
AAAf2f|ec2d2c|AF2G2G|A2B cA2||
AAAf2f|ec2d2c|Ac2ede|fA2G3|
Acc e>dc|dfg/2f/2 efd|cAF G2G|A2B cA2||
W:From ancient pedigree, by due descent
W:I well can derive my generation
W:Throughout all Christendome, and also Kent
W:My calling is known both in terme and vacation
W:My parents old taught me to be bold
W:Ile never be daunted, whatever is spoken
W:Where e're I come, my custome I hold
W:And cry, Good your worship, bestow one token!
W:--Roxburghe Ballads
a~  X:1
T:The Battle of the Sna' Ba's
Z:Jack Campin: "Embro, Embro", transcription (c) 2001
F:17riot/abc/SnaBas.abc
S:NLS MH.v.549
N:identical format, typeface and engraving style to The Lyre, but anonymous
M:C|
L:1/8
Q:1/2=72
K:Eb Lydian
e|B>EE>E B>EG>e|B>EE>E B2G>B |A>FF>F A>FG>B|A>FF>F B2GF|
  E>ee>f e>cB>G|F>ff>g f>ed>c|B>ee>f e>cB>e|
  d>fc>e d>fc>e|d>fc>e d>ec>d|e>fg>f e2e  |]
aµ  X:0912
T:"A Draught of Ale"    (jig)     0912
C:after  Sg't. J. O'Neill
B:O'Neill's Music Of Ireland (The 1850) Lyon & Healy, Chicago, 1903 edition
Z:FROM O'NEILL'S TO NOTEWORTHY, FROM NOTEWORTHY TO ABC, MIDI AND .TXT BY VINCE BRENNAN June 2003 (HTTP://WWW.SOSYOURMOM.COM)
I:abc2nwc
M:6/8
L:1/8
K:G
D|GBA G2A|Bdg Bdg|GBA G2B|AFD AFD|
GBA G2A|Bdg Bdg|ecA dBG|cAF G2:|
|:d|egf g2f|ege dBG|GFG dBG|BAA A2d|
egf g2f|ege dBG|GFG dBG|cAF G2:|
aÁ  
X:166
T:166  Valentine Jigg   (Pe)
M: 9/8
L: 1/8
S: original in 6/8 major reconstruction -AH
K:D
A3 F2A c2d | efe d2c BAG|A3 F2A c2d| A2a g>fg a3 :|
|: a2e c2e gag |e2c d2f efe |d3 G2B cdc |ABc dcB A3:|
%%vskip 1.5cm

X:167
T:167  The Dublin Jig     (HJ)
A:Wyresdale, Lancashire
B:H.S.J. Jackson, 1823
L:1/8
M:9/8
K:A
f|ecA ABA agf | ecA FBA GFE |ecA Ace agf | ecA FBG A2  :|
|:c|BGE EGB dcB | cAc ece aec |BGE EGB dcB | cde dcB A2  :|
%%vskip 1.5cm

X:168
T:168  The Castle Gate   (HJ)
A:Wyresdale, Lancashire
B:H.S.J. Jackson, 1823
L:1/8
S: original in E
M:9/8
K:A
E | Ace Ace Ace | Ace BcA GFE | Ace Ace Ace | cag fe^d e2 :|
|:e | fga def Bcd | FGA BcA GFE | FAd GBe Ace | fdB BAG A2 :|
%%vskip 1.5cm
z¦
X: 979
T: Triplets in Slurs, Slurs in Triplets, Nested Slurs
M: 2/4
L: 1/16
K: Edor
B,2|E^DEE ((3GFG)BA)|E^DEF (3(GFG))BA|(E(^DE)F) (3(GF)G)BA|(E^DEF (3(GFG)))BA|G6
z‘
X: 979
T: Slur test, plus tie tokens
M: 2/4
L: 1/16
K: Edor
B,2|E^DE-E ((3GFG)BA)|E^DEF (3(G-GG))BA|(E(^DE)F) (3(GF)G)A-A|(E^DEF (3(GFG)))BA|G6
z®
X: 979
T: Tie test, plus crescendo tokens
M: 2/4
L: 1/16
K: Edor
B,2|!crescendo(!E^DE-E!crescendo)! ((3GFG)BA)|E^DEF (3(G-GG))BA|(E(^DE)F) (3(GF)G)A-A|(E^DEF (3(GFG)))BA|G6
z±
X: 979
T: Tie test, plus diminuendo tokens
M: 2/4
L: 1/16
K: Edor
B,2|!diminuendo(!E^DE-E!diminuendo)! ((3GFG)BA)|E^DEF (3(G-GG))BA|(E(^DE)F) (3(GF)G)A-A|(E^DEF (3(GFG)))BA|G6
z»
X: 979
T: Diminuendo test, plus staccato tokens
M: 2/4
L: 1/16
K: Edor
B,2|!diminuendo(!.E^D.E-E!diminuendo)! ((3.G.F.G)BA)|E^DEF (3(G-GG))BA|(E(^DE)F) (3(GF)G)A-A|(E^DEF (3(GFG)))BA|G6
zÁ
X: 979
T: Staccato test, plus bowing articulations
M: 2/4
L: 1/16
K: Edor
B,2|!diminuendo(!.E^D.E-E!diminuendo)! ((3.G.F.G)BvA)|E^DEF (3(G-GG))BuA|(E(^DuE)F) (3(GF)G)A-A|(E^DEF (3(GFG)))BA|G6
zÈ
X: 979
T: Staccato test, plus accents and tenuto marks
M: 2/4
L: 1/16
K: Edor
B,2|!diminuendo(!.E^D.E-E!diminuendo)! ((3.G.F.KG)BA)|E^DMEF (3(G-GG))BkMA|(E(^DE)F) (3(kGKF)G)A-A|(E^DEF (3(GFG)))BA|G6
z 
X: 979
T: Slur test, plus grace notes
M: 2/4
L: 1/16
K: Edor
B,2|{E^DEE} E^DEE ((3GFG)BA)|E^DEF {CDEFGAB}(3(GFG))BA|(E(^DE)F) (3(GF)G)BA|(E^DEF (3(GFG)))BA|G6
zÅ
X: 979
T: Guinea Pig
M: 2/4
L: 1/16
K: Edor
B,2|!diminuendo(!KE^DkK.uvME-E!diminuendo)! !GARBAGE! {CDEFGAB} ((3.G.FG){BA}BA)|{E^DMEF} E^DMEF(3(G-GG))BA|(E(^DE)F) (3(GF)G)A-A|(E^DEF (3(GFG)))BA|G6
zÛ
M:4/4
ed|cecA B2ed|cAcA E2ed|cecA B2ed|c2A2 A2:|
K:G

AB|cdec BcdB|ABAF GFE2|cdec BcdB|c2A2 A2:|

% comment line

E2E EFE|E2E EFG|M:9/8
A2G F2E D2|]

"C"[CEGc] "Gm7"[.=G,^c']

(3.a.b.c  % stacato
vAuBvA  % up down bow
zÁM:6/8
L:1/8
K:G
V:1 name="Whistle" snm="wh"
B3 A3 | G6 | B3 A3 | G6 ||
V:2 name="violin" snm="v"
BdB AcA | GAG D3 | BdB AcA | D6 ||
V:3 name="Bass" snm="b" clef=bass
D3 D3 | D6 | D3 D3 | D6 ||
z‹M:4/4
K:E
T:Test Tuplet Primitive
(3.c=c^c (5ccc=cc (6ccccc=f (7Bcc^^c=cc^f

(3.c2=c2^c2 (3.c2=c2^c2

(6c/c/c/c/c/=f/ (6B/c/c/^^c/c/^f/ z4
aˆ  %abc-2.1
M:4/4
O:Irish
R:Reel

X:1
T:Untitled Reel
C:Trad.
K:D
eg|a2ab ageg|agbg agef|g2g2 fgag|f2d2 d2:|ed|cecA B2ed|cAcA E2ed|cecA B2ed|c2A2 A2:|
K:G
AB|cdec BcdB|ABAF GFE2|cdec BcdB|c2A2 A2:|

X:2
T:Kitchen Girl
C:Trad.
K:D
[c4a4] [B4g4] | efed c2cd|e2f2 gaba|g2e2 e2fg|
a4 g4|efed cdef|g2d2 efed|c2A2 A4:|
K:G
ABcA BAGB|ABAG EDEG|A2AB c2d2|e3f edcB|ABcA BAGB|
ABAG EGAB|cBAc BAG2|A4 A4:|
zM
X:1
T:Example 16-13
L:1/4
M:3/4
K:F
V:1
fz((6:4F,//A,//C//F//A//c// e/d/)dz
zA
X:4
T:D Fragment
C:Czerny
M:C
K:C#
L:1/16
CEDF EGFA GBAc Bdce|]
z†
X:213
T:Through Measure
L:1/16
Q:1/4=104
M:4/4
K:G
V:1 treble
V:1
(=fe^d^c _BcdB) fB=BB c=cc^c|c4d2f2 ^G2=f2B2^A2-|A4F4 A2B2  c2f2|]
zU
X:213
T:Tie Through Measure
L:1/8
M:4/4
K:G
V:1 treble
V:1
z8 ^G=fB^A-|A2F2 AB cf|]
z~
%abc-2.1
%%propagate-accidentals octave
X:213
T:Directive Octave
L:1/8
M:4/4
K:G
V:1 treble
V:1
g^G_ag a=ffF|=F2^c2 FB =ca|]
z|
%abc-2.1
%%propagate-accidentals pitch
X:213
T:Directive Pitch
L:1/8
M:4/4
K:G
V:1 treble
V:1
g^G_ag a=ffF|=F2^c2 FB =ca|]
zx
%abc-2.1
%%propagate-accidentals not
X:213
T:Directive Not
L:1/8
M:4/4
K:G
V:1 treble
V:1
g^G_ag a=ffF|=F2^c2 FB =ca|]
c                ó   — dS )z.
    Get test material by type of content
    N© )ÚcontentRequests    ú�/Users/tedpeters/Documents/Projects/Claude Projects/Misc Tools/notename-sheets/.venv/lib/python3.11/site-packages/music21/abcFormat/testFiles.pyÚgetr	   „  s	   € ð 	€Dó    c                  óD   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
S )ÚTestc                óî  — ddl m} ddlm} ddlm} |                     ¦   «         }|                     ¦   «         }t          t          ¦  «        D ]¥\  }}| 
                    |¦  «        }|                     ¦   «         }	t                               |	g¦  «         |                     |¦  «        }
	 |                     |
¦  «        }Œu# t           $ r$}t                               d|› �¦  «         |‚d }~ww xY wd S )Nr   ©Ú	abcFormat©Ú	translate)Úm21ToXmlzAbout to fail on ABC file #)Úmusic21r   Úmusic21.abcFormatr   Úmusic21.musicxmlr   ÚABCFileÚGeneralObjectExporterÚ	enumerateÚALLÚreadstrÚgetTitleÚenvironLocalÚ
printDebugÚabcToStreamScoreÚparseÚUnicodeDecodeErrorÚwarn)Úselfr   r   r   ÚafÚGEXÚiÚtfÚahÚtitleÚsÚ
unused_outÚudes                r   Ú	testBasiczTest.testBasic�  s  € Ø%Ð%Ð%Ð%Ð%Ð%Ø/Ð/Ð/Ð/Ð/Ð/Ø-Ð-Ð-Ð-Ð-Ð-à×ÒÑ Ô ˆØ×,Ò,Ñ.Ô.ˆå�s‘^”^ð 	ð 	‰EˆAˆrØ—’˜B‘”ˆBØ—K’K‘M”MˆEÝ×#Ò# U GÑ,Ô,Ð,Ø×*Ò*¨2Ñ.Ô.ˆAðØ ŸYšY q™\œ\�
�
øÝ%ð ð ð Ý×!Ò!Ð"CÀÐ"CÐ"CÑDÔDÐDØ�	øøøøðøøøð	ð 	s   Â.CÃ
C2ÃC-Ã-C2c                ó   — ddl m} ddlm} |                     ¦   «         }|                     t          ¦  «        }|                     |¦  «        }|j        d         j	        j
        }|                      |dd¦  «         d S )Nr   r   r   é   z-C# key signature should be parsed as 7 sharps)r   r   r   r   r   r   ÚczernyCsharpr   ÚpartsÚkeySignatureÚsharpsÚassertEqual)r"   r   r   r#   r'   r)   r2   s          r   ÚtestKeySignatureszTest.testKeySignatures£  s‹   € Ø%Ð%Ð%Ð%Ð%Ð%Ø/Ð/Ð/Ð/Ð/Ð/Ø×ÒÑ Ô ˆØ�ZŠZ�Ñ%Ô%ˆØ×&Ò& rÑ*Ô*ˆØ”˜”Ô(Ô/ˆØ×Ò˜ Ð$SÑTÔTÐTÐTÐTr
   c                ó   — ddl m} ddl m} ddlm} |                     d¬¦  «        }|                     t          ¦  «        }|                     ¦   «         }t           
                    |g¦  «         |                     |¦  «        }|                     ¦   «                              |j        ¦  «        }|d         }	|d         }
|                      |	j        j        |
j        j        d	¦  «         |d
         }|d         }|                      |j        j        |j        j        d¦  «         |d         }|d         }|                      |j        j        |j        j        d¦  «         |                      |d         j        j        dd	¦  «         |                      |d         j        j        dd¦  «         |                      |d         j        j        dd¦  «         |                      |d         j        j        dd¦  «         |                      |d         j        j        dd¦  «         |                      |d         j        j        dd¦  «         d S )Nr   r   ©Únoter   ©é   é   r   )Ú
abcVersioné   é   ú$Sharp does not carry through measureé   r.   ú#Flat does not carry through measureé
   é   ú&Natural does not carry through measureé   éI   é   éH   úNatural is ignoredé   é   z&Sharp carries over measure incorrectlyé   éJ   z+Sharp (D5) carries over measure incorrectlyé   éN   z-Natural (F5) carries over measure incorrectly)r   r   r7   r   r   r   r   ÚcarryThroughr   r   r   r   ÚflattenÚgetElementsByClassÚNoter3   ÚpitchÚmidi)r"   r   r7   r   r#   r'   r(   r)   ÚnotesÚcSharpÚcThroughÚbFlatÚbLastÚbNatÚbNatNexts                  r   Ú	testAbc21zTest.testAbc21¬  s4  € Ø%Ð%Ð%Ð%Ð%Ð%Ø Ð Ð Ð Ð Ð Ø/Ð/Ð/Ð/Ð/Ð/à×Ò¨)ÐÑ4Ô4ˆØ�ZŠZ�Ñ%Ô%ˆØ—’‘”ˆÝ×Ò  Ñ(Ô(Ð(Ø×&Ò& rÑ*Ô*ˆØ—	’	‘”×.Ò.¨t¬yÑ9Ô9ˆØ�q”ˆØ˜”8ˆØ×Ò˜œÔ*¨H¬NÔ,?Ø?ñ	Aô 	Að 	Aà�a”ˆØ�a”ˆØ×Ò˜œÔ)¨5¬;Ô+;Ð=bÑcÔcÐcØ�RŒyˆØ˜”9ˆØ×Ò˜œœ¨(¬.Ô*=ØAñ	Cô 	Cð 	Cà×Ò˜˜rœœÔ-¨rÐ3YÑZÔZÐZØ×Ò˜˜rœœÔ-¨rÐ3GÑHÔHÐHØ×Ò˜˜rœœÔ-¨rÐ3[Ñ\Ô\Ð\Ø×Ò˜˜rœœÔ-¨rÐ3[Ñ\Ô\Ð\Ø×Ò˜˜rœœÔ-¨rÐ3`ÑaÔaÐaØ×Ò˜˜rœœÔ-¨rÐ3bÑcÔcÐcÐcÐcr
   c                ó„  — ddl m} ddl m} ddlm} |                     ¦   «         }|                     t          ¦  «        }|                     |¦  «        }| 	                    ¦   «          
                    |j        ¦  «        }|d         }|d         }	|                      |j        j        dz  |	j        j        dz  d¦  «         |d	         }
|d
         }|                      |
j        j        |j        j        d¦  «         |d         }|d         }|d         }|                      |j        j        |j        j        d¦  «         |                      |j        j        dz  |j        j        dz  d¦  «         |                      |d         j        j        dd¦  «         |                      |d         j        j        dd¦  «         d S )Nr   r   r6   r   r:   r<   rD   r>   r9   r?   r@   r=   é   r.   rC   é   éA   rH   rG   )r   r   r7   r   r   r   r   ÚdirectiveCarryPitchr   rP   rQ   rR   r3   rS   rT   ©r"   r   r7   r   r#   r'   r)   rU   ÚgSharpÚg8vaÚaFlatÚaÚfNatÚfÚf8bas                  r   ÚtestAbc21DirectiveCarryPitchz!Test.testAbc21DirectiveCarryPitchÍ  sÞ  € Ø%Ð%Ð%Ð%Ð%Ð%Ø Ð Ð Ð Ð Ð Ø/Ð/Ð/Ð/Ð/Ð/à×ÒÑ Ô ˆØ�ZŠZÕ+Ñ,Ô,ˆØ×&Ò& rÑ*Ô*ˆØ—	’	‘”×.Ò.¨t¬yÑ9Ô9ˆØ�q”ˆØ�QŒxˆØ×Ò˜œÔ*¨RÑ/Øœœ¨2Ñ-Ø?ñ	Aô 	Að 	Að �a”ˆØ�!ŒHˆØ×Ò˜œÔ)ØœœØ>ñ	@ô 	@ð 	@ð �QŒxˆØ�!ŒHˆØ�QŒxˆØ×Ò˜œœØœœØAñ	Cô 	Cð 	Cð 	×Ò˜œœ¨2Ñ-Øœœ¨2Ñ-ØAñ	Cô 	Cð 	Cð 	×Ò˜˜qœœÔ,¨bÐ2FÑGÔGÐGØ×Ò˜˜rœœÔ-¨rÐ3GÑHÔHÐHÐHÐHr
   c                óð  — ddl m} ddl m} ddlm} |                     ¦   «         }|                      |j        d¦  «         |                     t          ¦  «        }|                      |j        d¦  «         | 
                    |¦  «        }|                     ¦   «                              |j        ¦  «        }|d         }|d         }	|                      |j        j        d	z  |	j        j        d	z  d
¦  «         |d         }
|d         }|                      |
j        j        |j        j        d¦  «         |d         }|d         }|d         }|                      |j        j        |j        j        d¦  «         |                      |j        j        d	z  |j        j        d	z  d¦  «         |                      |d         j        j        dd¦  «         |                      |d	         j        j        dd¦  «         d S )Nr   r   r6   r   )r:   r<   r   r8   r:   r<   rD   úSharp carries beyond its octaver9   r?   r@   r=   r^   r.   rC   ú!Natural carries beyond its octaver_   r`   rH   rG   )r   r   r7   r   r   r   r3   r;   r   ÚdirectiveCarryOctaver   rP   rQ   rR   ÚassertGreaterrS   rT   Ú
assertLessrb   s                  r   ÚtestAbc21DirectiveCarryOctavez"Test.testAbc21DirectiveCarryOctaveì  s  € Ø%Ð%Ð%Ð%Ð%Ð%Ø Ð Ð Ð Ð Ð Ø/Ð/Ð/Ð/Ð/Ð/à×ÒÑ Ô ˆØ×Ò˜œ¨	Ñ2Ô2Ð2Ø�ZŠZÕ,Ñ-Ô-ˆØ×Ò˜œ¨	Ñ2Ô2Ð2Ø×&Ò& rÑ*Ô*ˆØ—	’	‘”×.Ò.¨t¬yÑ9Ô9ˆØ�q”ˆØ�QŒxˆØ×Ò˜6œ<Ô,¨rÑ1Øœ:œ?¨RÑ/Ø<ñ	>ô 	>ð 	>ð �a”ˆØ�!ŒHˆØ×Ò˜œÔ)ØœœØ>ñ	@ô 	@ð 	@ð �QŒxˆØ�!ŒHˆØ�QŒxˆØ×Ò˜œœØœœØAñ	Cô 	Cð 	Cð 	�Š˜œ
œ¨"Ñ,Øœ
œ¨"Ñ,Ø;ñ	=ô 	=ð 	=ð 	×Ò˜˜qœœÔ,¨bÐ2FÑGÔGÐGØ×Ò˜˜rœœÔ-¨rÐ3GÑHÔHÐHÐHÐHr
   c                ó„  — ddl m} ddl m} ddlm} |                     ¦   «         }|                     t          ¦  «        }|                     |¦  «        }| 	                    ¦   «          
                    |j        ¦  «        }|d         }|d         }	|                      |j        j        dz  |	j        j        dz  d¦  «         |d	         }
|d
         }|                      |
j        j        |j        j        d¦  «         |d         }|d         }|d         }|                      |j        j        |j        j        d¦  «         |                      |j        j        dz  |j        j        dz  d¦  «         |                      |d         j        j        dd¦  «         |                      |d         j        j        dd¦  «         d S )Nr   r   r6   r   r:   r<   rD   rl   r9   r?   zFlat carries through measurer=   r^   r.   zNatural carries through measurerm   r_   r`   rH   rG   )r   r   r7   r   r   r   r   ÚdirectiveCarryNotr   rP   rQ   rR   ro   rS   rT   rp   r3   rb   s                  r   ÚtestAbc21DirectiveCarryNotzTest.testAbc21DirectiveCarryNot  sÌ  € Ø%Ð%Ð%Ð%Ð%Ð%Ø Ð Ð Ð Ð Ð Ø/Ð/Ð/Ð/Ð/Ð/à×ÒÑ Ô ˆØ�ZŠZÕ)Ñ*Ô*ˆØ×&Ò& rÑ*Ô*ˆØ—	’	‘”×.Ò.¨t¬yÑ9Ô9ˆØ�q”ˆØ�QŒxˆØ×Ò˜6œ<Ô,¨rÑ1Øœ:œ?¨RÑ/Ø<ñ	>ô 	>ð 	>ð �a”ˆØ�!ŒHˆØ�Š˜œÔ(ØœœØ6ñ	8ô 	8ð 	8ð �QŒxˆØ�!ŒHˆØ�QŒxˆØ�Š˜œ
œØœœØ9ñ	;ô 	;ð 	;ð 	�Š˜œ
œ¨"Ñ,Øœ
œ¨"Ñ,Ø;ñ	=ô 	=ð 	=ð 	×Ò˜˜qœœÔ,¨bÐ2FÑGÔGÐGØ×Ò˜˜rœœÔ-¨rÐ3GÑHÔHÐHÐHÐHr
   c                ó:  — ddl m} ddl m} ddlm} |                     ¦   «         }d}dD ]n}|                     |dz   ¦  «        }|                     |¦  «        }|j        d         }	|  	                    |	 
                    |j        ¦  «        d|› d	�¦  «         Œod
dg d¢fddddg d¢fdddg d¢fddddg d¢fdddg d¢fdg}
|
D ]×\  }}}|                     ||z   ¦  «        }|                     |¦  «        }|                      |j        j        |d|› d�¦  «         |j        d         j        }|d         }|                      t!          |¦  «        dd¦  «         |                      ||j        d¦  «         |D ]"}|                      ||j        d |› d�¦  «         Œ#ŒØd!S )"z5
        Translation of ABC Chord variations
        r   r   )Úchordr   úL:1/8
)ú[]z[z]rx   zEmpty chord "z
" in Scorez[c_eg]ç      à?)ÚCzE-ÚG)z[ceg]ry   ÚCEG)z[ceg]2ç      ð?r|   z	[c2e2^g2]r}   )rz   ÚEzG#)z[c'e2g]ry   r|   z[ce^g2])z[c,2e2g2]/2ry   r|   )z[c/2e'/2=g/2]ç      Ð?r|   z[c2_e,,/2g/2]/2)z[c/2e/2g/2]2ry   r|   z[^c/2e/2g/2]/2ç      À?)zC#r~   r{   zinvalid duration of chord "ú"r:   zWrong number of chords found,zNot a Chord!zPitch not in Chord "N)r   r   rv   r   r   r   r   r   r0   ÚassertFalserQ   ÚChordr3   ÚdurationÚquarterLengthrU   ÚlenÚassertIsInstanceÚassertInÚ
pitchNames)r"   r   rv   r   r#   Úabc_dlÚ	abc_chordr'   r)   ÚpartÚ
abc_chordsÚquarter_lengthÚchord_pitchesrU   Úchord0Ú
pitch_names                   r   ÚtestAbc21ChordszTest.testAbc21Chords,  si  € ð 	&Ð%Ð%Ð%Ð%Ð%Ø!Ð!Ð!Ð!Ð!Ð!Ø/Ð/Ð/Ð/Ð/Ð/à×ÒÑ Ô ˆàˆð 'ð 	Dð 	DˆIØ—’˜F T™MÑ*Ô*ˆBØ×*Ò*¨2Ñ.Ô.ˆAØ”7˜1”:ˆDØ×Ò˜T×4Ò4°U´[ÑAÔAØB¨YÐBÐBÐBñDô Dð Dð Dð �sÐ,Ð,Ð,Ð-Ø!Ø"Ø˜#Ð/Ð/Ð/Ð0Ø#Ø˜Ð-Ð-Ð-Ð.Ø'Ø*Ø Ð%5Ð%5Ð%5Ð6Ø(Ø˜uÐ&6Ð&6Ð&6Ð7Ø!ð
ˆ
ð 9Cð 	Cð 	CÑ4ˆI�~ }Ø—’˜F YÑ.Ñ/Ô/ˆBØ×*Ò*¨2Ñ.Ô.ˆAØ×Ò˜QœZÔ5°~ØG¸9ÐGÐGÐGñIô Ið Ið ”G˜A”JÔ$ˆEØ˜1”XˆFØ×Ò�S ™ZœZ¨Ð,KÑLÔLÐLØ×!Ò! &¨%¬+°~ÑFÔFÐFØ+ð Cð C�
Ø—’˜j¨&Ô*;ØA°YÐAÐAÐAñCô Cð Cð CðCð	Cð 	Cr
   c           	     óŽ  — ddl m} ddl m} ddlm} d}|                     ¦   «         }dD ]™}|                     ||z   ¦  «        }|                     |¦  «        j        d         }| 	                    |j
        ¦  «        }	|                      |	d|› d�¦  «         d	D ](}
|                      |
|	d         j        d
|› d�¦  «         Œ)Œšd S )Nr   r   )Úharmonyr   rw   )z"C"Cz"C"[ceg]zNo ChordSymbol found in abc: "r�   r|   z"Pitch not in ChordSymbol of abc: ")r   r   r”   r   r   r   r   r   r0   rQ   ÚChordSymbolÚ
assertTruerˆ   r‰   )r"   r   r”   r   rŠ   r#   Úabc_textr'   rŒ   Úchord_symbolr‘   s              r   ÚtestAbc21ChordSymbolzTest.testAbc21ChordSymbol_  s#  € à%Ð%Ð%Ð%Ð%Ð%Ø#Ð#Ð#Ð#Ð#Ð#Ø/Ð/Ð/Ð/Ð/Ð/ð ˆà×ÒÑ Ô ˆØ,ð 	Pð 	PˆHØ—’˜F XÑ-Ñ.Ô.ˆBØ×-Ò-¨bÑ1Ô1Ô7¸Ô:ˆDØ×2Ò2°7Ô3FÑGÔGˆLØ�OŠO˜LÐ*VÈ8Ð*VÐ*VÐ*VÑWÔWÐWØ#ð Pð P�
Ø—’˜j¨,°q¬/Ô*DØNÀ8ÐNÐNÐNñPô Pð Pð PðPð	Pð 	Pr
   c                óþ  — ddl m} ddl m} ddlm} d}g d¢}|                     ¦   «         }|D ]Í\  }}}	|                     ||z   ¦  «        }
|                     |
¦  «        j        d         }| 	                    |j
        ¦  «        }|                      t          |¦  «        dd|› d	�¦  «         |\  }}|                      |j        j        |d
|› �¦  «         |                      |j        j        |	d|› �¦  «         ŒÎd S )Nr   r   r6   r   zL:1/4
))z[ceg]<fry   ç      ø?)zf<[ceg]ry   r›   )zc>gr›   ry   )zc<gry   r›   )zc>>=gç      ü?r   )zc<<gr   rœ   )zc>>>gç      þ?r€   )zc<<<_gr€   r�   )z[ceg]>^fr›   ry   )z	[ce^g]>>frœ   r   )z[ceg]<<fr   rœ   )z	[ceg]>>>fr�   r€   )z	[ceg]<<<fr€   r�   )zf>[ceg]r›   ry   )z	f>>[_ceg]rœ   r   )z	f'<<[ceg]r   rœ   )z
f,>>>[ceg]r�   r€   )z
f<<<[ce_g]r€   r�   )z	f<<<[ceg]r€   r�   )zf2>[ceg]r<   ry   )z[ceg]>f2r›   r:   )z	f>[c_eg]2r›   r:   )z	[c^eg]2>fr<   ry   )zf2<[ceg]r}   r›   )z[ceg]<f2ry   r<   )zf<[ceg]2ry   r<   )z[ceg]2<fr}   r›   r9   z%Wrong numbers of Notes found in abc: ú!z5Invalid left note/chord length of abc broken rhythm: z6Invalid right note/chord length of abc broken rhythm: )r   r   r7   r   r   r   r   r   r0   rQ   ÚGeneralNoter3   r†   r„   r…   )r"   r   r7   r   rŠ   Údatar#   ÚabcÚ	soll_leftÚ
soll_rightr'   rŒ   Úgeneral_notesÚist_leftÚ	ist_rights                  r   ÚtestAbc21BrokenRhythmzTest.testAbc21BrokenRhythmr  st  € à%Ð%Ð%Ð%Ð%Ð%Ø Ð Ð Ð Ð Ð Ø/Ð/Ð/Ð/Ð/Ð/ð ˆð

ð 
ð 
ˆð< ×ÒÑ Ô ˆØ*.ð 
	]ð 
	]Ñ&ˆC�˜JØ—’˜F S™LÑ)Ô)ˆBØ×-Ò-¨bÑ1Ô1Ô7¸Ô:ˆDØ ×3Ò3°DÔ4DÑEÔEˆMØ×Ò�S Ñ/Ô/°ØKÀSÐKÐKÐKñMô Mð Mà"/ÑˆH�iØ×Ò˜XÔ.Ô<¸iØZÐUXÐZÐZñ\ô \ð \à×Ò˜YÔ/Ô=¸zØ[ÐVYÐ[Ð[ñ]ô ]ð ]ð ]ð
	]ð 
	]r
   N)Ú__name__Ú
__module__Ú__qualname__r,   r4   r\   rj   rq   rt   r’   r™   r§   r   r
   r   r   r   Œ  s¸   € € € € € ðð ð ð,Uð Uð Uðdð dð dðBIð Ið Ið>Ið Ið IðBIð Ið Ið>1Cð 1Cð 1CðfPð Pð Pð&5]ð 5]ð 5]ð 5]ð 5]r
   r   Ú__main__)1Ú
__future__r   Úunittestr   r   ÚEnvironmentr   Ú_DOC_IGNORE_MODULE_OR_PACKAGEÚfyrareprisarnÚmysteryReelÚfullRiggedShipÚ	aleIsDearÚ	kitchGirlÚwilliamAndNancyÚmorrisonsJigÚhectorTheHeroÚkingOfTheFairiesÚ	sicutRosaÚtheAleWifesDaughterÚtheBeggerBoyÚtheBattleOfTheSnaBasÚdraughtOfAleÚvalentineJiggÚslurTestÚtieTestÚ	crescTestÚdimTestÚ	staccTestÚbowTestÚaccTestÚ	graceTestÚguineapigTestÚtestPrimitiveÚtestPrimitivePolyphonicÚtestPrimitiveTupletÚ
reelsABC21Ú
sponge1613r/   rO   ÚtieOverrn   ra   rs   r   r	   ÚTestCaser   r¨   ÚmainTestr   r
   r   ú<module>rÐ      s  ðð #Ð "Ð "Ð "Ð "Ð "à €€€ð  Ð Ð Ð Ð Ð à&ˆ{Ô&Ð'<Ñ=Ô=€à $Ð ð
€ð2€ð€ð,-€	ð`€	ð(€ð*€ð&€ð,Ð ð:€	ð@Ð ð$€ð:Ð ð$€ð$!€ðN€ð€ð€	ð€ð€	ð€ð€ð€	ð€ð€ð&	Ð ðÐ ð€
ð2€
ð€ð
€ð	€ðÐ ðÐ ðÐ ð �k >°9¸iØ˜ }Ð6FØÐ&¨Ð6JØØØÐ.Ð0Cð	€ð	ð 	ð 	ð[]ð []ð []ð []ð []ˆ8Ôñ []ô []ð []ð| ˆzÒÐØ€N€N€Nà€GÔ�TÑÔÐÐÐð Ðr
   