§
    ƒØj•®  ã                  ó,  — d Z ddlmZ ddlZddlZddlZddlZddlmZ ddlm	Z	 ddlm
Z
 ddlmZ ddlmZ dd	lmZ dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ej        rddlmZ  ej        d¦  «        Zej        ej        ej        ej        ej        ej        dœZ 	 	 d9d:d„Z!d;d%„Z"d<d)„Z#d=d.„Z$d>d/„Z%d9d0„Z&d1d2œd3„Z' G d4„ d5ej(        ¦  «        Z) G d6„ d7ej*        ¦  «        Z+e,d8k    rddlZ ej-        e+¦  «         dS dS )?aD  
Functions for translating music21 objects and
:class:`~music21.abcFormat.ABCHandler` instances.
Mostly, these functions are for advanced, low level usage.
For basic importing of ABC files from a file or URL to a
:class:`~music21.stream.Stream`, use the music21 converter
module's :func:`~music21.converter.parse` function.
é    )ÚannotationsN)Úarticulations)Úbar)Úclef)Úchord)Úcommon)Úenvironment)Úexceptions21)Úharmony)Úmeter)Únote)Úspanner)Ústream)Útempo)Útie©Ú	abcFormatzabcFormat.translate)ÚstaccatoÚupbowÚdownbowÚaccentÚstrongaccentÚtenutoÚ
abcHandlerúabcFormat.ABCHandlerÚinputM21ústream.Part | NoneÚspannerBundleúspanner.SpannerBundle | NoneÚreturnústream.Partc                óì
  — ddl m} |€t          j        ¦   «         }n|}|€t	          j        ¦   «         }d}d}g }|                      ¦   «         rH|                      ¦   «         }t          j	        t          |j                  |j        |¦  «        ¦  «        }n| g}t          |¦  «        dk    rd}	nd}	d}
d}|D �]Ô}t          j        rt          ||j        ¦  «        sJ ‚|	�r|                     ¦   «         �rt          j        ¦   «         }|j        ��|j                             ¦   «         }|�||_        |j                             ¦   «         rá|                     t          j        ¦  «                             d¦  «        }|sHt	          j        |¦  «        }|j                             ¦   «         |_        |                     |¦  «         nAt          j	        t          j        |d         ¦  «        }|                     |¦  «         d|_        |j                             ¦   «         dk    rd|_        |j        �½|j                             ¦   «         }|�||_        |j                              ¦   «         r‚|                     t          j        ¦  «                             d¦  «        }tC          |¦  «        rAt          j	        t          j        |d         ¦  «        }|                     |¦  «         d|_        |
dz  }
n|}tE          ||||	¦  «        \  }}|	r|t          |t          j        ¦  «        rb|
dk    r;|j#        �4| $                    ¦   «         dk     r| %                    ¦   «          d|_        n||_        |dz  }| &                    |¦  «         �ŒÖ| '                    ¦   «          	 tQ          |d¬	¦  «         n"# tR          tT          j+        tX          f$ r Y nw xY w|s›|tZ          j.                 s‰|	r]| /                    t          j        ¦  «         0                    ¦   «         }t          j        r|€J ‚t[          j1        |d¬
¦  «        |_-        n*| 2                    dt[          j1        |d¬
¦  «        ¦  «         |dk    r| 3                    |d¬	¦  «         |	ro|tT          j4                 r]	 | 5                    d¬	¦  «         nE# tT          j+        t          j6        f$ r'}tn           8                    d|› �¦  «         Y d}~nd}~ww xY wg }|                     d¦  «        D ]-}| 9                    d|¦  «         |                     |¦  «         Œ.|D ]}| :                    |¦  «         Œ| '                    ¦   «          |S )zÏ
    Handler conversion of a single Part of a Score with multiple Parts.
    Results are added into the provided inputM21 object
    or a newly created Part object

    The part object is then returned.
    r   r   Né   FTé   ç      ð?©ÚinPlace)ÚrecursezError in beaming. Ignoring: );Úmusic21r   r   ÚPartr   ÚSpannerBundleÚdefinesMeasuresÚsplitByMeasureÚtypingÚcastÚlistÚ
ABCHandlerÚmergeLeadingMetaDataÚlenÚTYPE_CHECKINGÚ
isinstanceÚABCHandlerBarÚhasNotesÚMeasureÚleftBarTokenÚgetBarObjectÚleftBarlineÚisRepeatBracketÚ
getByClassÚRepeatBracketÚgetByCompleteStatusÚnumberÚappendÚaddSpannedElementsÚcompleteStatusÚrightBarTokenÚrightBarlineÚisRepeatÚanyÚparseTokensÚtimeSignatureÚbarDurationProportionÚpadAsAnacrusisÚ
coreAppendÚcoreElementsChangedÚreBarÚABCTranslateExceptionr   ÚMeterExceptionÚZeroDivisionErrorr   ÚClefÚgetElementsByClassÚfirstÚbestClefÚinsertÚ	transposeÚTimeSignatureÚ	makeBeamsÚStreamExceptionÚenvironLocalÚwarnÚ
coreInsertÚremove)r   r   r   r   ÚpÚclefSetÚpostTranspositionÚmergedHandlersÚbarHandlersÚuseMeasuresÚbarCountÚmeasureNumberÚmhÚdstÚbLeftÚ
rbSpannersÚrbÚbRightÚmÚeÚrmÚsps                         ú�/Users/tedpeters/Documents/Projects/Claude Projects/Misc Tools/notename-sheets/.venv/lib/python3.11/site-packages/music21/abcFormat/translate.pyÚabcToStreamPartrr   :   sÕ  € ð "Ð!Ð!Ð!Ð!Ð!àÐÝŒK‰MŒMˆˆàˆàÐåÔ-Ñ/Ô/ˆà€GØÐð 24€Nð ×!Ò!Ñ#Ô#ð 
&ð !×/Ò/Ñ1Ô1ˆõ  œ¥T¨)Ô*>Ô%?Ø%C YÔ%CÀKÑ%PÔ%PñRô Rˆˆð %˜ˆõ ˆ>ÑÔ˜aÒÐØˆˆàˆð
 €HØ€Mð ð Zñ ZˆÝÔð 	;Ý˜b )Ô"9Ñ:Ô:Ð:Ð:Ð:ð
 ñ :	˜2Ÿ;š;™=œ=ñ :	õ ”.Ñ"Ô"ˆCð
 ŒÑ*àœ×4Ò4Ñ6Ô6�ØÐ$Ø&+�C”OØ”?×2Ò2Ñ4Ô4ð 1à!.×!9Ò!9½'Ô:Oñ "<ô "<ß<OÒ<OÐPUÑ<VÔ<Vð ð
 &ð 
1å$Ô2°3Ñ7Ô7˜à$&¤O×$CÒ$CÑ$EÔ$E˜œ	à%×,Ò,¨RÑ0Ô0Ð0Ð0å#œ[­Ô)>À
È1ÄÑNÔN˜Ø×-Ò-¨cÑ2Ô2Ð2Ø,0˜Ô)ð ”×6Ò6Ñ8Ô8¸AÒ=Ð=Ø,0˜Ô)àÔÐ+ØÔ)×6Ò6Ñ8Ô8�ØÐ%Ø'-�CÔ$ð Ô#×,Ò,Ñ.Ô.ð 
1ð
 "/×!9Ò!9ÝÔ-ñ"/ô "/ß/BÒ/BÀ5Ñ/IÔ/Ið å˜:‘”ð 1Ý#œ[­Ô)>À
È1ÄÑNÔN˜Ø×-Ò-¨cÑ2Ô2Ð2Ø,0˜Ô)ð ˜‰MˆHˆHàˆCõ
 &1°°S¸!¸[Ñ%IÔ%IÑ"Ð˜7ð ð 	�: c­6¬>Ñ:Ô:ð 	ð
 ˜1Š}ˆ} Ô!2Ð!>à×,Ò,Ñ.Ô.°Ò4Ð4Ø×&Ò&Ñ(Ô(Ð(Ø!"�C”Jøð
 +�”
Ø Ñ"�Ø�LŠL˜ÑÔÐùà×ÒÑÔÐðÝˆa˜ÐÑÔÐÐøÝ!¥5Ô#7Õ9JÐKð ð ð Øˆðøøøð ð 8˜1�TœYœ<ð 8Øð 	8Ø×$Ò$¥V¤^Ñ4Ô4×:Ò:Ñ<Ô<ˆAÝÔ#ð %Ø�}�}�}Ý”] 1¨dÐ3Ñ3Ô3ˆAŒFˆFà�HŠH�Q�œ a°Ð6Ñ6Ô6Ñ7Ô7Ð7à˜AÒÐØ	�ŠÐ%¨tˆÑ4Ô4Ð4àð B�q�Ô,Ô-ð Bð	BØ�KŠK ˆKÑ%Ô%Ð%Ð%øÝÔ$¥fÔ&<Ð=ð 	Bð 	Bð 	BÝ×ÒÐ@¸QÐ@Ð@ÑAÔAÐAÐAÐAÐAÐAÐAøøøøð	Bøøøð 
€BØ×/Ò/°Ñ5Ô5ð ð ˆØ	�Š�Q˜ÑÔÐØ
�	Š	�"‰Œˆˆàð !ð !ˆØ×Ò˜RÑ Ô Ð Ð Ø×ÒÑÔÐð €Hs*   Î"N4 Î4OÏOÒ%R< Ò<S>ÓS9Ó9S>rg   rh   ústream.Measure | stream.Partr_   rd   Úboolútuple[int, bool]c                óž  — ddl m} d}d}| j        D �]#}t          ||j        ¦  «        rt          |||||¦  «        \  }}Œ/t          ||j        ¦  «        rt          ||¦  «         ŒUt          ||j        ¦  «        r0t          j
        r	|j        €J ‚|                     |j        ¦  «         Œšt          ||j        ¦  «        r0t          j
        r	|j        €J ‚|                     |j        ¦  «         Œßt          ||j        ¦  «        r/t          j
        r	|j        €J ‚|                     |j        ¦  «         �Œ%|                     ¦   «          ||fS )z5
    parses all the tokens in a measure or part.
    r   r   F)r)   r   Útokensr5   ÚABCMetadataÚmetadataToM21ObjectÚABCNoteÚparseABCNoteÚABCSlurStartr.   r4   ÚslurObjrL   ÚABCCrescStartÚcrescObjÚABCDimStartÚdimObjrM   )rg   rh   r_   rd   r   ra   r`   Úts           rq   rH   rH   ü   s~  € ð "Ð!Ð!Ð!Ð!Ð!àÐØ€GØŒYð #ñ #ˆÝ�a˜Ô.Ñ/Ô/ð 	#Ý)<Ø�3Ð)¨7°Kñ*ô *Ñ&Ð˜w˜wõ ˜˜9Ô,Ñ-Ô-ð 	#Ý˜˜CÑ Ô Ð Ð Ý˜˜9Ô1Ñ2Ô2ð 	#ÝÔ#ð -Ø”yÐ,Ð,Ð,Ø�LŠL˜œÑ#Ô#Ð#Ð#Ý˜˜9Ô2Ñ3Ô3ð 	#ÝÔ#ð .Ø”zÐ-Ð-Ð-Ø�LŠL˜œÑ$Ô$Ð$Ð$Ý˜˜9Ô0Ñ1Ô1ð 	#ÝÔ#ð ,Ø”xÐ+Ð+Ð+Ø�LŠL˜œÑ"Ô"Ð"ùØ×ÒÑÔÐØ˜gÐ%Ð%ó    r‚   úabcFormat.ABCNoteÚNonec                ó 	  — ddl m} | j        rò| j        d         }t          j        dd|¦  «                             ¦   «                              ¦   «         }t          j        dd|¦  «        }t          j        |¦  «        }	 |dv rt          j
        |¦  «        }n+|                     d¦  «        rdS t          j        |¦  «        }|                     |d	¬
¦  «         |                     ¦   «          n# t          $ r Y nw xY wt!          | |j        ¦  «        �r^| j        sdS g }g }| j        D ]]}t!          ||j        ¦  «        rF|j        }t*          j        r|€J ‚|                     |¦  «         |                     |j        ¦  «         Œ^t3          j        |¦  «        }	| j        |	j        _        | j        rdt=          j        | j        ¦  «        }
|
j         €*|
 !                    |	j        j"        |	j        j#        ¦  «         |	j         $                    |
¦  «         tK          tM          |	j'        ¦  «        ¦  «        D ]#}|	j'        |         j(        }|�||         |_)        Œ$|                     |	¦  «         dS | j*        rtW          j,        ¦   «         }n;tW          j-        | j        ¦  «        }|j.        j(        �| j        |j.        j(        _)        | j        |j        _        | j        rdt=          j        | j        ¦  «        }
|
j         €*|
 !                    |j        j"        |j        j#        ¦  «         |j         $                    |
¦  «         | j/        �]| j/        dv r+t_          j0        | j/        ¦  «        |_/        d|j/        _1        n)| j/        dk    rt_          j0        | j/        ¦  «        |_/        | j2        D ]}| 3                    |¦  «         Œ| j4        r| 5                    ¦   «         }g |_6        to          | j6        ¦  «        rh| j6         8                    ¦   «         }|tr          vrŒ7tr          |         } |¦   «         }|j6                             |¦  «         to          | j6        ¦  «        °h|                     |d	¬
¦  «         dS )zG
    Parse an ABCNote object and add it to the destination stream.
    r   r   ú"Ú z[()])ÚNCzN.C.zNo Chordr…   ú>NF©ÚsetActiveSite)ÚstartÚcontinueÚnormalÚstop):r)   r   ÚchordSymbolsÚreÚsubÚlstripÚrstripr   ÚcleanedFlatNotationr   ÚNoChordÚ
startswithÚChordSymbolrL   rM   Ú
ValueErrorr5   ÚABCChordÚ	subTokensrz   Ú	pitchNamer.   r4   rA   ÚaccidentalDisplayStatusr   ÚChordÚquarterLengthÚdurationÚactiveTupletÚcopyÚdeepcopyÚdurationNormalÚsetDurationTypeÚtypeÚdotsÚappendTupletÚranger3   ÚpitchesÚ
accidentalÚdisplayStatusÚisRestr   ÚRestÚNoteÚpitchr   ÚTieÚstyleÚapplicableSpannersrB   ÚinGraceÚgetGracer   rG   ÚpopÚ_abcArticulationsToM21)r‚   rh   r   Úcs_nameÚcsÚpitchNameListÚaccStatusListÚtSubÚpnÚcÚ
thisTupletÚpIndexÚaccÚnÚspanÚtokenArticulationStrÚm21ArticulationClassÚm21ArticulationObjs                     rq   r{   r{      s_  € ð "Ð!Ð!Ð!Ð!Ð!ð 	„~ð Ø”. Ô#ˆÝ”&˜˜b 'Ñ*Ô*×1Ò1Ñ3Ô3×:Ò:Ñ<Ô<ˆÝ”&˜  WÑ-Ô-ˆÝÔ,¨WÑ5Ô5ˆð
	ØÐ<Ð<Ð<Ý”_ WÑ-Ô-��Ø×#Ò# CÑ(Ô(ð 2Ø�åÔ(¨Ñ1Ô1�Ø�NŠN˜2¨UˆNÑ3Ô3Ð3Ø×#Ò#Ñ%Ô%Ð%Ð%øÝð 	ð 	ð 	ØˆDð	øøøõ �!�YÔ'Ñ(Ô(ñ G/àŒ{ð 	ØˆFð $&ˆØˆØ”Kð 	Cð 	CˆDå˜$ 	Ô 1Ñ2Ô2ð CØ”^�ÝÔ'ð *Ø˜>˜>˜>Ø×$Ò$ RÑ(Ô(Ð(Ø×$Ò$ TÔ%AÑBÔBÐBøÝŒK˜Ñ&Ô&ˆØ#$¤?ˆŒ
Ô ØŒ>ð 	0Ýœ q¤~Ñ6Ô6ˆJØÔ(Ð0Ø×*Ò*¨1¬:¬?¸A¼J¼OÑLÔLÐLØŒJ×#Ò# JÑ/Ô/Ð/å�C ¤	™NœNÑ+Ô+ð 	:ð 	:ˆFØ”)˜FÔ#Ô.ˆCØˆØ$1°&Ô$9�Ô!øØ�Š�qÑÔÐÐÐð Œ8ð 	MÝ”	‘”ˆAˆAå”	˜!œ+Ñ&Ô&ˆAØŒwÔ!Ð-Ø34Ô3L�”Ô"Ô0à#$¤?ˆŒ
Ô ØŒ>ð 	0Ýœ q¤~Ñ6Ô6ˆJØÔ(Ð0Ø×*Ò*¨1¬:¬?¸A¼J¼OÑLÔLÐLØŒJ×#Ò# JÑ/Ô/Ð/ð Œ5ÐØŒuÐ-Ð-Ð-Ýœ ¤™œ�”Ø&�””�Ø”˜&’�Ýœ ¤™œ�”ð Ô(ð 	'ð 	'ˆDØ×#Ò# AÑ&Ô&Ð&Ð&àŒ9ð 	Ø—
’
‘”ˆAàˆŒÝ�!”/Ñ"Ô"ð 	7Ø#$¤?×#6Ò#6Ñ#8Ô#8Ð Ø#Õ+AÐAÐAØÝ#9Ð:NÔ#OÐ Ø!5Ð!5Ñ!7Ô!7ÐØŒO×"Ò"Ð#5Ñ6Ô6Ð6õ �!”/Ñ"Ô"ð 	7ð 	�Š�q¨ˆÑ.Ô.Ð.Ð.Ð.s   Â .C0 Â0?C0 Ã0
C=Ã<C=úabcFormat.ABCMetadatara   Úintr`   c                óL  — |                       ¦   «         r6|                      ¦   «         }|�|r||_        ní|                     |¦  «         n×|                      ¦   «         rv|                      ¦   «         }|�
|r||_        n|�|                     |¦  «         |                      ¦   «         \  }}|�%|�#d}|r||_        n|                     |¦  «         |}nM|  	                    ¦   «         r9|  
                    ¦   «         }	t          j        r|	€J ‚|                     |	¦  «         ||fS )a�  
    Parse a single ABCMetadata token, that does not represent what
    music21 considers metadata, such as a time signature, key signature,
    clef, or tempo, and put it in dst.

    This function uses coreAppend operations, so if called separately,
    dst.coreElementsChanged() should be called before accessing the stream.

    Returns the changed transposition and whether clef was set.
    NF)ÚisMeterÚgetTimeSignatureObjectrI   rL   ÚisKeyÚgetKeySignatureObjectÚkeySignatureÚgetClefObjectr   ÚisTempoÚgetMetronomeMarkObjectr.   r4   )
r‚   rh   ra   r`   rd   ÚtsÚksÚclefObjÚtranspositionÚmmObjs
             rq   ry   ry   ‰  sA  € ð" 	‡y‚y�{„{ð Ø×%Ò%Ñ'Ô'ˆØˆ>àð #Ø$&�Ô!Ð!à—’˜rÑ"Ô"Ð"øØ	
�Š‰Œð Ø×$Ò$Ñ&Ô&ˆØˆ>˜kˆ>à!ˆCÔÐØˆ^Ø�NŠN˜2ÑÔÐà!"§¢Ñ!2Ô!2Ñˆ�ØÐ =Ð#<àˆGð ð (Ø"�”�à—’˜wÑ'Ô'Ð'Ø -ÐøØ	
�Š‰Œð Ø×(Ò(Ñ*Ô*ˆÝÔð 	%ØÐ$Ð$Ð$Ø�Š�uÑÔÐà˜gÐ%Ð%rƒ   c                ó¨  — ddl m} ddl m} |€t          j        ¦   «         }n|}|                     ¦   «         }|                     d|¦  «         d}| j        D �]“}t          ||j	        ¦  «        �rz| 
                    ¦   «         rl|j                             dd¦  «                             ¦   «         }	 |                      t          j        d|¦  «        ¦  «        | _        Œ‰# t$          $ r Y Œ•w xY w|                     ¦   «         rH|dk    r!|                     d|j        ¦  «         |d	z  }ŒÔ|                     d
|j        ¦  «         |d	z  }Œõ|                     ¦   «         r|                     d|j        ¦  «         �Œ&|                     ¦   «         r|                     d|j        ¦  «         �ŒW|                     ¦   «         r(|                     dt1          |j        ¦  «        ¦  «         �Œ•g }	|                      ¦   «         }
t5          |
¦  «        d	k    r|	                     |
d         ¦  «         nFt9          d	t5          |
¦  «        ¦  «        D ](}|
d         |
|         z   }|	                     |¦  «         Œ)g }|	D ]&}t;          |¦  «        }|                     |¦  «         Œ'|D ]}|                     d|¦  «         Œ|                     ¦   «          |S )a§  
    Given an abcHandler object, build into a
    multi-part :class:`~music21.stream.Score` with metadata.

    This assumes that this ABCHandler defines a single work (with 1 or fewer reference numbers).

    if the optional parameter inputM21 is given a music21 Stream subclass, it will use that object
    as the outermost object.  However, inner parts will
    always be made :class:`~music21.stream.Part` objects.
    r   r   )ÚmetadataNzabc-versionrˆ   z(\d+).(\d+).?(\d+)?Útitler#   ÚalternativeTitleÚcomposerÚlocaleOfCompositionr@   ) r)   r   rÙ   r   ÚScoreÚMetadatarV   rw   r5   rx   Ú	isVersionÚdataÚreplaceÚstripÚreturnAbcVersionFromMatchr’   ÚmatchÚ
abcVersionÚAttributeErrorÚisTitleÚaddÚ
isComposerÚisOriginÚisReferenceNumberrÉ   ÚsplitByVoicer3   rA   rª   rr   r]   rM   )r   r   r   rÙ   ÚsÚmdÚ
titleCountr‚   ÚvÚpartHandlersÚtokenCollectionsÚiÚnewABCHandlerÚpartListÚpartHandlerr_   s                   rq   ÚabcToStreamScorerø   ¾  s  € ð "Ð!Ð!Ð!Ð!Ð!Ø Ð Ð Ð Ð Ð àÐÝŒL‰NŒNˆˆàˆð 
×	Ò	Ñ	Ô	€BØ‡H‚HˆQ��O„O€Oð €JØÔð .ñ .ˆÝ�a˜Ô.Ñ/Ô/ñ 	.Ø�{Š{‰}Œ}ð .Ø”F—N’N =°"Ñ5Ô5×;Ò;Ñ=Ô=�ðØ,6×,PÒ,PÝœÐ!7¸Ñ;Ô;ñ-ô -�JÔ)Ð)øõ &ð ð ð Ø�Dðøøøð —’‘”ð .Ø ’?�?Ø—F’F˜7 A¤FÑ+Ô+Ð+à !‘O�J�Jð —F’FÐ-¨q¬vÑ6Ô6Ð6à !‘O�J�Jà—’‘”ð 	.Ø—’�z 1¤6Ñ*Ô*Ð*Ñ*ð —’‘”ð .Ø—’Ð,¨a¬fÑ5Ô5Ð5Ñ5ð ×$Ò$Ñ&Ô&ð .Ø—’�x¥ Q¤V¡¤Ñ-Ô-Ð-ùð €LØ!×.Ò.Ñ0Ô0ÐÝ
ÐÑÔ Ò!Ð!Ø×ÒÐ,¨QÔ/Ñ0Ô0Ð0Ð0õ �q�#Ð.Ñ/Ô/Ñ0Ô0ð 	/ð 	/ˆAà,¨QÔ/Ð2BÀ1Ô2EÑEˆMð ×Ò Ñ.Ô.Ð.Ð.ð €HØ#ð ð ˆÝ˜KÑ(Ô(ˆØ�Š˜ÑÔÐÐàð ð ˆØ	�Š�Q˜ÑÔÐÐØ×ÒÑÔÐØ€Hs   Â3-C!Ã!
C.Ã-C.c                óZ  — |€t          j        ¦   «         }n|}|                      ¦   «         rÜ|                      ¦   «         }|�||v rt	          ||         ¦  «        }nÎg }t          |                     ¦   «         ¦  «        D ]W\  }}	 t	          |¦  «        }|                     |¦  «         Œ+# t          $ r  t           
                    d|› �¦  «         Y ŒTw xY w|D ]}	|                     |	d¬¦  «         Œ|                     ¦   «          n"|                     t	          | ¦  «        ¦  «         |S )zÈ
    Convert a multi-work stream into one or more complete works packed into an Opus Stream.

    If a `number` argument is given, and a work is defined by
    that number, that work is returned.
    NzFailure for piece number Fr‹   )r   ÚOpusÚdefinesReferenceNumbersÚsplitByReferenceNumberrø   ÚsortedÚitemsrA   Ú
IndexErrorr[   r\   rL   rM   )
r   r   r@   ÚopusÚabcDictÚ	scoreListÚkeyÚvalueÚscÚscoreDocuments
             rq   ÚabcToStreamOpusr    s]  € ð ÐÝŒ{‰}Œ}ˆˆàˆð
 ×)Ò)Ñ+Ô+ð 2Ø×3Ò3Ñ5Ô5ˆØÐ &¨GÐ"3Ð"3å# G¨F¤OÑ4Ô4ˆDˆDàˆIÝ$ W§]¢]¡_¤_Ñ5Ô5ð Ið I‘
��UðIÝ)¨%Ñ0Ô0�BØ×$Ò$ RÑ(Ô(Ð(Ð(øÝ!ð Ið Ið IÝ ×%Ò%Ð&GÀ#Ð&GÐ&GÑHÔHÐHÐHÐHðIøøøà!*ð Dð D�Ø—’ ¸U�ÑCÔCÐCÐCØ×$Ò$Ñ&Ô&Ð&Ð&ð 	�ŠÕ$ ZÑ0Ô0Ñ1Ô1Ð1Ø€Ks   Â$B+Â+'CÃCFr&   c          
     ó¨  — |st          j        | ¦  «        } d}d}|                      t          j        ¦  «        }t          t          |¦  «        ¦  «        D �]v}||         }|j        �|j        }|€t          d¦  «        ‚|j	        j
        }t          j        |j        ¦  «        }|xj        |z  c_        ||k    �r|                     |¦  «        \  }	}
d|
_        |j	        j
        |
j        k    r…	 |
                     ¦   «         |
_        n4# t"          j        $ r"}t          d|j        › d|›d|› �¦  «        ‚d}~ww xY w|t          |¦  «        dz
  k    r ||dz            j        €|||dz            _        d|
_        d|
_        |	j        dz   |
_        |dz  }|                      t          j        |	j        |	j        z   ¦  «        |
¦  «         �Œx|s| S dS )a9  
    Re-bar overflow measures using the last known time signature.

    >>> irl2 = corpus.parse('irl', number=2)
    >>> irl2.metadata.title
    'Aililiu na Gamhna, S.35'
    >>> music21Part = irl2[1]

    The whole part is in 2/4 time, but there are some measures expressed in 4/4 time
    without an explicit time signature change, an error in abc parsing due to the
    omission of barlines. The method will split those measures such that they conform
    to the last time signature, in this case 2/4. The default is to reBar in place.
    The measure numbers are updated accordingly.

    (NOTE: reBar is called automatically in abcToStreamPart, hence not demonstrated below.)

    The key signature and clef are assumed to be the same in the second measure after the
    split, so both are omitted. If the time signature is not the same in the second measure,
    the new time signature is indicated, and the measure following returns to the last time
    signature, except in the case that a new time signature is indicated.

    >>> music21Part.measure(15).show('text')
    {0.0} <music21.note.Note A>
    {1.0} <music21.note.Note A>

    >>> music21Part.measure(16).show('text')
    {0.0} <music21.note.Note A>
    {0.5} <music21.note.Note B->
    {1.0} <music21.note.Note A>
    {1.5} <music21.note.Note G>

    An example where the time signature wouldn't be the same. This score is
    mistakenly marked as 4/4, but has some measures that are longer.

    >>> irl15 = corpus.parse('irl', number=15)
    >>> irl15.metadata.title
    'Esternowe, S. 60'
    >>> music21Part2 = irl15.parts.first()  # 4/4 time signature
    >>> music21Part2.measure(1).show('text')
    {0.0} <music21.note.Note C>
    {1.0} <music21.note.Note A>
    {1.5} <music21.note.Note G>
    {2.0} <music21.note.Note E>
    {2.5} <music21.note.Note G>
    >>> music21Part2.measure(1)[-1].duration.quarterLength
    1.5

    >>> music21Part2.measure(2).show('text')
    {0.0} <music21.meter.TimeSignature 1/8>
    {0.0} <music21.note.Note E>

    * Changed in v5: inPlace is False by default, and a keyword only argument.
    Nr   z$No time signature found in this PartzProblem with measure z (z): r#   )r£   r¤   rS   r   r8   rª   r3   rI   rO   ÚbarDurationr    r   ÚopFracÚhighestTimer@   ÚsplitAtQuarterLengthÚbestTimeSignaturer
   rZ   rÏ   r   rV   Úoffset)Úmusic21Partr'   ÚlastTimeSignatureÚmeasureNumberOffsetÚallMeasuresÚmeasureIndexÚmusic21MeasureÚtsEndÚmEndÚm1Úm2rn   s               rq   rN   rN   <  s  € ðn ð 1Ý”m KÑ0Ô0ˆØÐØÐØ×0Ò0µ´Ñ@Ô@€KÝ�c +Ñ.Ô.Ñ/Ô/ð Nñ NˆØ$ \Ô2ˆØÔ'Ð3Ø .Ô <ÐàÐ$Ý'Ð(NÑOÔOÐOà!Ô-Ô;ˆÝŒ}˜^Ô7Ñ8Ô8ˆØÐÔÐ!4Ñ4ÐÔØ�%Š<‰<Ø#×8Ò8¸Ñ?Ô?‰FˆB�Ø#ˆBÔØ Ô,Ô:¸b¼nÒLÐLðcØ')×';Ò';Ñ'=Ô'=�BÔ$Ð$øÝ#Ô3ð cð cð cÝ/Øa°Ô0EÐaÐaÈÐaÐaÐ^_ÐaÐañcô cð cøøøøðcøøøð  ¥3 {Ñ#3Ô#3°aÑ#7Ò7Ð7Ø" <°!Ñ#3Ô4ÔBÐJØFW˜ L°1Ñ$4Ô5ÔCØ"ˆBŒOØˆBŒGØœ	 A™ˆBŒIØ 1Ñ$ÐØ×Ò�vœ}¨R¬Y¸¼Ñ-GÑHÔHÈ"ÑMÔMÐMùð ð ØÐðð s   Ã1DÄD<ÄD7Ä7D<c                  ó   — e Zd ZdS )rO   N)Ú__name__Ú
__module__Ú__qualname__© rƒ   rq   rO   rO   ¡  s   € € € € € Ø€Drƒ   rO   c                  ó’   — e 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S )ÚTestc                óª   — ddl m} dD ]I} |j        ¦   «         }|                     |¦  «        }t	          |¦  «        }|                     ¦   «          ŒJd S )Nr   r   r  )r)   r   ÚABCFileÚreadstrrø   Úshow)Úselfr   ÚtfÚafÚahrî   s         rq   Ú	testBasiczTest.testBasic¨  sl   € Ø%Ð%Ð%Ð%Ð%Ð%ð
ð 	ð 	ˆBð& #�Ô"Ñ$Ô$ˆBØ—’˜B‘”ˆBÝ  Ñ$Ô$ˆAØ�FŠF‰HŒHˆHˆHð-	ð 	rƒ   c                ó<  — ddl m} ddlm} |j        dddf|j        ddd	f|j        d
ddf|j        dddf|j        ddd	ffD ]Z\  }}}} |j	        ¦   «         }| 
                    |¦  «        }t          |¦  «        }	|                      |	j        j        |¦  «         Œ[dS )z?
        NB -- only title is checked. not meter or key
        r   r   ©Ú	testFilesÚFyrareprisarnz3/4ÚFzMystery ReelzC|ÚGzThe Ale is Dearz4/4ÚDzKitchen GirlzWilliam and Nancyz6/8N)r)   r   Úmusic21.abcFormatr+  ÚfyrareprisarnÚmysteryReelÚ	aleIsDearÚ	kitchGirlÚwilliamAndNancyr!  r"  rø   ÚassertEqualrÙ   rÚ   )
r$  r   r+  r%  ÚtitleEncodedÚunused_meterEncodedÚunused_keyEncodedr&  r'  rî   s
             rq   ÚtestGetMetaDatazTest.testGetMetaDataÆ  sê   € ð
 	&Ð%Ð%Ð%Ð%Ð%Ø/Ð/Ð/Ð/Ð/Ð/ð Ô$ o°u¸cÐBØÔ" N°D¸#Ð>ØÔ Ð"3°U¸CÐBØÔ  .°%¸Ð=ØÔ&Ð(;¸UÀCÐHðK
ð 	=ð 	=ÑFˆR�Ð2Ð4Eð #�Ô"Ñ$Ô$ˆBØ—’˜B‘”ˆBÝ  Ñ$Ô$ˆAà×Ò˜QœZÔ-¨|Ñ<Ô<Ð<Ð<ð	=ð 	=rƒ   c                ó  — ddl m} ddlm} |j        } |j        ¦   «         }t          |                     |¦  «        ¦  «        }|                      t          |j
        ¦  «        d¦  «         |                      t          |j
        d                              ¦   «         j        ¦  «        d¦  «         |                      t          |j
        d                              ¦   «         j        ¦  «        d¦  «         |                      t          |j
        d         t          j                 ¦  «        d¦  «         d	„ |j
        d                              ¦   «                              t          j        ¦  «        d
         j        D ¦   «         }|                      |g d¢¦  «         d„ |j
        d                              ¦   «                              t          j        ¦  «        d         j        D ¦   «         }|                      |g d¢¦  «         d S )Nr   r   r*  r$   éo   r#   é   é    c                ó   — g | ]	}|j         ‘Œ
S r  ©ÚnameWithOctave©Ú.0r_   s     rq   ú
<listcomp>z#Test.testChords.<locals>.<listcomp>í  ó'   € ð %ð %ð % a�Ô!ð %ð %ð %rƒ   é   )zF#4ÚD4ÚB3c                ó   — g | ]	}|j         ‘Œ
S r  r@  rB  s     rq   rD  z#Test.testChords.<locals>.<listcomp>ñ  rE  rƒ   é   )ÚE4zC#4ÚA3)r)   r   r0  r+  r3  r!  rø   r"  r6  r3   ÚpartsÚflattenÚnotesAndRestsr   rŸ   rS   r«   )r$  r   r+  r%  r&  rî   rå   s          rq   Ú
testChordszTest.testChordsÜ  sä  € à%Ð%Ð%Ð%Ð%Ð%Ø/Ð/Ð/Ð/Ð/Ð/àÔ ˆØˆYÔÑ Ô ˆÝ˜RŸZšZ¨™^œ^Ñ,Ô,ˆà×Ò�˜QœW™œ qÑ)Ô)Ð)Ø×Ò�˜QœW QœZ×/Ò/Ñ1Ô1Ô?Ñ@Ô@À#ÑFÔFÐFØ×Ò�˜QœW QœZ×/Ò/Ñ1Ô1Ô?Ñ@Ô@À#ÑFÔFÐFð 	×Ò�˜QœW QœZ­¬Ô4Ñ5Ô5°rÑ:Ô:Ð:ð%ð %¨1¬7°1¬:×+=Ò+=Ñ+?Ô+?×+RÒ+RÝŒKñ,ô ,Øô,Ü#ð%ñ %ô %ˆà×Ò˜Ð 3Ð 3Ð 3Ñ4Ô4Ð4ð%ð %¨1¬7°1¬:×+=Ò+=Ñ+?Ô+?×+RÒ+RÝŒKñ,ô ,Øô,Ü#ð%ñ %ô %ˆà×Ò˜Ð 3Ð 3Ð 3Ñ4Ô4Ð4Ð4Ð4rƒ   c                ó|  — ddl m} ddlm} |j        } |j        ¦   «         }t          |                     |¦  «        ¦  «        }|                      t          |j
        ¦  «        d¦  «         |                      t          |j
        d                              ¦   «         j        ¦  «        d¦  «         |                      t          |j
        d                              ¦   «         j        ¦  «        d¦  «         |                      t          |j
        d                              ¦   «         j        ¦  «        d¦  «         d S )	Nr   r   r*  rJ  é   r#   é   r$   )r)   r   r0  r+  ÚtestPrimitivePolyphonicr!  rø   r"  r6  r3   rM  rN  rO  ©r$  r   r+  r%  r&  rî   s         rq   ÚtestMultiVoicezTest.testMultiVoiceø  s  € à%Ð%Ð%Ð%Ð%Ð%Ø/Ð/Ð/Ð/Ð/Ð/àÔ.ˆàˆYÔÑ Ô ˆÝ˜RŸZšZ¨™^œ^Ñ,Ô,ˆà×Ò�˜QœW™œ qÑ)Ô)Ð)à×Ò�˜QœW QœZ×/Ò/Ñ1Ô1Ô?Ñ@Ô@À!ÑDÔDÐDØ×Ò�˜QœW QœZ×/Ò/Ñ1Ô1Ô?Ñ@Ô@À"ÑEÔEÐEØ×Ò�˜QœW QœZ×/Ò/Ñ1Ô1Ô?Ñ@Ô@À!ÑDÔDÐDÐDÐDrƒ   c                óF  — ddl m} ddlm} |j        } |j        ¦   «         }t          |                     |¦  «        ¦  «        }g }|                     ¦   «         j	        D ]}| 
                    |j        ¦  «         Œg d¢}|                      |d„ |D ¦   «         ¦  «         d S )Nr   r   r*  )(çUUUUUUÕ?rX  rX  çš™™™™™É?rY  rY  rY  rY  çUUUUUUÅ?rZ  rZ  rZ  rZ  rZ  ç’$I’$IÂ?r[  r[  r[  r[  r[  r[  çUUUUUUå?r\  r\  r\  r\  r\  çUUUUUUµ?r]  r]  r]  r]  r]  r]  r]  r]  r]  r]  r]  r$   c                ó6   — g | ]}t          j        |¦  «        ‘ŒS r  )r   r
  )rC  Úxs     rq   rD  z$Test.testTuplets.<locals>.<listcomp>!  s"   € Ð FÐ FÐ F°a¥¤¨qÑ!1Ô!1Ð FÐ FÐ Frƒ   )r)   r   r0  r+  ÚtestPrimitiveTupletr!  rø   r"  rN  rO  rA   r    r6  )	r$  r   r+  r%  r&  rî   rå   rÃ   Ú
shouldFinds	            rq   ÚtestTupletszTest.testTuplets  sÉ   € à%Ð%Ð%Ð%Ð%Ð%Ø/Ð/Ð/Ð/Ð/Ð/àÔ*ˆØˆYÔÑ Ô ˆÝ˜RŸZšZ¨™^œ^Ñ,Ô,ˆØˆà—’‘”Ô*ð 	*ð 	*ˆAØ�LŠL˜œÑ)Ô)Ð)Ð)ð	
ð 	
ð 	
ˆ
ð 	×Ò˜Ð FÐ F¸:Ð FÑ FÔ FÑGÔGÐGÐGÐGrƒ   c                ó  — ddl m} ddlm}  |j        ¦   «         }|                     |j        ¦  «         t          |¦  «        }|j        d          	                    t          j        ¦  «                             ¦   «         }|                      |j        j        d¦  «         |                      |j        j        d¦  «         |j        d         }|j        d         }|                      |                     |¦  «        |j        z   d¦  «         |                      |j        d         j        d¦  «         |                      |                     |¦  «        |j        z   d¦  «         |                      |j        d         j        d¦  «          |j        ¦   «         }|                     |j        ¦  «         t          |¦  «        }|j        d          	                    t          j        ¦  «                             ¦   «         }|                      |j        j        d¦  «         |                      |j        j        d	¦  «         |j        d         }|j        d         }|                      |                     |¦  «        |j        z   d
¦  «         |                      |j        d         j        d¦  «         |                      |                     |¦  «        |j        z   d¦  «         |                      |j        d         j        d¦  «         d S )Nr   r   r*  g      @g       @r#   r%   g      @g      à?g      @g      @g      @g      @)r)   r   r0  r+  r1   ÚprocessÚhectorTheHerorø   rM  rS   r   r8   rT   r6  r	  r    r¡   rO  ÚgetOffsetBySiteÚpaddingLeftÚbeatÚtheAleWifesDaughter)r$  r   r+  r'  rî   r  Ún0Ún1s           rq   ÚtestAnacrusisPaddingzTest.testAnacrusisPadding#  s¸  € Ø%Ð%Ð%Ð%Ð%Ð%Ø/Ð/Ð/Ð/Ð/Ð/ð "ˆYÔ!Ñ#Ô#ˆØ
�
Š
�9Ô*Ñ+Ô+Ð+Ý˜RÑ Ô ˆØŒW�QŒZ×*Ò*­6¬>Ñ:Ô:×@Ò@ÑBÔBˆð 	×Ò˜œÔ5°sÑ;Ô;Ð;à×Ò˜œÔ2°CÑ8Ô8Ð8ð Ô˜aÔ ˆØÔ˜aÔ ˆØ×Ò˜×+Ò+¨BÑ/Ô/°"´.Ñ@À#ÑFÔFÐFØ×Ò˜Ô)¨!Ô,Ô1°3Ñ7Ô7Ð7Ø×Ò˜×+Ò+¨BÑ/Ô/°"´.Ñ@À#ÑFÔFÐFØ×Ò˜Ô)¨!Ô,Ô1°3Ñ7Ô7Ð7ð "ˆYÔ!Ñ#Ô#ˆØ
�
Š
�9Ô0Ñ1Ô1Ð1Ý˜RÑ Ô ˆØŒW�QŒZ×*Ò*­6¬>Ñ:Ô:×@Ò@ÑBÔBˆð 	×Ò˜œÔ5°sÑ;Ô;Ð;à×Ò˜œÔ2°CÑ8Ô8Ð8àÔ˜aÔ ˆØÔ˜aÔ ˆà×Ò˜×+Ò+¨BÑ/Ô/°"´.Ñ@À#ÑFÔFÐFØ×Ò˜Ô)¨!Ô,Ô1°3Ñ7Ô7Ð7Ø×Ò˜×+Ò+¨BÑ/Ô/°"´.Ñ@À$ÑGÔGÐGØ×Ò˜Ô)¨!Ô,Ô1°4Ñ8Ô8Ð8Ð8Ð8rƒ   c                óº  — ddl m} ddl m} |                     d¦  «        }|                      |j        d¦  «         |                      |j        j        d¦  «          |j        ¦   «         }|                     |¦  «         | 	                    ¦   «         }| 
                    ¦   «          t          |¦  «        }|                      t          |¦  «        d¦  «         d S )Nr   ©Úcorpusr   úessenFolksong/testez	teste.abcÚessenFolksongé   )r)   ro  r   ÚgetWorkr6  ÚnameÚparentr!  ÚopenÚreadÚcloser  r3   )r$  ro  r   Úfpr&  r'  Úops          rq   ÚtestOpusImportzTest.testOpusImportS  sÔ   € Ø"Ð"Ð"Ð"Ð"Ð"Ø%Ð%Ð%Ð%Ð%Ð%ð �^Š^Ð1Ñ2Ô2ˆØ×Ò˜œ +Ñ.Ô.Ð.Ø×Ò˜œœ¨Ñ9Ô9Ð9àˆYÔÑ Ô ˆØ
�Š�‰ŒˆØ�WŠW‰YŒYˆØ
�Š‰
Œ
ˆ
å˜RÑ Ô ˆà×Ò�˜R™œ !Ñ$Ô$Ð$Ð$Ð$rƒ   c                ó–   — ddl m} ddlm} |j        } |j        ¦   «         }t          |                     |¦  «        ¦  «        }|€J ‚d S )Nr   r   r*  )r)   r   r0  r+  Ú	sicutRosar!  rø   r"  rU  s         rq   Ú
testLyricszTest.testLyricse  sd   € ð 	&Ð%Ð%Ð%Ð%Ð%Ø/Ð/Ð/Ð/Ð/Ð/àÔ ˆØˆYÔÑ Ô ˆÝ˜RŸZšZ¨™^œ^Ñ,Ô,ˆØˆ}ˆ}ˆ}ˆ}ˆ}rƒ   c                óü  — ddl m} |                     d¦  «        }|                      t	          |j        ¦  «        d¦  «         |                     d¦  «        j        d         }|                      |j        d¦  «         |                      t	          | 	                    ¦   «         j
        ¦  «        d¦  «         |                     d¦  «        j        d         }|                      |j        d¦  «         |                      t	          | 	                    ¦   «         j
        ¦  «        d	¦  «         |                     d
¦  «        j        d         }|                      |j        d¦  «         |                      t	          | 	                    ¦   «         j
        ¦  «        d¦  «         |                     d¦  «        j        d         }|                      |j        d¦  «         |                      t	          | 	                    ¦   «         j
        ¦  «        d¦  «         |                     ¦   «         }|                      |j        j        d¦  «         |                      |j        j        d¦  «         |                      t	          |j        ¦  «        d¦  «         |                      |j        d         t          j                                      ¦   «         j        d¦  «         |                      |j        d         t          j                                      ¦   «         j        d¦  «         |                      |j        d         t          j                                      ¦   «         j        d¦  «         |                      |j        d         t          j                                      ¦   «         j        d¦  «         |                      |j        d
         t          j                                      ¦   «         j        d¦  «         d S )Nr   rn  zjosquin/milleRegretsrF  r#   ç        éZ   r$   éP   rJ  éV   éN   zMille regretszJosquin des Prezr.  éÿÿÿÿr-  )r)   ro  Úparser6  r3   ÚscoresÚgetScoreByNumberrM  r  rN  rO  ÚmergeScoresrÙ   rÚ   rÜ   r   rR   rT   ÚsignÚoctaveChange)r$  ro  ÚoÚp1Úp2Úp3Úp4ÚsMergeds           rq   ÚtestMultiWorkImportedzTest.testMultiWorkImportedx  s  € à"Ð"Ð"Ð"Ð"Ð"à�LŠLÐ/Ñ0Ô0ˆØ×Ò�˜QœX™œ¨Ñ*Ô*Ð*à×Ò Ñ"Ô"Ô(¨Ô+ˆØ×Ò˜œ CÑ(Ô(Ð(Ø×Ò�˜RŸZšZ™\œ\Ô7Ñ8Ô8¸"Ñ=Ô=Ð=à×Ò Ñ"Ô"Ô(¨Ô+ˆØ×Ò˜œ CÑ(Ô(Ð(Ø×Ò�˜RŸZšZ™\œ\Ô7Ñ8Ô8¸"Ñ=Ô=Ð=à×Ò Ñ"Ô"Ô(¨Ô+ˆØ×Ò˜œ CÑ(Ô(Ð(Ø×Ò�˜RŸZšZ™\œ\Ô7Ñ8Ô8¸"Ñ=Ô=Ð=à×Ò Ñ"Ô"Ô(¨Ô+ˆØ×Ò˜œ CÑ(Ô(Ð(Ø×Ò�˜RŸZšZ™\œ\Ô7Ñ8Ô8¸"Ñ=Ô=Ð=à—-’-‘/”/ˆØ×Ò˜Ô)Ô/°ÑAÔAÐAØ×Ò˜Ô)Ô2Ð4FÑGÔGÐGØ×Ò�˜Wœ]Ñ+Ô+¨QÑ/Ô/Ð/à×Ò˜œ qÔ)­$¬)Ô4×:Ò:Ñ<Ô<ÔAÀ3ÑGÔGÐGØ×Ò˜œ qÔ)­$¬)Ô4×:Ò:Ñ<Ô<ÔAÀ3ÑGÔGÐGØ×Ò˜œ qÔ)­$¬)Ô4×:Ò:Ñ<Ô<ÔAÀ3ÑGÔGÐGØ×Ò˜œ qÔ)­$¬)Ô4×:Ò:Ñ<Ô<ÔIÈ2ÑNÔNÐNØ×Ò˜œ qÔ)­$¬)Ô4×:Ò:Ñ<Ô<ÔAÀ3ÑGÔGÐGÐGÐGrƒ   c           	     ó(  — ddl m} ddl m} |                     d¦  «        }|                      t          |j        ¦  «        d¦  «         |                     d¦  «        j        d         }|                      |j	        d¦  «         |                      t          | 
                    ¦   «         j        ¦  «        d¦  «         |                      t          t          | 
                    ¦   «                              t          j        ¦  «        ¦  «        ¦  «        d	¦  «         |                      t          | 
                    ¦   «                              t          j        ¦  «        ¦  «        d
                              ¦   «         |                     d¦  «        ¦  «         |                      t          | 
                    ¦   «                              t          j        ¦  «        ¦  «        d
                              ¦   «         |                     d¦  «        ¦  «         |                      t          | 
                    ¦   «                              t          j        ¦  «        ¦  «        d                              ¦   «         |                     d¦  «        ¦  «         |                      t          | 
                    ¦   «                              t          j        ¦  «        ¦  «        d                              ¦   «         |                     d¦  «        ¦  «         d S )Nr   rn  ©r±   znottingham-dataset/reelsa-cr$   éQ   r€  éM   é   é   rL  ÚC3é   ÚG3ÚB2)r)   ro  r±   r†  r6  r3   r‡  rˆ  rM  r  rN  rO  r0   rS   r   r™   ÚrootÚPitchÚbass)r$  ro  r±   rŒ  r�  s        rq   ÚtestChordSymbolszTest.testChordSymbolsœ  sp  € Ø"Ð"Ð"Ð"Ð"Ð"Ø!Ð!Ð!Ð!Ð!Ð!à�LŠLÐ6Ñ7Ô7ˆØ×Ò�˜QœX™œ¨Ñ*Ô*Ð*ð ×Ò Ñ#Ô#Ô)¨!Ô,ˆØ×Ò˜œ CÑ(Ô(Ð(Ø×Ò�˜RŸZšZ™\œ\Ô7Ñ8Ô8¸"Ñ=Ô=Ð=Ø×Ò��T "§*¢*¡,¤,×"AÒ"AÅ'ÔBUÑ"VÔ"VÑWÔWÑXÔXÐZ\Ñ]Ô]Ð]à×Ò�˜bŸjšj™lœl×=Ò=½gÔ>QÑRÔRÑSÔSÐTUÔV×[Ò[Ñ]Ô]ØŸš TÑ*Ô*ñ	,ô 	,ð 	,à×Ò�˜bŸjšj™lœl×=Ò=½gÔ>QÑRÔRÑSÔSÐTUÔV×[Ò[Ñ]Ô]ØŸš TÑ*Ô*ñ	,ô 	,ð 	,ð 	×Ò�˜bŸjšj™lœl×=Ò=½gÔ>QÑRÔRÑSÔSÐTVÔW×\Ò\Ñ^Ô^ØŸš TÑ*Ô*ñ	,ô 	,ð 	,à×Ò�˜bŸjšj™lœl×=Ò=½gÔ>QÑRÔRÑSÔSÐTVÔW×\Ò\Ñ^Ô^ØŸš TÑ*Ô*ñ	,ô 	,ð 	,ð 	,ð 	,rƒ   c                ó`  — ddl m} d}|                     |d¬¦  «        }|                      t	          |t
          j                 ¦  «        d¦  «         |                      t	          |t
          j                 ¦  «        d¦  «         t          j        |¦  «        }|                      d| 	                    t
          j        ¦  «         
                    ¦   «         j        ¦  «         |                      d| 	                    t
          j        ¦  «                             ¦   «         j        ¦  «         d S )	Nr   ©Ú	converterzç
            T: No Chords
            M: 4/4
            L: 1/1
            K: C
            [| "C" C | "NC" C | "C" C | "N.C." C | "C" C
            | "No Chord" C | "C" C | "None" C | "C" C | "Other"
            C |]
            Úabc©Úformaté	   rF  rr  )r)   r£  r†  r6  r3   r   r™   r—   ÚrealizeChordSymbolDurationsrS   Úlastr    rT   )r$  r£  Ú
target_strÚscores       rq   ÚtestNoChordzTest.testNoChord³  s  € à%Ð%Ð%Ð%Ð%Ð%ðˆ
ð —’ 
°5�Ñ9Ô9ˆà×Ò�˜U¥7Ô#6Ô7Ñ8Ô8¸!Ñ<Ô<Ð<Ø×Ò�˜U¥7¤?Ô3Ñ4Ô4°aÑ8Ô8Ð8åÔ3°EÑ:Ô:ˆà×Ò˜˜E×4Ò4µWÔ5HÑIÔIß!šT™VœV¤Mñ	3ô 	3ð 	3à×Ò˜˜E×4Ò4µWÔ5HÑIÔIß"šU™WœW¤]ñ	4ô 	4ð 	4ð 	4ð 	4rƒ   c                ó^  — ddl m} g d¢}g d¢}t          t          ||¦  «        ¦  «        D ]ê\  }\  }} |j        d|z   ¦  «        }|                     ¦   «          |                     ¦   «         } |j        d|z   ¦  «        }|                     ¦   «          |                     ¦   «         }	|                      ||j        ¦  «         |                      ||	j        ¦  «         |                      d|j	        ¦  «         |                      d|	j	        ¦  «         Œëg d¢}g d	¢}t          t          ||¦  «        ¦  «        D ]ð\  }\  }} |j        d|z   ¦  «        }|                     ¦   «          |                     ¦   «         } |j        d|z   ¦  «        }|                     ¦   «          |                     ¦   «         }	|                      d
|z  |j        ¦  «         |                      d
|z  |	j        ¦  «         |                      d|j	        ¦  «         |                      d|	j	        ¦  «         Œñd S )Nr   r   )ÚCr.  r/  ÚAÚEÚBzF#zC#)ÚAmÚEmÚBmzF#mzC#mzG#mzD#mzA#mzK:ÚmajorÚminor)r®  r-  ÚBbÚEbÚAbÚDbÚGbÚCb)r²  ÚDmÚGmÚCmÚFmÚBbmÚEbmÚAbmr…  )
r)   r   Ú	enumerateÚziprx   ÚpreParserÎ   r6  ÚsharpsÚmode)
r$  r   rµ  r¶  rÃ   ÚmajNameÚminNameÚamÚks_majorÚks_minors
             rq   ÚtestAbcKeyImportzTest.testAbcKeyImportÌ  sB  € Ø%Ð%Ð%Ð%Ð%Ð%ð ;Ð:Ð:ˆØEÐEÐEˆå%.­s°5¸%Ñ/@Ô/@Ñ%AÔ%Að 
	5ð 
	5Ñ!ˆAÑ!�˜Ø&�Ô& t¨g¡~Ñ6Ô6ˆBØ�KŠK‰MŒMˆMØ×/Ò/Ñ1Ô1ˆHØ&�Ô& t¨g¡~Ñ6Ô6ˆBØ�KŠK‰MŒMˆMØ×/Ò/Ñ1Ô1ˆHØ×Ò˜Q ¤Ñ0Ô0Ð0Ø×Ò˜Q ¤Ñ0Ô0Ð0Ø×Ò˜W h¤mÑ4Ô4Ð4Ø×Ò˜W h¤mÑ4Ô4Ð4Ð4ð ?Ð>Ð>ˆØCÐCÐCˆå%.­s°5¸%Ñ/@Ô/@Ñ%AÔ%Að 
	5ð 
	5Ñ!ˆAÑ!�˜Ø&�Ô& t¨g¡~Ñ6Ô6ˆBØ�KŠK‰MŒMˆMØ×/Ò/Ñ1Ô1ˆHØ&�Ô& t¨g¡~Ñ6Ô6ˆBØ�KŠK‰MŒMˆMØ×/Ò/Ñ1Ô1ˆHØ×Ò˜R !™V X¤_Ñ5Ô5Ð5Ø×Ò˜R !™V X¤_Ñ5Ô5Ð5Ø×Ò˜W h¤mÑ4Ô4Ð4Ø×Ò˜W h¤mÑ4Ô4Ð4Ð4ð
	5ð 
	5rƒ   c                ó`  — ddl m} |                     d¦  «        }|                      t	          |j        ¦  «        d¦  «         |                     d¦  «        }|                      |j        j        d¦  «         |                     d¦  «        }|                      |j        j        d¦  «         d S )	Nr   rn  rp  rr  rF  zAsien, Ostasien, China, Sichuanr˜  zAmerika, Mittelamerika, Mexiko)	r)   ro  r†  r6  r3   r‡  rˆ  rÙ   rÝ   )r$  ro  rŒ  rî   s       rq   ÚtestLocaleOfCompositionImportz"Test.testLocaleOfCompositionImportð  s¨   € Ø"Ð"Ð"Ð"Ð"Ð"à�LŠLÐ.Ñ/Ô/ˆØ×Ò�˜QœX™œ¨Ñ*Ô*Ð*à×Ò˜qÑ!Ô!ˆØ×Ò˜œÔ7Ð9ZÑ[Ô[Ð[à×Ò˜qÑ!Ô!ˆØ×Ò˜œÔ7Ð9YÑZÔZÐZÐZÐZrƒ   c                óæ  — ddl m} ddlm} |                     |j        ¦  «        }|                      t          |t          j	                 ¦  «        d¦  «         |                     |j
        ¦  «        }|                      t          |t          j	                 ¦  «        d¦  «         |                      |t          j                                      ¦   «         j        j        d¦  «         |                     |j        ¦  «        }|                      t          |j                             ¦   «                              t&          j        ¦  «                             ¦   «         j        ¦  «        d¦  «         d S )Nr   r*  r¢  r$   rJ  rG  )r0  r+  r)   r£  r†  ÚmorrisonsJigr6  r3   r   ÚRepeatÚdraughtOfAler   r°   rT   r±   rA  re  rM  rS   r   r8   Únotes)r$  r+  r£  rî   s       rq   ÚtestRepeatBracketsAzTest.testRepeatBracketsAü  s,  € Ø/Ð/Ð/Ð/Ð/Ð/Ø%Ð%Ð%Ð%Ð%Ð%Ø�OŠO˜IÔ2Ñ3Ô3ˆð 	×Ò�˜Q�sœzœ]Ñ+Ô+¨QÑ/Ô/Ð/ð
 �OŠO˜IÔ2Ñ3Ô3ˆØ×Ò�˜Q�sœzœ]Ñ+Ô+¨QÑ/Ô/Ð/Ø×Ò˜�4œ9œ×+Ò+Ñ-Ô-Ô3ÔBÀDÑIÔIÐIð �OŠO˜IÔ3Ñ4Ô4ˆà×Ò�˜QœWŸ]š]™_œ_×?Ò?ÅÄÑOÔO×UÒUÑWÔWÔ]Ñ^Ô^Ð`aÑbÔbÐbÐbÐbrƒ   c                óî  — ddl m} ddlm} ddlm} |                     |j        ¦  «        }|                      t          |t          j
                 ¦  «        d¦  «         |                     |j        ¦  «        }|                      t          |t          j
                 ¦  «        d¦  «         |                     d¦  «        }|                      t          |t          j
                 ¦  «        d¦  «         d S )Nr   r*  r¢  rn  r$   rF  ÚJollyTinkersReel)r0  r+  r)   r£  ro  r†  rÒ  r6  r3   r   r>   re  )r$  r+  r£  ro  rî   s        rq   ÚtestRepeatBracketsBzTest.testRepeatBracketsB  sì   € Ø/Ð/Ð/Ð/Ð/Ð/Ø%Ð%Ð%Ð%Ð%Ð%Ø"Ð"Ð"Ð"Ð"Ð"Ø�OŠO˜IÔ2Ñ3Ô3ˆà×Ò�˜Q�wÔ4Ô5Ñ6Ô6¸Ñ:Ô:Ð:ð �OŠO˜IÔ3Ñ4Ô4ˆØ×Ò�˜Q�wÔ4Ô5Ñ6Ô6¸Ñ:Ô:Ð:à�LŠLÐ+Ñ,Ô,ˆØ×Ò�˜Q�wÔ4Ô5Ñ6Ô6¸Ñ:Ô:Ð:Ð:Ð:rƒ   c                ój  — ddl m} ddlm} |                     |j        ¦  «        }|                     ¦   «                              t          j	        ¦  «        }|  
                    t          |¦  «        d¦  «         |  
                    t          |d         ¦  «        d¦  «         |                     |j        ¦  «        }|                     ¦   «                              t          j	        ¦  «        }|  
                    t          |¦  «        d¦  «         |  
                    t          |d         ¦  «        d¦  «         |                     |j        ¦  «        }|t          j	                 }|  
                    t          |¦  «        d¦  «         |  
                    t          |d         ¦  «        d¦  «         d S )	Nr   r*  r¢  r#   z)<music21.tempo.MetronomeMark Quarter=100>r$   z)<music21.tempo.MetronomeMark Quarter=211>z1<music21.tempo.MetronomeMark maestoso Quarter=90>)r0  r+  r)   r£  r†  ÚfullRiggedShiprN  rS   r   ÚTempoIndicationr6  r3   Ústrr3  ÚtheBeggerBoy)r$  r+  r£  rî   ÚmmStreams        rq   ÚtestMetronomeMarkAzTest.testMetronomeMarkA   sr  € Ø/Ð/Ð/Ð/Ð/Ð/Ø%Ð%Ð%Ð%Ð%Ð%Ø�OŠO˜IÔ4Ñ5Ô5ˆØ—9’9‘;”;×1Ò1µ%Ô2GÑHÔHˆØ×Ò�˜X™œ¨Ñ*Ô*Ð*Ø×Ò�˜X aœ[Ñ)Ô)Ð+VÑWÔWÐWà�OŠO˜IÔ/Ñ0Ô0ˆØ—9’9‘;”;×1Ò1µ%Ô2GÑHÔHˆð 	×Ò�˜X™œ¨Ñ*Ô*Ð*Ø×Ò�˜X aœ[Ñ)Ô)Ð+VÑWÔWÐWà�OŠO˜IÔ2Ñ3Ô3ˆØ•UÔ*Ô+ˆð 	×Ò�˜X™œ¨Ñ*Ô*Ð*Ø×Ò�˜X aœ[Ñ)Ô)Ð+^Ñ_Ô_Ð_Ð_Ð_rƒ   c                óN   — ddl m} dD ]}|                     |¦  «        }|€J ‚Œd S )Nr   rn  )zToCashellImGoingJig.abczSundayIsMyWeddingDayJig.abczSinkHimDoddieHighlandFling.abczRandyWifeOfGreenlawReel.abczPassionFlowerHornpipe.abczNightingaleClog.abczMountainRangerHornpipe.abczLadiesPandelettsReel.abczJauntingCarHornpipe.abczGoodMorrowToYourNightCapJig.abczChandlersHornpipe.abcz"AlistairMaclalastairStrathspey.abc©r)   ro  r†  ©r$  ro  Úfnrî   s       rq   ÚtestTranslateAzTest.testTranslateA8  sO   € ð 	#Ð"Ð"Ð"Ð"Ð"ð
ð 	!ð 	!ˆBð —’˜RÑ Ô ˆAØ�=�=�=�=ð	!ð 	!rƒ   c                óÜ  — ddl m} t          j        ddd¬¦  «        }|                      |                     ¦   «         |                     d¦  «        ¦  «         |                      |j        d         |                     ¦   «         ¦  «         t          j        d¦  «        }|                      | 	                    ¦   «         |                     d	¦  «        ¦  «         |                      |                     ¦   «         |                     d¦  «        ¦  «         |                      |j        d         |                     d¦  «        ¦  «         t          j        d
¦  «        }|                      | 	                    ¦   «         |                     d
¦  «        ¦  «         |                      |j        d         |                     d¦  «        ¦  «         |                      |j        d         |                     d¦  «        ¦  «         t          j        d¦  «        }|                      | 	                    ¦   «         |                     d¦  «        ¦  «         |                      |j        d         |                     d¦  «        ¦  «         |                      |j        d         |                     d¦  «        ¦  «         |                      |j        d         |                     d¦  «        ¦  «         d S )Nr   r”  ÚebÚbbÚdominant)r�  rŸ  ÚkindzB-2ze-7/b-zE-3zb-3zB-3r#   rG  Úbb3Úb2rœ  ÚD3r$   zF#3)
r)   r±   r   r™   r6  rŸ  rž  ÚassertIsr«   r�  )r$  r±   rº   s      rq   ÚtestCleanFlatzTest.testCleanFlatO  sG  € Ø!Ð!Ð!Ð!Ð!Ð!åÔ  d°¸JÐGÑGÔGˆØ×Ò˜Ÿš™œ E§K¢K°Ñ$6Ô$6Ñ7Ô7Ð7Ø�Š�b”j ”m R§W¢W¡Y¤YÑ/Ô/Ð/åÔ  Ñ*Ô*ˆØ×Ò˜Ÿš™œ E§K¢K°Ñ$6Ô$6Ñ7Ô7Ð7Ø×Ò˜Ÿš™œ E§K¢K°Ñ$6Ô$6Ñ7Ô7Ð7Ø×Ò˜œ Aœ¨¯ª°EÑ(:Ô(:Ñ;Ô;Ð;õ
 Ô  Ñ'Ô'ˆØ×Ò˜Ÿš™œ E§K¢K°Ñ$6Ô$6Ñ7Ô7Ð7Ø×Ò˜œ Aœ¨¯ª°EÑ(:Ô(:Ñ;Ô;Ð;Ø×Ò˜œ Aœ¨¯ª°DÑ(9Ô(9Ñ:Ô:Ð:åÔ  Ñ'Ô'ˆà×Ò˜Ÿš™œ E§K¢K°Ñ$5Ô$5Ñ6Ô6Ð6à×Ò˜œ Aœ¨¯ª°DÑ(9Ô(9Ñ:Ô:Ð:Ø×Ò˜œ Aœ¨¯ª°DÑ(9Ô(9Ñ:Ô:Ð:Ø×Ò˜œ Aœ¨¯ª°EÑ(:Ô(:Ñ;Ô;Ð;Ð;Ð;rƒ   c                óN   — ddl m} dD ]}|                     |¦  «        }|€J ‚ŒdS )zf
        Dylan -- this could be too slow to make it a test!

        Numbers 637 and 749 fail
        r   rn  )zairdsAirs/book4.abcNrâ  rã  s       rq   ÚxtestTranslateBzTest.xtestTranslateBk  sK   € ð 	#Ð"Ð"Ð"Ð"Ð"Ø)ð 	!ð 	!ˆBØ—’˜RÑ Ô ˆAØ�=�=�=�=ð	!ð 	!rƒ   c                ó@   — ddl m} |                     dd¬¦  «        }d S )Nr   rn  zhan2.abci½  )r@   râ  ©r$  ro  Úunuseds      rq   ÚtestTranslateBrokenDurationz Test.testTranslateBrokenDurationy  s-   € Ø"Ð"Ð"Ð"Ð"Ð"Ø—’˜j°�Ñ5Ô5ˆˆˆrƒ   c                ó¶   — ddl m} |                     dd¬¦  «        }d„ |                     ¦   «         j        D ¦   «         }|                      |g d¢¦  «         d S )Nr   r¢  zL:1/8
a-a-ar¤  r¥  c                ó&   — g | ]}|j         j        ‘ŒS r  )r   r§   )rC  rÃ   s     rq   rD  z*Test.testTiesTranslate.<locals>.<listcomp>€  s   € ÐBÐBÐB˜q�””
ÐBÐBÐBrƒ   )r�   rŽ   r�   )r)   r£  r†  rN  rO  ÚassertListEqual)r$  r£  rÕ  Útiess       rq   ÚtestTiesTranslatezTest.testTiesTranslate}  sj   € Ø%Ð%Ð%Ð%Ð%Ð%Ø—’ °u�Ñ=Ô=ˆØBÐB E§M¢M¡O¤OÔ$AÐBÑBÔBˆØ×Ò˜TÐ#@Ð#@Ð#@ÑAÔAÐAÐAÐArƒ   c                ó<   — ddl m} |                     d¦  «        }d S )Nr   rn  z0josquin/laDeplorationDeLaMorteDeJohannesOckeghemrâ  ró  s      rq   ÚxtestMergeScoreszTest.xtestMergeScoresƒ  s*   € Ø"Ð"Ð"Ð"Ð"Ð"Ø—’ÐPÑQÔQˆˆˆrƒ   N)r  r  r  r(  r:  rP  rV  rb  rl  r{  r~  r’  r   r¬  rÎ  rÐ  rÖ  rÙ  rà  rå  rï  rñ  rõ  rú  rü  r  rƒ   rq   r  r  ¦  s{  € € € € € ðð ð ð<=ð =ð =ð,5ð 5ð 5ð8Eð Eð Eð&Hð Hð Hð0.9ð .9ð .9ð`%ð %ð %ð$	ð 	ð 	ð& Hð  Hð  HðH,ð ,ð ,ð.4ð 4ð 4ð2!5ð !5ð !5ðH
[ð 
[ð 
[ðcð cð cð*;ð ;ð ;ð`ð `ð `ð0!ð !ð !ð.<ð <ð <ð8
!ð 
!ð 
!ð6ð 6ð 6ðBð Bð BðRð Rð Rð Rð Rrƒ   r  Ú__main__)NN)r   r   r   r   r   r   r    r!   )
rg   r   rh   rs   r_   r!   rd   rt   r    ru   )r‚   r„   rh   rs   r    r…   )r‚   rÈ   rh   rs   ra   rÉ   r`   rt   rd   rt   r    ru   )N).Ú__doc__Ú
__future__r   r£   Úunittestr’   r.   r)   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r4   r   ÚEnvironmentr[   ÚStaccatoÚUpBowÚDownBowÚAccentÚStrongAccentÚTenutor¸   rr   rH   r{   ry   rø   r  rN   ÚMusic21ExceptionrO   ÚTestCaser  r  ÚmainTestr  rƒ   rq   ú<module>r     s  ððð ð #Ð "Ð "Ð "Ð "Ð "à €€€Ø €€€Ø 	€	€	€	Ø €€€à !Ð !Ð !Ð !Ð !Ð !Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø  Ð  Ð  Ð  Ð  Ð  Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à	Ôð "Ø!Ð!Ð!Ð!Ð!Ð!ð 'ˆ{Ô&Ð'<Ñ=Ô=€ð Ô&ØÔ ØÔ$ØÔ"Ø!Ô.ØÔ"ðð Ð ð "&Ø04ðð ð ð ð ðD"&ð "&ð "&ð "&ðHf/ð f/ð f/ð f/ðR2&ð 2&ð 2&ð 2&ðjUð Uð Uð Uðn$ð $ð $ð $ðN #(ð bð bð bð bð bðJ	ð 	ð 	ð 	ð 	˜LÔ9ñ 	ô 	ð 	ð
_Rð _Rð _Rð _Rð _Rˆ8Ôñ _Rô _Rð _RðF ˆzÒÐØ€N€N€NØ€GÔ�TÑÔÐÐÐð Ðrƒ   