§
    ƒØjú ã                  ó¾  — d dl mZ d dlZd dlZd dlZd dlmc 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 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"m#Z#m$Z$m%Z%m&Z&  G d„ dej'        ¦  «        Z(e)dk    rd dl
Z
 e
j*        e(¦  «         dS dS )é    )ÚannotationsN)Úarticulations)Úbar)Úchord)Úcommon)Údefaults©Úduration)Údynamics)Úexpressions)Úharmony)Ú
instrument©Úkey)Úlayout)Úmetadata)Úmeter)Únote)Úpitch)Úrepeat)Úspanner)Ústream)Ústyle)Útempo)Útext)ÚMusicXMLImporterÚMusicXMLImportExceptionÚMusicXMLWarningÚMeasureParserÚ
PartParserc                  óü  — 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„ 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.„ Z0d/„ Z1d0„ Z2d1„ Z3d2„ Z4d3„ Z5d4„ Z6d5„ Z7d6„ Z8d7„ Z9d8„ Z:d9„ Z;d:„ Z<d;„ Z=d<„ Z>d=„ Z?d>„ Z@d?„ ZAd@„ ZBdA„ ZCdB„ ZDdC„ ZEdD„ ZFdE„ ZGdVdH„ZHdI„ ZIdJ„ ZJdK„ ZKdL„ ZLdM„ ZMdN„ ZNdO„ ZOdP„ ZPdQ„ ZQdR„ ZRdS„ ZSdT„ ZTdUS )WÚTestc                ó*   — t          j        |¦  «        S ©N)ÚETÚ
fromstring)ÚselfÚelTexts     ú“/Users/tedpeters/Documents/Projects/Claude Projects/Misc Tools/notename-sheets/.venv/lib/python3.11/site-packages/music21/musicxml/test_xmlToM21.pyÚELzTest.EL%   s   € ÝŒ}˜VÑ$Ô$Ð$ó    c                ó|   — d}|D ]}|t          |¦  «        dz   z  }Œ|dt          |¦  «        dz
  …         }|dz  }|S )zv
        make it so that the tests that look for the old-style pitch.Pitch
        representation still work.
        ú[z, r   é   ú])ÚstrÚlen)r'   ÚlistInÚoutÚps       r)   ÚpitchOutzTest.pitchOut(   sT   € ð
 ˆØð 	!ð 	!ˆAØ•3�q‘6”6˜D‘=Ñ ˆCˆCØ�!•C˜‘H”H˜q‘L�.Ô!ˆØˆs‰
ˆØˆ
r+   c                óp   — t          ¦   «         }d|_        |                      t          |j        ¦  «         d S )Nz<score-timewise />)r   ÚxmlTextÚassertRaisesr   ÚparseXMLText)r'   ÚMIs     r)   ÚtestParseSimplezTest.testParseSimple4   s3   € ÝÑÔˆØ.ˆŒ
Ø×ÒÕ1°2´?ÑCÔCÐCÐCÐCr+   c                ób  — d}t          ¦   «         }|                      |j        ¦  «         |                      |j        ¦  «         |                      |j        ¦  «         |                      |¦  «        }t          j        ¦   «         }|                      t          |j
        ¦  «        d¦  «         |                      d|j
        d         ¦  «         t          ¦   «         }|                     ||¦  «         |                      |j        ¦  «         |                      |j        ¦  «         |                      |j        ¦  «         |                      d|j
        ¦  «         d}t          ¦   «         }|                      |¦  «        }t          j        ¦   «         }|                     ||¦  «         |                      |j        ¦  «         |                      |j        ¦  «         |                      |j        ¦  «         |                      d|j
        ¦  «         |                      d|j
        ¦  «         d	S )
zI
        Test that the Encoding tag sets software etc. properly.
        aX  
            <encoding>
              <encoding-date>2025-05-21</encoding-date>
              <software>Finale v26.3 for Mac</software>
              <supports attribute="new-system" element="print" type="yes" value="yes" />
              <supports attribute="new-page" element="print" type="yes" value="yes" />
            </encoding>
        é   Úmusic21r   zFinale v26.3 for Maca‘  
            <encoding>
              <encoding-date>2099-05-21</encoding-date>
              <software>music21 v.99</software>
              <software>Finale v90 for ChatGPT Implant</software>
              <supports attribute="new-system" element="print" type="yes" value="no" />
              <supports attribute="new-page" element="print" type="yes" value="yes" />
            </encoding>
        zmusic21 v.99zFinale v90 for ChatGPT ImplantN)r   ÚassertFalseÚapplyFinaleWorkaroundsÚdefinesExplicitSystemBreaksÚdefinesExplicitPageBreaksr*   r   ÚMetadataÚassertEqualr1   ÚsoftwareÚassertInÚprocessEncodingÚ
assertTrue)r'   Úenc1Úmxl_importerÚencodingÚmds        r)   Útest_processEncodingzTest.test_processEncoding9   sæ  € ðˆõ (Ñ)Ô)ˆØ×Ò˜Ô<Ñ=Ô=Ð=Ø×Ò˜ÔAÑBÔBÐBØ×Ò˜Ô?Ñ@Ô@Ð@à—7’7˜4‘=”=ˆÝÔÑ Ô ˆØ×Ò�˜Rœ[Ñ)Ô)¨1Ñ-Ô-Ð-à�Š�i ¤¨Q¤Ñ0Ô0Ð0å'Ñ)Ô)ˆØ×$Ò$ X¨rÑ2Ô2Ð2Ø�Š˜Ô;Ñ<Ô<Ð<Ø�Š˜Ô@ÑAÔAÐAØ�Š˜Ô>Ñ?Ô?Ð?Ø�ŠÐ,¨b¬kÑ:Ô:Ð:ðˆõ (Ñ)Ô)ˆØ—7’7˜4‘=”=ˆÝÔÑ Ô ˆØ×$Ò$ X¨rÑ2Ô2Ð2Ø×Ò˜Ô<Ñ=Ô=Ð=Ø×Ò˜ÔAÑBÔBÐBØ�Š˜Ô>Ñ?Ô?Ð?Ø�Š�n b¤kÑ2Ô2Ð2Ø�ŠÐ6¸¼ÑDÔDÐDÐDÐDr+   c                ój  — |                       d¦  «        }|                       d¦  «        }t          ||¬¦  «        }d|_        d}|                      t          ¦  «        5 }|                     ¦   «          d d d ¦  «         n# 1 swxY w Y   |                      t          |j        ¦  «        |¦  «         d S )Nz5<score-part><part-name>Elec.</part-name></score-part>zF<part><measure><note><type>thirty-tooth</type></note></measure></part>)ÚmxPartÚmxScorePartÚ1zGIn part (Elec.), measure (0): found unknown MusicXML type: thirty-tooth)	r*   r    ÚpartIdr8   r   ÚparserD   r0   Ú	exception)r'   rP   rO   ÚppÚmsgÚerrors         r)   ÚtestExceptionMessagezTest.testExceptionMessagej   sÞ   € Ø—g’gÐUÑVÔVˆØ—’ÐaÑbÔbˆå˜v°;Ð?Ñ?Ô?ˆØˆŒ	àWˆØ×ÒÕ6Ñ7Ô7ð 	¸5Ø�HŠH‰JŒJˆJð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à×Ò�˜Uœ_Ñ-Ô-¨sÑ3Ô3Ð3Ð3Ð3s   ÁB Â BÂBc                óº   — ddl m} |                     d¦  «        }|j        D ]7}|t          j                 }|                      t          |¦  «        d¦  «         Œ8d S )Nr   ©Úcorpuszk80/movement3é   )r>   r[   rS   Úpartsr   ÚRepeatrD   r1   )r'   r[   Úsr4   Úposts        r)   ÚtestBarRepeatConversionzTest.testBarRepeatConversionv   sl   € Ø"Ð"Ð"Ð"Ð"Ð"ð �LŠL˜Ñ)Ô)ˆØ”ð 	+ð 	+ˆAØ•S”Z”=ˆDØ×Ò�S ™YœY¨Ñ*Ô*Ð*Ð*ð	+ð 	+r+   c                óÎ  — ddl m} ddlm} |                     |j        ¦  «        }|j        d                              t          j	        ¦  «         
                    ¦   «         }|                      |                     ¦   «         ¦  «         |                      d„ |j        D ¦   «         ddg¦  «         |                      d„ |j        d         D ¦   «         g d¢¦  «         |                      d	„ |j        d         D ¦   «         g d¢¦  «         |                      d
„ |j        d         D ¦   «         g d¢¦  «         |                      d„ |j        d         D ¦   «         g d¢¦  «         d S )Nr   ©Ú	converter©ÚtestPrimitivec                ó   — g | ]	}|j         ‘Œ
S © )Úid)Ú.0Úvs     r)   ú
<listcomp>z#Test.testVoices.<locals>.<listcomp>Š   s   € Ð2Ð2Ð2 1˜!œ$Ð2Ð2Ð2r+   rQ   Ú2c                ó   — g | ]	}|j         ‘Œ
S rh   ©Úoffset©rj   Úes     r)   rl   z#Test.testVoices.<locals>.<listcomp>Œ   ó   € Ð9Ð9Ð9 q˜!œ(Ð9Ð9Ð9r+   )ç        ç      ð?ç       @ç      @c                ó   — g | ]	}|j         ‘Œ
S rh   ro   rq   s     r)   rl   z#Test.testVoices.<locals>.<listcomp>�   ó   € Ð;Ð;Ð; q˜!œ(Ð;Ð;Ð;r+   c                ó   — g | ]	}|j         ‘Œ
S rh   ro   rq   s     r)   rl   z#Test.testVoices.<locals>.<listcomp>�   rs   r+   r=   )rt   rv   ç      @rw   g      @c                ó   — g | ]	}|j         ‘Œ
S rh   ro   rq   s     r)   rl   z#Test.testVoices.<locals>.<listcomp>�   ry   r+   )r>   rd   Úmusic21.musicxmlrf   rS   ÚvoiceDoubler]   ÚgetElementsByClassr   ÚMeasureÚfirstrH   Ú	hasVoicesrD   Úvoices)r'   rd   rf   r_   Úm1s        r)   Ú
testVoiceszTest.testVoices‚   st  € Ø%Ð%Ð%Ð%Ð%Ð%Ø2Ð2Ð2Ð2Ð2Ð2à�OŠO˜MÔ5Ñ6Ô6ˆØŒW�QŒZ×*Ò*­6¬>Ñ:Ô:×@Ò@ÑBÔBˆØ�Š˜Ÿš™œÑ'Ô'Ð'à×ÒÐ2Ð2¨¬	Ð2Ñ2Ô2°S¸#°JÑ?Ô?Ð?à×ÒÐ9Ð9¨B¬I°a¬LÐ9Ñ9Ô9Ð;OÐ;OÐ;OÑPÔPÐPØ×ÒÐ;Ð;¨B¬I°c¬NÐ;Ñ;Ô;Ð=QÐ=QÐ=QÑRÔRÐRà×ÒÐ9Ð9¨B¬I°a¬LÐ9Ñ9Ô9Ð;TÐ;TÐ;TÑUÔUÐUØ×ÒÐ;Ð;¨B¬I°c¬NÐ;Ñ;Ô;Ð=VÐ=VÐ=VÑWÔWÐWÐWÐWr+   c                ó\  — ddl m} ddlm} |                     |j        ¦  «        }|                      t          |t          j	                 ¦  «        d¦  «         |                      t          | 
                    ¦   «                              t          j	        ¦  «        ¦  «        d¦  «         d S )Nr   rc   re   é   )r>   rd   r}   rf   rS   ÚspannersSlurs33crD   r1   r   ÚSpannerÚrecurser   ©r'   rd   rf   r_   s       r)   ÚtestSlurInputAzTest.testSlurInputA“   s�   € Ø%Ð%Ð%Ð%Ð%Ð%Ø2Ð2Ð2Ð2Ð2Ð2à�OŠO˜MÔ:Ñ;Ô;ˆà×Ò�˜Q�wœÔ/Ñ0Ô0°!Ñ4Ô4Ð4ð 	×Ò�˜QŸYšY™[œ[×;Ò;½G¼OÑLÔLÑMÔMÈqÑQÔQÐQÐQÐQr+   c                ó8  — ddl m} ddlm} |                     |j        ¦  «        }|                      t          |j        ¦  «        d¦  «         |                      t          |j        d         t          j
                 ¦  «        d¦  «         |                      t          |j        d         t          j
                 ¦  «        d¦  «         |                      |j        d         t          j        ¦  «         |                      |j        d         t          j        ¦  «         |t          j                 }|                      t          |¦  «        d¦  «         |                      |d         |d         ¦  «         |                      |d         |d         ¦  «         d S )Nr   rc   re   r.   r=   )r>   rd   r}   rf   rS   ÚpianoStaff43arD   r1   r]   r   ÚNoteÚassertIsInstancer   Ú	PartStaffr   ÚKeySignatureÚassertIsNot)r'   rd   rf   r_   ÚkeySigss        r)   ÚtestMultipleStavesPerPartAzTest.testMultipleStavesPerPartA¡   sY  € Ø%Ð%Ð%Ð%Ð%Ð%Ø2Ð2Ð2Ð2Ð2Ð2à�OŠO˜MÔ7Ñ8Ô8ˆØ×Ò�˜QœW™œ qÑ)Ô)Ð)à×Ò�˜QœW QœZ­¬	Ô2Ñ3Ô3°QÑ7Ô7Ð7Ø×Ò�˜QœW QœZ­¬	Ô2Ñ3Ô3°QÑ7Ô7Ð7à×Ò˜aœg aœj­&Ô*:Ñ;Ô;Ð;Ø×Ò˜aœg aœj­&Ô*:Ñ;Ô;Ð;ð •CÔ$Ô%ˆØ×Ò�˜W™œ qÑ)Ô)Ð)Ø×Ò˜ œ W¨Q¤ZÑ0Ô0Ð0Ø×Ò˜ œ W¨Q¤ZÑ0Ô0Ð0Ð0Ð0r+   c                ó’  — ddl m} ddlm} |                     |j        ¦  «        }|                      t          |j        ¦  «        d¦  «         |                      t          |j        d         t          j
                 ¦  «        d¦  «         |                      t          |j        d         t          j
                 ¦  «        d¦  «         |                      t          |j        d         t          j                 ¦  «        d¦  «         |                      t          |j        d         t          j                 ¦  «        d¦  «         d S )Nr   rc   ©Ú	testFilesr.   é   r=   é   )r>   rd   r}   r˜   rS   ÚmoussorgskyPromenaderD   r1   r]   r   r�   r   ÚChord)r'   rd   r˜   r_   s       r)   ÚtestMultipleStavesPerPartBzTest.testMultipleStavesPerPartB´   s
  € Ø%Ð%Ð%Ð%Ð%Ð%Ø.Ð.Ð.Ð.Ð.Ð.à�OŠO˜IÔ:Ñ;Ô;ˆØ×Ò�˜QœW™œ qÑ)Ô)Ð)à×Ò�˜QœW QœZ­¬	Ô2Ñ3Ô3°RÑ8Ô8Ð8à×Ò�˜QœW QœZ­¬	Ô2Ñ3Ô3°QÑ7Ô7Ð7à×Ò�˜QœW QœZ­¬Ô4Ñ5Ô5°rÑ:Ô:Ð:Ø×Ò�˜QœW QœZ­¬Ô4Ñ5Ô5°rÑ:Ô:Ð:Ð:Ð:r+   c                ó  — ddl m} |                     d¦  «        }|                      t	          |j        ¦  «        d¦  «         |                      t	          |                     t          j        ¦  «        ¦  «        d¦  «         t          ¦   «         }| 
                    ¦   «         D ]$}|                     t          |¦  «        ¦  «         Œ%|                      t	          |¦  «        t	          | 
                    ¦   «         ¦  «        ¦  «         d S )Nr   rZ   zschoenberg/opus19/movement2r.   )r>   r[   rS   rD   r1   r]   r   r   r‘   ÚsetrŠ   Úaddri   )r'   r[   r_   ÚsetElementIdsÚels        r)   ÚtestMultipleStavesPerPartCzTest.testMultipleStavesPerPartCÄ   sæ   € Ø"Ð"Ð"Ð"Ð"Ð"Ø�LŠLÐ6Ñ7Ô7ˆØ×Ò�˜QœW™œ qÑ)Ô)Ð)Ø×Ò�˜Q×1Ò1µ&Ô2BÑCÔCÑDÔDÀaÑHÔHÐHõ ™œˆØ—)’)‘+”+ð 	&ð 	&ˆBØ×Ò�b ™fœfÑ%Ô%Ð%Ð%Ø×Ò�˜]Ñ+Ô+­S°·²±´Ñ-=Ô-=Ñ>Ô>Ð>Ð>Ð>r+   c                óp  — ddl m} ddlm} |                     |j        ¦  «        }|                      t          |                     t          j
        ¦  «        ¦  «        d¦  «         |                      t          |                     ¦   «                              t          j        ¦  «        ¦  «        d¦  «         |j        d                              t          j        ¦  «                             ¦   «         }|                     ¦   «         }|                     |d¬¦  «        }|                      |d¦  «         d S )Nr   rc   re   r.   T)ÚreturnSpecialÚhighestTime)r>   rd   r}   rf   rS   ÚmixedVoices1arD   r1   r   r   r‘   rŠ   r   ÚBarliner]   r€   ÚlastÚelementOffset)r'   rd   rf   r_   ÚlastMeasureÚlastElementÚ
lastOffsets          r)   Ú#testMultipleStavesInPartWithBarlinez(Test.testMultipleStavesInPartWithBarlineÑ   s  € Ø%Ð%Ð%Ð%Ð%Ð%Ø2Ð2Ð2Ð2Ð2Ð2Ø�OŠO˜MÔ7Ñ8Ô8ˆØ×Ò�˜Q×1Ò1µ&Ô2BÑCÔCÑDÔDÀaÑHÔHÐHØ×Ò�˜QŸYšY™[œ[×;Ò;½C¼KÑHÔHÑIÔIÈ1ÑMÔMÐMØ”g˜a”j×3Ò3µF´NÑCÔC×HÒHÑJÔJˆØ!×&Ò&Ñ(Ô(ˆØ ×.Ò.¨{È$Ð.ÑOÔOˆ
Ø×Ò˜ ]Ñ3Ô3Ð3Ð3Ð3r+   c                óz  — ddl m} ddlm} |                     |j        ¦  «        }|                      t          |                     t          j
        ¦  «        ¦  «        d¦  «         |t          j
                 d         }|                      t          |                     t          j        ¦  «        ¦  «        d¦  «         |t          j                 d         }|                      d„ |j        D ¦   «         g d¢¦  «         |                     d¬	¦  «         |                      d
„ |j        D ¦   «         g d¢¦  «         d S )Nr   rc   re   r.   r=   c                ó   — g | ]	}|j         ‘Œ
S rh   ©ÚnameWithOctave©rj   r4   s     r)   rl   z;Test.testMultipleStavesInPartWithOttava.<locals>.<listcomp>å   ó   € Ð2Ð2Ð2 !ˆQÔÐ2Ð2Ð2r+   )úE-5úE-6ÚD5ÚD6ÚC5ÚC6rµ   r¶   ÚF5ÚF6ÚE5ÚE6r·   r¸   r»   r¼   zF#5ÚA5zG#5ÚB5T©ÚinPlacec                ó   — g | ]	}|j         ‘Œ
S rh   r±   r³   s     r)   rl   z;Test.testMultipleStavesInPartWithOttava.<locals>.<listcomp>ë   r´   r+   )úE-4rµ   ÚD4r·   ÚC4r¹   rÄ   rµ   ÚF4r»   ÚE4r½   rÅ   r·   rÇ   r»   zF#4ÚA4zG#4ÚB4)r>   rd   r}   rf   rS   ÚpianoStaffWithOttavarD   r1   r   r   r‘   r   ÚOttavar€   ÚpitchesÚtoWrittenPitch)r'   rd   rf   r_   Úps0Úm0s         r)   Ú"testMultipleStavesInPartWithOttavaz'Test.testMultipleStavesInPartWithOttavaÜ   sQ  € Ø%Ð%Ð%Ð%Ð%Ð%Ø2Ð2Ð2Ð2Ð2Ð2Ø�OŠO˜MÔ>Ñ?Ô?ˆØ×Ò�˜Q×1Ò1µ&Ô2BÑCÔCÑDÔDÀaÑHÔHÐHØ•Ô Ô! !Ô$ˆØ×Ò�˜S×3Ò3µG´NÑCÔCÑDÔDÀaÑHÔHÐHØ•”Ô  Ô#ˆØ×ÒØ2Ð2 r¤zÐ2Ñ2Ô2ð?ð ?ð ?ñ	
ô 	
ð 	
ð
 	
×Ò ÐÑ&Ô&Ð&Ø×ÒØ2Ð2 r¤zÐ2Ñ2Ô2ð?ð ?ð ?ñ	
ô 	
ð 	
ð 	
ð 	
r+   c                óf  — ddl m} ddlm} |                     |j        ¦  «        }|                      t          |                     ¦   «         j	        ¦  «        d¦  «         | 
                    dd¦  «        }|                      t          |                     ¦   «         j	        ¦  «        d¦  «         d S )Nr   rc   re   r.   é   )r>   rd   r}   rf   rS   Úspanners33aÚassertGreaterEqualr1   ÚflattenÚspannersÚmeasuresrD   )r'   rd   rf   r_   Úexs        r)   ÚtestSpannersAzTest.testSpannersAð   s©   € Ø%Ð%Ð%Ð%Ð%Ð%Ø2Ð2Ð2Ð2Ð2Ð2à�OŠO˜MÔ5Ñ6Ô6ˆà×Ò¥ A§I¢I¡K¤KÔ$8Ñ 9Ô 9¸1Ñ=Ô=Ð=ð �ZŠZ˜˜1ÑÔˆð 	×Ò�˜RŸZšZ™\œ\Ô2Ñ3Ô3°QÑ7Ô7Ð7Ð7Ð7r+   c                óè  — ddl m} ddlm} |                     |j        ¦  «        }|                      t          |t          j	                 ¦  «        d¦  «         |j
        d         }|                     t          j        ¦  «        d         }|                      t          |                     t          j	        ¦  «        ¦  «        d¦  «         |                     t          j        ¦  «        d         }|                      t          |                     t          j	        ¦  «        ¦  «        d¦  «         |                     t          j	        ¦  «        }|                      d„ |D ¦   «         g d¢¦  «         d S )Nr   rc   re   rÓ   r=   c                ó   — g | ]	}|j         ‘Œ
S rh   ro   )rj   Útes     r)   rl   z-Test.testTextExpressionsA.<locals>.<listcomp>  s   € Ð7Ð7Ð7¨˜"œ)Ð7Ð7Ð7r+   )ru   ç      ø?ç      @)r>   rd   r}   rf   rS   ÚtextExpressionsrD   r1   r   ÚTextExpressionr]   r   r   r€   )r'   rd   rf   r_   Úp1r„   Úm2ÚteStreams           r)   ÚtestTextExpressionsAzTest.testTextExpressionsA  sD  € Ø%Ð%Ð%Ð%Ð%Ð%Ø2Ð2Ð2Ð2Ð2Ð2à�OŠO˜MÔ9Ñ:Ô:ˆà×Ò�˜Q�{Ô9Ô:Ñ;Ô;¸QÑ?Ô?Ð?àŒW�QŒZˆØ×"Ò"¥6¤>Ñ2Ô2°1Ô5ˆØ×Ò�˜R×2Ò2µ;Ô3MÑNÔNÑOÔOÐQRÑSÔSÐSà×"Ò"¥6¤>Ñ2Ô2°1Ô5ˆØ×Ò�˜R×2Ò2µ;Ô3MÑNÔNÑOÔOÐQRÑSÔSÐSà×(Ò(­Ô)CÑDÔDˆØ×ÒÐ7Ð7¨hÐ7Ñ7Ô7¸¸¸ÑIÔIÐIÐIÐIr+   c                óú  — ddl m} |                     d¦  «        }|j        d         }|                     t
          j        ¦  «        D ]²}|                     ¦   «         j        D ]–}|j	        j
        dv r†|j	        j        › d|j        j        › �}t          j        |¦  «        }d|j        _        d|j        _        d|j        _        d	|j        _        d
|j        _        |                     |j        |¦  «         Œ—Œ³d S )Nr   rZ   úbwv66.6)ÚBú
é   ÚboldÚcenterÚ	rectanglei°ÿÿÿ)r>   r[   rS   r]   r   r   r€   rÖ   Únotesr   Únamer²   r
   ÚquarterLengthr   rá   r   ÚfontSizeÚ
fontWeightÚjustifyÚ	enclosureÚ	absoluteYÚinsertrp   )r'   r[   r_   r4   ÚmÚnrV   rÝ   s           r)   ÚtestTextExpressionsCzTest.testTextExpressionsC  sý   € Ø"Ð"Ð"Ð"Ð"Ð"Ø�LŠL˜Ñ#Ô#ˆØŒG�AŒJˆØ×%Ò%¥f¤nÑ5Ô5ð 
	+ð 
	+ˆAØ—Y’Y‘[”[Ô&ð 	+ð 	+�Ø”7”< 5Ð(Ð(ØœWÔ3ÐQÐQ°q´zÔ7OÐQÐQ�CÝ$Ô3°CÑ8Ô8�BØ(*�B”HÔ%Ø*0�B”HÔ'Ø'/�B”HÔ$Ø)4�B”HÔ&Ø),�B”HÔ&Ø—H’H˜QœX rÑ*Ô*Ð*øð	+ð
	+ð 
	+r+   c                óP  — ddl m} |                     d¦  «        }|j        d         }|                     t
          j        ¦  «        dd …         D ]U}dD ]P}t          j        |¦  «        }d|j	        _
        d|j	        _        d	|j	        _        |                     ||¦  «         ŒQŒVd S )
Nr   rZ   rç   éÿÿÿÿr=   )rÞ   r{   rë   rì   rí   )r>   r[   rS   r]   r   r   r€   r   rá   r   rò   ró   rô   rö   )r'   r[   r_   r4   r÷   ÚposrÝ   s          r)   ÚtestTextExpressionsDzTest.testTextExpressionsD+  s»   € Ø"Ð"Ð"Ð"Ð"Ð"à�LŠL˜Ñ#Ô#ˆØŒG�BŒKˆØ×%Ò%¥f¤nÑ5Ô5°a°b°bÔ9ð 	"ð 	"ˆAØ!ð "ð "�Ý Ô/°Ñ4Ô4�Ø&,�”Ô#Ø#+�”Ô Ø%0�”Ô"Ø—’˜˜bÑ!Ô!Ð!Ð!ð"ð	"ð 	"r+   c                ó¬  — dd l }t          j        ¦   «         }t          d¦  «        D ]}t          j        |dz   ¬¦  «        }|                     t          j        d¬¦  «        ¦  «         |                     t          j	        d¬¦  «        ¦  «         |                     |¦  «         Œ€| 
                    t          j        ¦  «        D ]�}d	„ t          d
¦  «        D ¦   «         }|                     |¦  «         |d d…         }|D ]P}t          j        |¦  «        }d|j        _        d|j        _        d|j        _        |                     ||¦  «         ŒQŒŽd S )Nr   r\   r=   )ÚnumberT)ÚisNewÚwhole©Útypec                ó   — g | ]}|d z  ‘ŒS )g      Ð?rh   )rj   Úxs     r)   rl   z-Test.testTextExpressionsE.<locals>.<listcomp>B  s   € Ð3Ð3Ð3 A�q˜4‘xÐ3Ð3Ð3r+   é   é   rë   rì   rí   )Úrandomr   ÚStreamÚranger€   Úappendr   ÚSystemLayoutr   ÚRestr   Úshuffler   rá   r   rò   ró   rô   rö   )r'   r  r_   Úir÷   ÚoffsetsÚorÝ   s           r)   ÚtestTextExpressionsEzTest.testTextExpressionsE9  sG  € ØˆˆˆÝŒM‰OŒOˆÝ�q‘”ð 	ð 	ˆAÝ” a¨!¡eÐ,Ñ,Ô,ˆAØ�HŠH•VÔ(¨tÐ4Ñ4Ô4Ñ5Ô5Ð5Ø�HŠH•T”Y GÐ,Ñ,Ô,Ñ-Ô-Ð-Ø�HŠH�Q‰KŒKˆKˆKØ×%Ò%¥f¤nÑ5Ô5ð 		 ð 		 ˆAØ3Ð3­¨r©¬Ð3Ñ3Ô3ˆGØ�NŠN˜7Ñ#Ô#Ð#Ø˜b˜q˜b”kˆGØð  ð  �Ý Ô/°Ñ2Ô2�Ø&,�”Ô#Ø#+�”Ô Ø%0�”Ô"Ø—’˜˜B‘”��ð ð			 ð 		 r+   c                ó„  — ddl m} ddlm} |                     |j        ¦  «        }|                      t          |t          j	                 ¦  «        d¦  «         |                      t          |t          j
                 ¦  «        d¦  «         |                      t          |t          j                 ¦  «        d¦  «         |                     |j        ¦  «        }|                      t          |t          j                 ¦  «        d¦  «         |                      t          |t          j                 ¦  «        d¦  «         d S )Nr   re   rc   r=   r.   )r}   rf   r>   rd   rS   ÚrepeatExpressionsArD   r1   r   ÚSegnoÚFineÚDalSegnoAlFineÚrepeatExpressionsBÚCodaÚDaCapoAlCoda©r'   rf   rd   r_   s       r)   ÚtestImportRepeatExpressionsAz!Test.testImportRepeatExpressionsAM  s  € à2Ð2Ð2Ð2Ð2Ð2Ø%Ð%Ð%Ð%Ð%Ð%ð �OŠO˜MÔ<Ñ=Ô=ˆØ×Ò�˜Q�vœ|œ_Ñ-Ô-¨qÑ1Ô1Ð1Ø×Ò�˜Q�vœ{œ^Ñ,Ô,¨aÑ0Ô0Ð0Ø×Ò�˜Q�vÔ4Ô5Ñ6Ô6¸Ñ:Ô:Ð:ð �OŠO˜MÔ<Ñ=Ô=ˆØ×Ò�˜Q�vœ{œ^Ñ,Ô,¨aÑ0Ô0Ð0à×Ò�˜Q�vÔ2Ô3Ñ4Ô4°aÑ8Ô8Ð8Ð8Ð8r+   c                ój  — ddl m} |                     dd¦  «        }|                      t	          |t
          j                 ¦  «        d¦  «         |j        d                              dd¦  «        }| 	                    t
          j        ¦  «        }|                      t	          |¦  «        d¦  «         d S )	Nr   rZ   Ú	opus74no1rÓ   é   éH   éM   r.   )
r>   r[   rS   rD   r1   r   ÚRepeatBracketr]   rØ   r   )r'   r[   r_   ÚsSubÚ
rbSpannerss        r)   ÚtestImportRepeatBracketAzTest.testImportRepeatBracketA^  s¤   € Ø"Ð"Ð"Ð"Ð"Ð"à�LŠL˜ aÑ(Ô(ˆà×Ò�˜Q�wÔ4Ô5Ñ6Ô6¸Ñ:Ô:Ð:ð
 Œw�qŒz×"Ò" 2 rÑ*Ô*ˆð ×,Ò,­WÔ-BÑCÔCˆ
Ø×Ò�˜Z™œ¨!Ñ,Ô,Ð,Ð,Ð,r+   c                óZ  — ddl m} ddlm} |                     |j        ¦  «        }|                      t          |j        ¦  «        d¦  «         |                      t          |j        d          	                    t          j        ¦  «        d         j        ¦  «        d¦  «         |                     |j        ¦  «        }|                      t          |j        ¦  «        d¦  «         |                      t          |j        d          	                    t          j        ¦  «        d         j        ¦  «        d¦  «         |                     |j        ¦  «        }|                      t          |j        ¦  «        d¦  «         |                      t          |j        d          	                    t          j        ¦  «        d         j        ¦  «        d¦  «         |                      t          |j        d          	                    t          j        ¦  «        d         j        ¦  «        d¦  «         d S )Nr   re   rc   r.   r=   )r}   rf   r>   rd   rS   r§   rD   r1   r]   r   r   r€   rƒ   ÚmixedVoices1bÚmixedVoices2r  s       r)   ÚtestImportVoicesAzTest.testImportVoicesAn  s
  € ð 	3Ð2Ð2Ð2Ð2Ð2Ø%Ð%Ð%Ð%Ð%Ð%ð �OŠO˜MÔ7Ñ8Ô8ˆà×Ò�˜QœW™œ qÑ)Ô)Ð)à×Ò�˜QœW QœZ×:Ò:ÝŒNñô ØôÜ%ñ'ô 'Ø()ñ	+ô 	+ð 	+ð
 �OŠO˜MÔ7Ñ8Ô8ˆØ×Ò�˜QœW™œ qÑ)Ô)Ð)Ø×Ò�˜QœW QœZ×:Ò:ÝŒNñô ØôÜ%ñ'ô 'Ø()ñ	+ô 	+ð 	+ð
 �OŠO˜MÔ6Ñ7Ô7ˆØ×Ò�˜QœW™œ qÑ)Ô)Ð)Ø×Ò�˜QœW QœZ×:Ò:ÝŒNñô ØôÜ%ñ'ô 'Ø()ñ	+ô 	+ð 	+à×Ò�˜QœW QœZ×:Ò:ÝŒNñô ØôÜ%ñ'ô 'Ø()ñ	+ô 	+ð 	+ð 	+ð 	+r+   c                ó¼   — ddl m} ddlm} |                     |j        ¦  «        }|t          j                 }|                      t          |¦  «        d¦  «         d S )Nr   re   rc   rÓ   )
r}   rf   r>   rd   rS   ÚmetronomeMarks31cr   ÚTempoIndicationÚassertGreaterr1   )r'   rf   rd   r_   Úmmss        r)   ÚtestImportMetronomeMarksAzTest.testImportMetronomeMarksA”  si   € Ø2Ð2Ð2Ð2Ð2Ð2Ø%Ð%Ð%Ð%Ð%Ð%à�OŠO˜MÔ;Ñ<Ô<ˆà•Ô%Ô&ˆØ×Ò�3˜s™8œ8 QÑ'Ô'Ð'Ð'Ð'r+   c                ó  — ddl m} |                     d¦  «        }|                      t	          |                     ¦   «         t          j                 ¦  «        d¦  «         |j        D ]›}| 	                    d¦  «        t          j                  
                    ¦   «         }|                      |j        ¦  «         |                      |j        d¦  «         |                      |j        t          j        d¦  «        ¦  «         ŒœdS )zX
        Import sound tempo marks as MetronomeMarks but only set numberSounding
        r   rZ   zbach/bwv69.6.xmlr  é`   ru   N)r>   r[   rS   rD   r1   rÖ   r   ÚMetronomeMarkr]   Úmeasurer�   ÚassertIsNonerÿ   ÚnumberSoundingÚreferentr
   ÚDuration)r'   r[   r_   r4   Úmms        r)   ÚtestImportMetronomeMarksBzTest.testImportMetronomeMarksB�  sí   € ð 	#Ð"Ð"Ð"Ð"Ð"Ø�LŠLÐ+Ñ,Ô,ˆØ×Ò�˜QŸYšY™[œ[­Ô)<Ô=Ñ>Ô>ÀÑBÔBÐBØ”ð 	Bð 	BˆAØ—’˜1‘”�eÔ1Ô2×8Ò8Ñ:Ô:ˆBØ×Ò˜bœiÑ(Ô(Ð(Ø×Ò˜RÔ.°Ñ3Ô3Ð3Ø×Ò˜Rœ[­(Ô*;¸CÑ*@Ô*@ÑAÔAÐAÐAð		Bð 	Br+   c                ód  — ddl m} |                     d¦  «        }|                      t	          |j                             ¦   «         t          j                 ¦  «        d¦  «         |                      t	          |j         	                    ¦   «         t          j                 ¦  «        d¦  «         dS )z<
        Import tempo into only the first PartStaff
        r   rZ   zdemos/two-partsr=   N)
r>   r[   rS   rD   r1   r]   r�   r   r2  r©   )r'   r[   r_   s      r)   ÚtestImportMetronomeMarksCzTest.testImportMetronomeMarksCª  sŽ   € ð 	#Ð"Ð"Ð"Ð"Ð"Ø�LŠLÐ*Ñ+Ô+ˆØ×Ò�˜QœWŸ]š]™_œ_­UÔ-@ÔAÑBÔBÀAÑFÔFÐFØ×Ò�˜QœWŸ\š\™^œ^­EÔ,?Ô@ÑAÔAÀ1ÑEÔEÐEÐEÐEr+   c                óR   — ddl m} ddlm} |                     |j        ¦  «        }d S )Nr   re   rc   )r}   rf   r>   rd   rS   ÚgraceNotes24a)r'   rf   rd   Úunused_ss       r)   ÚtestImportGraceNotesAzTest.testImportGraceNotesA³  s>   € à2Ð2Ð2Ð2Ð2Ð2Ø%Ð%Ð%Ð%Ð%Ð%Ø—?’? =Ô#>Ñ?Ô?ˆˆˆr+   c                ó‚  — ddl m} ddlm} t	          j        d¦  «        }d|_        d|_        t	          j        d¦  «        }d|_        t          j	        ||g¦  «        }d	|_
        |                     ¦   «         }|                     |¦  «                             d
¦  «        }|                     |¦  «        }|                     ¦   «         j        d         }	|                      |	                     |	j        d         ¦  «        d¦  «         |                      |	                     |	j        d         ¦  «        d¦  «         d S )Nr   )Úm21ToXmlrc   Úf3ÚdiamondÚdownÚc4ÚnoStemr.   zutf-8r=   )r}   rA  r>   rd   r   r�   ÚnoteheadÚstemDirectionr   rœ   rð   ÚGeneralObjectExporterrS   ÚdecoderÖ   rî   rD   ÚgetStemDirectionrÍ   )
r'   rA  rd   Ún1Ún2ÚcÚGEXÚxmlÚinputStreamÚchordResults
             r)   ÚtestChordalStemDirImportzTest.testChordalStemDirImport»  s/  € ð 	.Ð-Ð-Ð-Ð-Ð-Ø%Ð%Ð%Ð%Ð%Ð%õ ŒY�t‰_Œ_ˆØˆŒØ!ˆÔÝŒY�t‰_Œ_ˆØ#ˆÔÝŒK˜˜R˜Ñ!Ô!ˆØˆŒà×,Ò,Ñ.Ô.ˆØ�iŠi˜‰lŒl×!Ò! 'Ñ*Ô*ˆð  —o’o cÑ*Ô*ˆØ!×)Ò)Ñ+Ô+Ô1°!Ô4ˆð 	×Ò˜×5Ò5°kÔ6IÈ!Ô6LÑMÔMÈvÑVÔVÐVØ×Ò˜×5Ò5°kÔ6IÈ!Ô6LÑMÔMÈxÑXÔXÐXÐXÐXr+   c                óÊ  — ddl m} ddlm} |                     |j        ¦  «        }|                     t          j        ¦  «        }|  	                    t          |¦  «        d¦  «         |d         }|  	                    |j        d¦  «         |                      |j        ¦  «         |d         }|  	                    |j        d¦  «         |                      |j        ¦  «         d S )Nr   re   rc   r.   Úliner=   Úbrace)r}   rf   r>   rd   rS   ÚstaffGroupsNested41dr   r   Ú
StaffGrouprD   r1   ÚsymbolrH   ÚbarTogether)r'   rf   rd   r_   ÚstaffGroupsÚsg1Úsg2s          r)   ÚtestStaffGroupsAzTest.testStaffGroupsA×  sÞ   € Ø2Ð2Ð2Ð2Ð2Ð2Ø%Ð%Ð%Ð%Ð%Ð%à�OŠO˜MÔ>Ñ?Ô?ˆØ×*Ò*­6Ô+<Ñ=Ô=ˆà×Ò�˜[Ñ)Ô)¨1Ñ-Ô-Ð-à˜!ŒnˆØ×Ò˜œ VÑ,Ô,Ð,Ø�Š˜œÑ(Ô(Ð(à˜!ŒnˆØ×Ò˜œ WÑ-Ô-Ð-Ø�Š˜œÑ(Ô(Ð(Ð(Ð(r+   c                ó¦  — ddl m} ddlm} |                     |j        ¦  «        }|                     t          j        ¦  «        }|  	                    t          |¦  «        d¦  «         |  	                    |d         j        d¦  «         |                      |d         j        d¦  «         |                      |d         j        j        d¦  «         d S )Nr   re   rc   r=   rV  T)r}   rf   r>   rd   rS   rŽ   r   r   rX  rD   r1   rY  ÚassertIsrZ  r   ÚhideObjectOnPrint)r'   rf   rd   r_   Úsgss        r)   ÚtestStaffGroupsPianozTest.testStaffGroupsPianoê  sÆ   € Ø2Ð2Ð2Ð2Ð2Ð2Ø%Ð%Ð%Ð%Ð%Ð%à�OŠO˜MÔ7Ñ8Ô8ˆØ×"Ò"¥6Ô#4Ñ5Ô5ˆØ×Ò�˜S™œ 1Ñ%Ô%Ð%Ø×Ò˜˜Qœœ¨Ñ0Ô0Ð0Ø�Š�c˜!”fÔ(¨$Ñ/Ô/Ð/Ø�Š�c˜!”f”lÔ4°dÑ;Ô;Ð;Ð;Ð;r+   c                ó*  — ddl m} ddlm} |                     |j        ¦  «        }|j        d                              ¦   «                              t          j
        ¦  «                             ¦   «         }|j        d                              ¦   «                              t          j
        ¦  «                             ¦   «         }|                      t          |j        ¦  «        d¦  «         |                      t          |j        ¦  «        d¦  «         d S )Nr   re   rc   r=   ú<music21.interval.Interval M-2>z<music21.interval.Interval M-6>)r}   rf   r>   rd   rS   ÚtransposingInstruments72ar]   rÖ   r   r   Ú
Instrumentr�   rD   r0   Útransposition)r'   rf   rd   r_   Úi1Úi2s         r)   ÚtestInstrumentTranspositionAz!Test.testInstrumentTranspositionAõ  sî   € Ø2Ð2Ð2Ð2Ð2Ð2Ø%Ð%Ð%Ð%Ð%Ð%à�OŠO˜MÔCÑDÔDˆØŒW�QŒZ×ÒÑ!Ô!×4Ò4µZÔ5JÑKÔK×QÒQÑSÔSˆØŒW�QŒZ×ÒÑ!Ô!×4Ò4µZÔ5JÑKÔK×QÒQÑSÔSˆð 	×Ò�˜RÔ-Ñ.Ô.Ð0QÑRÔRÐRØ×Ò�˜RÔ-Ñ.Ô.Ð0QÑRÔRÐRÐRÐRr+   c                óÐ	  — ddl m} ddlm} |                     |j        ¦  «        }|j        d         t          j                  	                    ¦   «         }|  
                    t          |¦  «        d¦  «         |d         }|                      |t          j        ¦  «         |j        d         t          j                  	                    ¦   «         }|  
                    t          |¦  «        d¦  «         |d         }|                      |t          j        ¦  «         |j        d         t          j                  	                    ¦   «         }|  
                    t          |¦  «        d¦  «         |d         }	|                      |	t          j        ¦  «         |  
                    t!          |d         j        ¦  «        d¦  «         |  
                    t!          |d         j        ¦  «        d¦  «         |  
                    t!          |d         j        ¦  «        d	¦  «         |  
                    t!          |d         j        ¦  «        d
¦  «         |  
                    t!          |d         j        ¦  «        d¦  «         |  
                    t!          |	j        ¦  «        d¦  «         |  
                    |                      |j        d                              ¦   «         j        ¦  «        d¦  «         |  
                    |                      |j        d                              ¦   «         j        ¦  «        d¦  «         |  
                    |                      |j        d                              ¦   «         j        ¦  «        d¦  «         |                      |j        d                              ¦   «         j        ¦  «         |                     d¬¦  «        }
|  
                    d„ |
j        d                              ¦   «         j        D ¦   «         dh¦  «         |  
                    d„ |
j        d                              ¦   «         j        D ¦   «         dh¦  «         |  
                    d„ |
j        d                              ¦   «         j        D ¦   «         dh¦  «         |                     ¦   «         }|  
                    d„ |                     ¦   «         j        D ¦   «         dh¦  «         d S )Nr   re   rc   rÓ   r=   r.   ÚNonez<music21.interval.Interval P-5>z<music21.interval.Interval P1>re  z<music21.interval.Interval m3>zp[A4, A4, A4, A4, A4, A4, A4, A4, E5, E5, E5, E5, E5, E5, E5, E5, E5, E5, E5, E5, E5, E5, E5, E5, A4, A4, A4, A4]zx[B4, B4, B4, B4, F#4, F#4, F#4, F#4, F#4, F#4, F#4, F#4, F#4, F#4, F#4, F#4, F#4, F#4, F#4, F#4, B4, B4, B4, B4, B4, B4]zd[E5, E5, E5, E5, E5, E5, E5, E5, E5, E5, E5, E5, E5, E5, E5, E5, E5, E5, E5, E5, E5, E5, E5, E5, E5]FrÁ   c                ó   — h | ]	}|j         ’Œ
S rh   r±   r³   s     r)   ú	<setcomp>z4Test.testInstrumentTranspositionB.<locals>.<setcomp>8  ó   € ÐYÐYÐY¨q˜!Ô*ÐYÐYÐYr+   rÉ   c                ó   — h | ]	}|j         ’Œ
S rh   r±   r³   s     r)   ro  z4Test.testInstrumentTranspositionB.<locals>.<setcomp>:  rp  r+   c                ó   — h | ]	}|j         ’Œ
S rh   r±   r³   s     r)   ro  z4Test.testInstrumentTranspositionB.<locals>.<setcomp><  rp  r+   c                ó   — h | ]	}|j         ’Œ
S rh   r±   r³   s     r)   ro  z4Test.testInstrumentTranspositionB.<locals>.<setcomp>A  s   € ÐNÐNÐN¨q˜!Ô*ÐNÐNÐNr+   )r}   rf   r>   rd   rS   Útransposing01r]   r   rg  r   rD   r1   r�   ÚOboeÚClarinetÚHornr0   rh  r5   rÖ   rÍ   r?   ÚatSoundingPitchÚtoSoundingPitchÚchordify)r'   rf   rd   r_   ÚiStream1ri  ÚiStream2rj  ÚiStream3Úi3Ú	sSoundingÚsChordss               r)   ÚtestInstrumentTranspositionBz!Test.testInstrumentTranspositionB  s]  € Ø2Ð2Ð2Ð2Ð2Ð2Ø%Ð%Ð%Ð%Ð%Ð%à�OŠO˜MÔ7Ñ8Ô8ˆð ”7˜1”:�jÔ3Ô4×;Ò;Ñ=Ô=ˆà×Ò�˜X™œ¨Ñ*Ô*Ð*Ø�aŒ[ˆØ×Ò˜b¥*¤/Ñ2Ô2Ð2ð ”7˜1”:�jÔ3Ô4×;Ò;Ñ=Ô=ˆØ×Ò�˜X™œ¨Ñ*Ô*Ð*Ø�aŒ[ˆØ×Ò˜b¥*Ô"5Ñ6Ô6Ð6à”7˜1”:�jÔ3Ô4×;Ò;Ñ=Ô=ˆØ×Ò�˜X™œ¨Ñ*Ô*Ð*Ø�aŒ[ˆØ×Ò˜b¥*¤/Ñ2Ô2Ð2à×Ò�˜X aœ[Ô6Ñ7Ô7¸Ñ@Ô@Ð@Ø×Ò�˜X aœ[Ô6Ñ7Ô7Ð9ZÑ[Ô[Ð[Ø×Ò�˜X aœ[Ô6Ñ7Ô7Ð9YÑZÔZÐZà×Ò�˜X aœ[Ô6Ñ7Ô7Ð9ZÑ[Ô[Ð[Ø×Ò�˜X aœ[Ô6Ñ7Ô7Ð9YÑZÔZÐZà×Ò�˜RÔ-Ñ.Ô.Ð0QÑRÔRÐRà×Ò˜Ÿš q¤w¨q¤z×'9Ò'9Ñ';Ô';Ô'CÑDÔDð-ñ	.ô 	.ð 	.ð 	×Ò˜Ÿš q¤w¨q¤z×'9Ò'9Ñ';Ô';Ô'CÑDÔDðNñ	Oô 	Oð 	Oð 	×Ò˜Ÿš q¤w¨q¤z×'9Ò'9Ñ';Ô';Ô'CÑDÔDð=ñ	>ô 	>ð 	>ð 	×Ò˜œ œ×+Ò+Ñ-Ô-Ô=Ñ>Ô>Ð>à×%Ò%¨eÐ%Ñ4Ô4ˆ	ð 	×ÒÐYÐY°I´OÀAÔ4F×4NÒ4NÑ4PÔ4PÔ4XÐYÑYÔYØ˜ñ	!ô 	!ð 	!à×ÒÐYÐY°I´OÀAÔ4F×4NÒ4NÑ4PÔ4PÔ4XÐYÑYÔYØ˜ñ	!ô 	!ð 	!à×ÒÐYÐY°I´OÀAÔ4F×4NÒ4NÑ4PÔ4PÔ4XÐYÑYÔYØ˜ñ	!ô 	!ð 	!ð —*’*‘,”,ˆØ×ÒÐNÐN°G·O²OÑ4EÔ4EÔ4MÐNÑNÔNØ˜ñ	!ô 	!ð 	!ð 	!ð 	!r+   c                ó¼   — ddl m} ddlm} |                     |j        ¦  «        }|t          j                 }|                      t          |¦  «        d¦  «         d S )Nr   rc   re   é   )
r>   rd   r}   rf   rS   rt  r   rg  rD   r1   )r'   rd   rf   r_   Ú
instStreams        r)   ÚtestInstrumentTranspositionCz!Test.testInstrumentTranspositionCE  sk   € à%Ð%Ð%Ð%Ð%Ð%Ø2Ð2Ð2Ð2Ð2Ð2à�OŠO˜MÔ7Ñ8Ô8ˆØ•zÔ,Ô-ˆ
ð 	×Ò�˜Z™œ¨!Ñ,Ô,Ð,Ð,Ð,r+   c                óú  — ddl m} |                     d¦  «        }|                      t	          |t
          j                 ¦  «        d¦  «         d„ |t
          j                 D ¦   «         }|                      |g d¢¦  «         d„ |t
          j                 D ¦   «         }|                      |g d¢¦  «         d	„ |t
          j                 D ¦   «         }|                      |h d
£¦  «         |                     d¦  «        }|                      t	          |t
          j                 ¦  «        d¦  «         |                     d¦  «        }|                      t	          |t
          j                 ¦  «        d¦  «         d S )Nr   rZ   z%leadSheet/berlinAlexandersRagtime.xmlr™   c                ó   — g | ]	}|j         ‘Œ
S rh   )Ú	chordKind©rj   Úhs     r)   rl   z%Test.testHarmonyA.<locals>.<listcomp>W  s   € Ð=Ð=Ð= �”Ð=Ð=Ð=r+   )Úmajorúdominant-seventhr‹  r‹  r‹  r‹  rŒ  r‹  rŒ  r‹  rŒ  r‹  rŒ  r‹  rŒ  r‹  rŒ  r‹  r‹  c                óP   — g | ]#}t          |                     ¦   «         ¦  «        ‘Œ$S rh   )r0   Úrootr‰  s     r)   rl   z%Test.testHarmonyA.<locals>.<listcomp>^  s&   € Ð?Ð?Ð? 1•�Q—V’V‘X”X‘”Ð?Ð?Ð?r+   )ÚF3ÚC3r�  úB-2r�  r�  ÚG2r�  r�  r�  r�  r�  ÚF2r‘  r“  r�  r�  r�  r�  c                ó6   — h | ]}t          |j        ¦  «        ’ŒS rh   )r0   Úfigurer‰  s     r)   ro  z$Test.testHarmonyA.<locals>.<setcomp>c  s    € Ð?Ð?Ð? 1•�Q”X‘”Ð?Ð?Ð?r+   >   úB-ÚCÚFÚC7ÚF7ÚG7zmonteverdi/madrigal.3.12.xmlé
   zleadSheet/fosterBrownHair.xmlé(   )r>   r[   rS   rD   r1   r   ÚChordSymbol)r'   r[   r_   Úmatchs       r)   ÚtestHarmonyAzTest.testHarmonyAQ  sŽ  € Ø"Ð"Ð"Ð"Ð"Ð"à�LŠLÐ@ÑAÔAˆØ×Ò�˜Q�wÔ2Ô3Ñ4Ô4°bÑ9Ô9Ð9à=Ð= a­Ô(;Ô&<Ð=Ñ=Ô=ˆØ×Ò˜ð !3ð !3ð !3ñ 	4ô 	4ð 	4ð @Ð?¨­'Ô*=Ô(>Ð?Ñ?Ô?ˆà×Ò˜ð !^ð !^ð !^ñ 	_ô 	_ð 	_ð @Ð?¨­'Ô*=Ô(>Ð?Ñ?Ô?ˆà×Ò˜Ð BÐ BÐ BÑCÔCÐCà�LŠLÐ7Ñ8Ô8ˆØ×Ò�˜Q�wÔ2Ô3Ñ4Ô4°bÑ9Ô9Ð9à�LŠLÐ8Ñ9Ô9ˆØ×Ò�˜Q�wÔ2Ô3Ñ4Ô4°bÑ9Ô9Ð9Ð9Ð9r+   c                óÌ  — ddl m} t          j        ¦   «         dz   }|                     |d¬¦  «        }|j        d         }d}|                     ¦   «         j        D ]}|j        D ]}d|j	        v r|dz  }ŒŒ|  
                    |d¦  «         d}|j        d	                              ¦   «         j        D ]}|j        D ]}	d
|	j	        v r|dz  }ŒŒ|  
                    |d¦  «         d S )Nr   rc   z/beethoven/opus133.mxlÚmusicxml©ÚformatÚTrillr=   é6   r.   ÚTechnicalIndication)r>   rd   r   ÚgetCorpusFilePathrS   r]   rŠ   rî   r   ÚclassesrD   r   )
r'   rd   Ú	beethovenr_   rÙ   Ú
countTrillrø   rr   ÚcountTechnicalÚas
             r)   Úx_testOrnamentAndTechnicalzTest.x_testOrnamentAndTechnicalo  s#  € Ø%Ð%Ð%Ð%Ð%Ð%ÝÔ,Ñ.Ô.Ð1IÑIˆ	à�OŠO˜I¨jˆOÑ9Ô9ˆØŒW�QŒZˆØˆ
Ø—’‘”Ô#ð 	$ð 	$ˆAØ”]ð $ð $�Ø˜aœiÐ'Ð'Ø !‘O�Jøð$ð 	×Ò˜ RÑ(Ô(Ð(ð ˆØ”˜”×#Ò#Ñ%Ô%Ô+ð 	(ð 	(ˆAØ”_ð (ð (�Ø(¨A¬IÐ5Ð5Ø" aÑ'�Nøð(ð 	×Ò˜¨Ñ+Ô+Ð+Ð+Ð+r+   c                óŽ  — ddl m} ddlm} |                     |j        ¦  «        }t          |d         ¦  «        }|                      |d¦  «         d}|                     ¦   «         j	        D ]}|j
        D ]}d|j        v r|dz  }ŒŒ|                      |d¦  «         d}|                     ¦   «         j	        D ]}|j
        D ]}d|j        v r|dz  }ŒŒ|                      |d¦  «         d}|                     ¦   «         j	        D ]}|j
        D ]}d	|j        v r|dz  }ŒŒ|                      |d¦  «         d}d}	|                     ¦   «         j	        D ]-}|j
        D ]#}d|j        v r|j        �|dz  }|j        �|	dz  }	Œ$Œ.|                      |d
¦  «         |                      |	d¦  «         d}|                     ¦   «         j	        D ]}|j
        D ]}d|j        v r|dz  }ŒŒ|                      |d¦  «         d}|                     ¦   «         j	        D ]}|j
        D ]}d|j        v r|dz  }ŒŒ|                      |d¦  «         d S )Nr   rc   re   ÚTremoloSpannerÚTremolor=   ÚTurnr‡   ÚInvertedTurnr.   ÚShakeÚ	Schleifer)r>   rd   r}   rf   rS   Únotations32ar1   rD   rŠ   rî   r   r©  ÚupperAccidentalÚlowerAccidental)
r'   rd   rf   r_   Únum_tremolo_spannersÚcountrø   rr   Ú
upperCountÚ
lowerCounts
             r)   ÚtestOrnamentCzTest.testOrnamentC…  sý  € Ø%Ð%Ð%Ð%Ð%Ð%Ø2Ð2Ð2Ð2Ð2Ð2ð �OŠO˜MÔ6Ñ7Ô7ˆõ  # 1Ð%5Ô#6Ñ7Ô7ÐØ×ÒÐ-¨qÑ1Ô1Ð1àˆØ—’‘”Ô"ð 	ð 	ˆAØ”]ð ð �Ø ¤	Ð)Ð)Ø˜Q‘J�Eøðð 	×Ò˜ Ñ"Ô"Ð"àˆØ—’‘”Ô"ð 	ð 	ˆAØ”]ð ð �Ø˜QœYÐ&Ð&Ø˜Q‘J�Eøðð 	×Ò˜ Ñ"Ô"Ð"àˆØ—’‘”Ô"ð 	ð 	ˆAØ”]ð ð �Ø! Q¤YÐ.Ð.Ø˜Q‘J�Eøðð 	×Ò˜ Ñ"Ô"Ð"àˆ
Øˆ
Ø—’‘”Ô"ð 	(ð 	(ˆAØ”]ð (ð (�Ø˜QœYÐ&Ð&ØÔ(Ð4Ø" a™˜
ØÔ(Ð4Ø" a™˜
øð(ð 	×Ò˜ QÑ'Ô'Ð'Ø×Ò˜ QÑ'Ô'Ð'àˆØ—’‘”Ô"ð 	ð 	ˆAØ”]ð ð �Ø˜aœiÐ'Ð'Ø˜Q‘J�Eøðð 	×Ò˜ Ñ"Ô"Ð"àˆØ—’‘”Ô"ð 	ð 	ˆAØ”]ð ð �Ø !¤)Ð+Ð+Ø˜Q‘J�Eøðð 	×Ò˜ Ñ"Ô"Ð"Ð"Ð"r+   c                ó.  — ddl m} ddlm} |                     |j        ¦  «        }|t          j                 }|                      t          |¦  «        d¦  «         g }|D ]}| 
                    |j        ¦  «         Œ|                      |g d¢¦  «         d S )Nr   rc   re   r‡   )zThis is a text box!zpos 200/300 (lower left)zpos 1000/300 (lower right)zpos 200/1500 (upper left)zpos 1000/1500 (upper right))r>   rd   r}   rf   rS   ÚtextBoxes01r   ÚTextBoxrD   r1   r  Úcontent)r'   rd   rf   r_   ÚtbsrV   Útbs          r)   ÚtestTextBoxAzTest.testTextBoxA¿  s¿   € Ø%Ð%Ð%Ð%Ð%Ð%Ø2Ð2Ð2Ð2Ð2Ð2à�OŠO˜MÔ5Ñ6Ô6ˆØ•”ŒoˆØ×Ò�˜S™œ 1Ñ%Ô%Ð%àˆØð 	#ð 	#ˆBØ�JŠJ�r”zÑ"Ô"Ð"Ð"Ø×Ò˜ð >ð >ð >ñ 	?ô 	?ð 	?ð 	?ð 	?r+   c                ó”  — ddl m} |                     d¦  «        }|                     ¦   «         }|                     t
          j        ¦  «        }|                      t          |¦  «        d¦  «         |j	        d                              ¦   «         j
        d         |j	        d                              ¦   «         j
        d         }}|                      t          |¦  «        |d                              ¦   «         d         ¦  «         |                      t          |¦  «        |d                              ¦   «         d         ¦  «         d S )Nr   rZ   z mozart/k545/movement1_expositionr.   rÓ   r‡   r=   )r>   r[   rS   rÖ   r   r   ÚSlurrD   r1   r]   rî   ri   ÚgetSpannedElementIds)r'   r[   r_   ÚsfÚslursrL  rM  s          r)   ÚtestImportSlursAzTest.testImportSlursAÎ  s  € Ø"Ð"Ð"Ð"Ð"Ð"ð �LŠLÐ;Ñ<Ô<ˆØ�YŠY‰[Œ[ˆØ×%Ò%¥g¤lÑ3Ô3ˆØ×Ò�˜U™œ QÑ'Ô'Ð'à”˜”×#Ò#Ñ%Ô%Ô+¨AÔ.°´¸´
×0BÒ0BÑ0DÔ0DÔ0JÈ1Ô0MˆBˆð 	×Ò�˜B™œ  q¤×!>Ò!>Ñ!@Ô!@ÀÔ!CÑDÔDÐDØ×Ò�˜B™œ  q¤×!>Ò!>Ñ!@Ô!@ÀÔ!CÑDÔDÐDÐDÐDr+   c                ó  — ddl m} ddlm} |                     |j        ¦  «        }|                      t          |t          j	                 ¦  «        d¦  «         |                      t          |t          j
                 ¦  «        d¦  «         d S ©Nr   rc   re   r=   )r>   rd   r}   rf   rS   rÔ   rD   r1   r   Ú	CrescendoÚ
Diminuendor‹   s       r)   ÚtestImportWedgeAzTest.testImportWedgeAß  sŒ   € Ø%Ð%Ð%Ð%Ð%Ð%Ø2Ð2Ð2Ð2Ð2Ð2à�OŠO˜MÔ5Ñ6Ô6ˆØ×Ò�˜Q�xÔ1Ô2Ñ3Ô3°QÑ7Ô7Ð7Ø×Ò�˜Q�xÔ2Ô3Ñ4Ô4°aÑ8Ô8Ð8Ð8Ð8r+   c                ó¸   — ddl m} ddlm} |                     |j        ¦  «        }|                      t          |t          j	                 ¦  «        d¦  «         d S ©Nr   rc   re   r.   )
r>   rd   r}   rf   rS   Údirections31arD   r1   r   rÍ  r‹   s       r)   ÚtestImportWedgeBzTest.testImportWedgeBç  sh   € Ø%Ð%Ð%Ð%Ð%Ð%Ø2Ð2Ð2Ð2Ð2Ð2ð �OŠO˜MÔ7Ñ8Ô8ˆØ×Ò�˜Q�xÔ1Ô2Ñ3Ô3°QÑ7Ô7Ð7Ð7Ð7r+   c                ó¸   — ddl m} ddlm} |                     |j        ¦  «        }|                      t          |t          j	                 ¦  «        d¦  «         d S )Nr   rc   re   r\   ©
r>   rd   r}   rf   rS   rÔ   rD   r1   r   ÚLiner‹   s       r)   ÚtestBracketImportBzTest.testBracketImportBï  sd   € Ø%Ð%Ð%Ð%Ð%Ð%Ø2Ð2Ð2Ð2Ð2Ð2à�OŠO˜MÔ5Ñ6Ô6ˆà×Ò�˜Q�wœ|œ_Ñ-Ô-¨qÑ1Ô1Ð1Ð1Ð1r+   c                ó¸   — ddl m} ddlm} |                     |j        ¦  «        }|                      t          |t          j	                 ¦  «        d¦  «         d S rÑ  )
r>   rd   r}   rf   rS   r¶  rD   r1   r   ÚTrillExtensionr‹   s       r)   ÚtestTrillExtensionImportAzTest.testTrillExtensionImportA÷  sf   € Ø%Ð%Ð%Ð%Ð%Ð%Ø2Ð2Ð2Ð2Ð2Ð2Ø�OŠO˜MÔ6Ñ7Ô7ˆà×Ò�˜Q�{Ô9Ô:Ñ;Ô;¸QÑ?Ô?Ð?Ð?Ð?r+   c                óZ  — ddl m} ddlm} |                     |j        ¦  «        }t          |t          j                 ¦  «        }|  	                    t          |¦  «        d¦  «         |  	                    |d         j        d¦  «         |  	                    |d         j        d¦  «         d S )Nr   rc   re   r.   Ú	chromaticr=   Ú
continuous)r>   rd   r}   rf   rS   rÔ   Úlistr   Ú	GlissandorD   r1   Ú	slideType)r'   rd   rf   r_   Úglissess        r)   ÚtestGlissandoImportAzTest.testGlissandoImportAþ  s«   € Ø%Ð%Ð%Ð%Ð%Ð%Ø2Ð2Ð2Ð2Ð2Ð2Ø�OŠO˜MÔ5Ñ6Ô6ˆå�q�Ô*Ô+Ñ,Ô,ˆØ×Ò�˜W™œ qÑ)Ô)Ð)Ø×Ò˜ œÔ-¨{Ñ;Ô;Ð;Ø×Ò˜ œÔ-¨|Ñ<Ô<Ð<Ð<Ð<r+   c                ó¼   — ddl m} ddlm} |                     |j        d¬¦  «        }|                      t          |t          j	                 ¦  «        d¦  «         d S )Nr   rc   re   r¢  r£  r\   rÕ  r‹   s       r)   ÚtestImportDasheszTest.testImportDashes  sh   € à%Ð%Ð%Ð%Ð%Ð%Ø2Ð2Ð2Ð2Ð2Ð2à�OŠO˜MÔ5¸jˆOÑIÔIˆØ×Ò�˜Q�wœ|œ_Ñ-Ô-¨qÑ1Ô1Ð1Ð1Ð1r+   c                ó¤   — ddl m} ddlm} |                     |j        ¦  «        }d„ |j        D ¦   «         }|                      |g d¢¦  «         d S )Nr   rc   re   c                ó,   — g | ]}t          |¦  «        ‘ŒS rh   )r0   r³   s     r)   rl   z)Test.testImportGraceA.<locals>.<listcomp>  s   € Ð+Ð+Ð+˜A•�Q‘”Ð+Ð+Ð+r+   )r·   r¹   r½   r·   r¹   r·   r¹   r·   r¹   r·   r¹   r½   r·   r¹   r·   r¹   r·   r¹   r½   r½   rÇ   r¹   zD#5r¹   zD-5zA-4r¹   r¹   )r>   rd   r}   rf   rS   r=  rÍ   rD   )r'   rd   rf   r_   rŸ  s        r)   ÚtestImportGraceAzTest.testImportGraceA  s‚   € Ø%Ð%Ð%Ð%Ð%Ð%Ø2Ð2Ð2Ð2Ð2Ð2à�OŠO˜MÔ7Ñ8Ô8ˆà+Ð+ ¤Ð+Ñ+Ô+ˆà×Ò˜ð !;ð !;ð !;ñ 	<ô 	<ð 	<ð 	<ð 	<r+   c                ób  — t          ¦   «         }|                      d¦  «        }|                      t          j        |j        |¦  «         |                      d¦  «        }|                     |¦  «         |                      d¦  «        }|                      t          j        |j        |¦  «         d S )Nz5<barline><bar-style>light-heavy</bar-style></barline>zS<barline><bar-style>light-heavy</bar-style><repeat direction="backward"/></barline>z3<barline><bar-style>wunderbar</bar-style></barline>)r   r*   r8   r   ÚBarExceptionÚxmlToRepeat)r'   ÚMPÚ	mxBarlines      r)   ÚtestBarExceptionzTest.testBarException  s    € Ý‰_Œ_ˆØ—G’GÐSÑTÔTˆ	à×Ò�#Ô*¨B¬N¸IÑFÔFÐFà—G’Gð Iñ Jô Jˆ	ð 	�Š�yÑ!Ô!Ð!ð —G’GÐQÑRÔRˆ	Ø×Ò�#Ô*¨B¬N¸IÑFÔFÐFÐFÐFr+   c                óÞ   — t          ¦   «         }|                      d¦  «        }|                      t          d¦  «        5  |                     |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz„<harmony><root><root-step>A</root-step></root><degree><degree-value></degree-value><degree-type>add</degree-type></degree></harmony>zdegree-value missing)r   r*   ÚassertRaisesRegexr   ÚxmlToChordSymbol)r'   rë  Ú	mxHarmonys      r)   ÚtestChordSymbolExceptionzTest.testChordSymbolException-  s¶   € Ý‰_Œ_ˆØ—G’Gð añ bô bˆ	à×#Ò#Õ$;Ð=SÑTÔTð 	+ð 	+Ø×Ò 	Ñ*Ô*Ð*ð	+ð 	+ð 	+ñ 	+ô 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+øøøð 	+ð 	+ð 	+ð 	+ð 	+ð 	+s   ¿A"Á"A&Á)A&c                ó€  — ddl m} |                     d¦  «        }|                     ¦   «                              t
          j        ¦  «                             ¦   «         }|                     t
          j        ¦  «        }|  	                    t          |¦  «        d¦  «         |                     t
          j        ¦  «        }|  	                    t          |¦  «        d¦  «         |                     t
          j        ¦  «        }|  	                    t          |¦  «        d¦  «         |                     t
          j        ¦  «        }|  	                    t          |¦  «        d¦  «         |  	                    t          |¦  «        d¦  «         |d         }|  	                    |j        d ¦  «         |  	                    |j        d	¦  «         |  	                    |j        d
¦  «         |  	                    |j        d¦  «         g }	|D ]#}
|
j        �|	                     |
j        ¦  «         Œ$|  	                    |	g d¢¦  «         d S )Nr   rZ   zdemos/layoutTest.xmlé*   é   rœ  r=   éI   ç     `j@ç     €Q@rt   ©ç      T@g      ^@rú  )r>   r[   rS   rÖ   r   r   Ú
LayoutBaser   r  rD   r1   ÚStaffLayoutÚ
PageLayoutÚScoreLayoutÚdistanceÚtopDistanceÚ
leftMarginÚrightMarginÚ	staffSizer  )r'   r[   rN  ÚlayoutsÚsystemLayoutsÚstaffLayoutsÚpageLayoutsÚscoreLayoutsÚsl0Úsizesr_   s              r)   ÚtestStaffLayoutzTest.testStaffLayout4  sú  € Ø"Ð"Ð"Ð"Ð"Ð"Ø�LŠLÐ/Ñ0Ô0ˆØ—)’)‘+”+×0Ò0µÔ1BÑCÔC×JÒJÑLÔLˆØ×2Ò2µ6Ô3FÑGÔGˆØ×Ò�˜]Ñ+Ô+¨RÑ0Ô0Ð0Ø×1Ò1µ&Ô2DÑEÔEˆØ×Ò�˜\Ñ*Ô*¨BÑ/Ô/Ð/Ø×0Ò0µÔ1BÑCÔCˆØ×Ò�˜[Ñ)Ô)¨2Ñ.Ô.Ð.Ø×1Ò1µ&Ô2DÑEÔEˆØ×Ò�˜\Ñ*Ô*¨AÑ.Ô.Ð.à×Ò�˜W™œ rÑ*Ô*Ð*à˜AÔˆØ×Ò˜œ tÑ,Ô,Ð,Ø×Ò˜œ¨%Ñ0Ô0Ð0Ø×Ò˜œ¨Ñ.Ô.Ð.Ø×Ò˜œ¨#Ñ.Ô.Ð.àˆØð 	*ð 	*ˆAØŒ{Ð&Ø—’˜Qœ[Ñ)Ô)Ð)øØ×Ò˜Ð 3Ð 3Ð 3Ñ4Ô4Ð4Ð4Ð4r+   c                óì  — ddl m} |                     d¦  «        }|                     ¦   «                              t
          j        ¦  «                             ¦   «         }|                      t          |¦  «        d¦  «         |                     t
          j
        ¦  «        }|d         }|                      |j        d ¦  «         |                      |j        d¦  «         |                      |j        d¦  «         |                      |j        d¦  «         |                     t
          j        ¦  «        }g }|D ]#}|j        �|                     |j        ¦  «         Œ$|                      |g d¢¦  «         d S )	Nr   rZ   zdemos/layoutTestMore.xmléL   r÷  rø  rt   rù  )r>   r[   rS   rÖ   r   r   rû  r   rD   r1   r  rÿ  r   r  r  rü  r  r  )	r'   r[   rN  r  r  r	  r  r
  r_   s	            r)   ÚtestStaffLayoutMorezTest.testStaffLayoutMoreO  sV  € Ø"Ð"Ð"Ð"Ð"Ð"Ø�LŠLÐ3Ñ4Ô4ˆØ—)’)‘+”+×0Ò0µÔ1BÑCÔC×JÒJÑLÔLˆØ×Ò�˜W™œ rÑ*Ô*Ð*Ø×2Ò2µ6Ô3FÑGÔGˆØ˜AÔˆØ×Ò˜œ tÑ,Ô,Ð,Ø×Ò˜œ¨%Ñ0Ô0Ð0Ø×Ò˜œ¨Ñ.Ô.Ð.Ø×Ò˜œ¨#Ñ.Ô.Ð.à×1Ò1µ&Ô2DÑEÔEˆØˆØð 	*ð 	*ˆAØŒ{Ð&Ø—’˜Qœ[Ñ)Ô)Ð)øØ×Ò˜Ð 3Ð 3Ð 3Ñ4Ô4Ð4Ð4Ð4r+   c                óz  — ddl m} |                     d¦  «        }|                     ¦   «                              t
          j        ¦  «        }|                      t          |¦  «        d¦  «         t          j
        t          j        f}|                     ¦   «                              |¦  «        }|                      t          |¦  «        d¦  «         |t          j                 }|                      t          |¦  «        d¦  «         d}|D ]}|t          |j        ¦  «        z  }Œ|                      |d¦  «         dS )	z=
        good test of both dynamics and a PartStaff.
        r   rZ   zschoenberg/opus19/movement2.mxlr\   é2   é-   éa   N)r>   r[   rS   rÖ   r   r   ÚDynamicrD   r1   r   r�   r   rœ   rÍ   )	r'   r[   rN  ÚdynAllÚnotesOrChordsÚallNotesOrChordsÚ	allChordsÚpCountÚccs	            r)   ÚtestCountDynamicszTest.testCountDynamicsb  s  € ð 	#Ð"Ð"Ð"Ð"Ð"Ø�LŠLÐ:Ñ;Ô;ˆØ—’‘”×/Ò/µÔ0@ÑAÔAˆØ×Ò�˜V™œ aÑ(Ô(Ð(Ýœ¥E¤KÐ0ˆØŸ9š9™;œ;×9Ò9¸-ÑHÔHÐØ×Ò�Ð-Ñ.Ô.°Ñ3Ô3Ð3Ø•e”k”Nˆ	Ø×Ò�˜Y™œ¨Ñ,Ô,Ð,ØˆØð 	&ð 	&ˆBØ•c˜"œ*‘o”oÑ%ˆFˆFØ×Ò˜ Ñ$Ô$Ð$Ð$Ð$r+   c                óÎ  — ddl m} t          j        ¦   «         dz  }|dz  }|                     |¦  «        }|j        d                              t          j        ¦  «         	                    ¦   «         }| 
                    ¦   «         j        d         }|                      |j        d¦  «         |                      |d         |¦  «         |                      |d         |¦  «         d S )Nr   rc   r¢  ztestTrillOnOneNote.xmlzF#rû   )r>   rd   r   ÚgetSourceFilePathrS   r]   r   r   rÙ  r�   rŠ   rî   rD   rï   r`  )r'   rd   ÚthisDirÚtestFprN  ÚtrillExtensionÚfSharpTrills          r)   ÚtestTrillOnOneNotezTest.testTrillOnOneNotet  sÑ   € Ø%Ð%Ð%Ð%Ð%Ð%ÝÔ*Ñ,Ô,¨zÑ9ˆØÐ3Ñ3ˆØ�OŠO˜FÑ#Ô#ˆàœ œ×6Ò6µ{Ô7QÑRÔR×XÒXÑZÔZˆØ—i’i‘k”kÔ'¨Ô*ˆà×Ò˜Ô)¨4Ñ0Ô0Ð0Ø�Š�n QÔ'¨Ñ5Ô5Ð5Ø�Š�n RÔ(¨+Ñ6Ô6Ð6Ð6Ð6r+   c                óz  — ddl m} |                     d¦  «        }|j        d                              d¦  «                             t          j        ¦  «                             ¦   «         }| 	                    ¦   «         d         }|  
                    d|j        ¦  «         |                      |j        d¦  «         dS )	zÊ
        lots of lines, including overlapping here; testing that
        a line attached to a rest is still there.  Formerly was a problem.

        Many more tests could be done on this piece.
        r   rZ   zluca/gloriar=   éc   rÖ  rQ   N)r>   r[   rS   r]   r3  r   r   r  r�   ÚgetSpannerSitesrF   r©  rD   ÚidLocal)r'   r[   rN  ÚrÚbracketAttachedToRests        r)   ÚtestLucaGloriaSpannerszTest.testLucaGloriaSpanners�  s«   € ð 	#Ð"Ð"Ð"Ð"Ð"Ø�LŠL˜Ñ'Ô'ˆØŒG�AŒJ×Ò˜rÑ"Ô"×5Ò5µd´iÑ@Ô@×FÒFÑHÔHˆØ !× 1Ò 1Ñ 3Ô 3°AÔ 6ÐØ�Š�fÐ3Ô;Ñ<Ô<Ð<Ø×ÒÐ.Ô6¸Ñ<Ô<Ð<Ð<Ð<r+   c                óŠ  — ddl m} |                     d¦  «        }|j        d                              d¦  «        }|j                             d¦  «                             t          j	        ¦  «         
                    ¦   «         }|                      t          |¦  «        d¦  «         |                      |j        d¦  «         d S )Nr   rZ   zdemos/voices_with_chords.xmlr=   rm   z<music21.chord.Chord G4 B4>ru   )r>   r[   rS   r]   r3  rƒ   ÚgetElementByIdr   r   rœ   r�   rD   Úreprrp   )r'   r[   rN  r„   Ú
firstChords        r)   ÚtestTwoVoicesWithChordszTest.testTwoVoicesWithChords’  s®   € Ø"Ð"Ð"Ð"Ð"Ð"Ø�LŠLÐ7Ñ8Ô8ˆØŒW�QŒZ×Ò Ñ"Ô"ˆà”Y×-Ò-¨cÑ2Ô2×EÒEÅeÄkÑRÔR×XÒXÑZÔZˆ
Ø×Ò�˜jÑ)Ô)Ð+HÑIÔIÐIØ×Ò˜Ô*¨CÑ0Ô0Ð0Ð0Ð0r+   c                óþ  — dd„} |dd¦  «        } |¦   «         } |dd¦  «        }t          ¦   «         }d}t          |||g¦  «        D ]x\  }}t          j        |¦  «        }	|                     |	¦  «        }
|                      t          |
¦  «        d¦  «         |                      |
d         j        ||         ¦  «         Œy |d¦  «        } |¦   «         } |d¦  «        }t          ¦   «         }d}t          |||g¦  «        D ]x\  }}t          j        |¦  «        }	|                     |	¦  «        }
|                      t          |
¦  «        d¦  «         |                      |
d         j        ||         ¦  «         ŒydS )	z_
        test that three notes with tuplets start, none, stop
        have these types
        Nc                óL   — d}d}| €||z   S |€d| › d�}n	d|› d| › d�}||z   |z   S )Na„  
            <note>
            <pitch>
              <step>C</step>
              <octave>4</octave>
            </pitch>
            <duration>56</duration>
            <voice>1</voice>
            <type>quarter</type>
            <time-modification>
              <actual-notes>3</actual-notes>
              <normal-notes>2</normal-notes>
            </time-modification>
            z</note>z<notations><tuplet type="z" /></notations>z<notations><tuplet number="z" type="rh   )Ú
tupletTyperÿ   ÚmxNBaseÚmxNEndÚ	mxNMiddles        r)   ÚgetNoteByTupletTypeNumberz@Test.testParseTupletStartStop.<locals>.getNoteByTupletTypeNumber¡  sh   € ðˆGð ˆFØÐ!Ø Ñ'Ð'àˆ~ØT¸
ÐTÐTÐT�	�	ð _°&Ð^Ð^À*Ð^Ð^Ð^ð ð ˜YÑ&¨Ñ/Ð/r+   Ústartr=   Ústop)r5  Nr6  r   ©NN)r   Ú	enumerater%   r&   ÚxmlToTupletsrD   r1   r  )r'   r4  Ún0rL  rM  rë  ÚtupTypesr  rø   ÚmxNoteÚtupletss              r)   ÚtestParseTupletStartStopzTest.testParseTupletStartStop›  s¤  € ð	0ð 	0ð 	0ð 	0ð6 'Ð& w°Ñ2Ô2ˆØ&Ð&Ñ(Ô(ˆØ&Ð& v¨qÑ1Ô1ˆå‰_Œ_ˆØ*ˆÝ˜r 2 r˜lÑ+Ô+ð 	;ð 	;‰DˆAˆqÝ”] 1Ñ%Ô%ˆFð —o’o fÑ-Ô-ˆGØ×Ò�S ™\œ\¨1Ñ-Ô-Ð-Ø×Ò˜W QœZœ_¨h°q¬kÑ:Ô:Ð:Ð:ð 'Ð& wÑ/Ô/ˆØ&Ð&Ñ(Ô(ˆØ&Ð& vÑ.Ô.ˆå‰_Œ_ˆØ*ˆÝ˜r 2 r˜lÑ+Ô+ð 	;ð 	;‰DˆAˆqÝ”] 1Ñ%Ô%ˆFð —o’o fÑ-Ô-ˆGØ×Ò�S ™\œ\¨1Ñ-Ô-Ð-Ø×Ò˜W QœZœ_¨h°q¬kÑ:Ô:Ð:Ð:ð	;ð 	;r+   c                óB  — dt           j        dz  dz  dz  › d�}t          ¦   «         }t          j        |¦  «        }|                     |¦  «        }|                      t          |¦  «        d¦  «         |                     |¦  «         |j	        }|                      t          |j
        j        ¦  «        d¦  «         d}|                      t          |j
        j        ¦  «        |¦  «         |                      |j
        j        t          j        dd¦  «        ¦  «         dS )	zO
        test that a note with nested tuplets gets converted properly.
        z‰
        <note default-x="347">
        <pitch>
          <step>D</step>
          <octave>5</octave>
        </pitch>
        <duration>g      à?çUUUUUUå?ak  </duration>
        <voice>1</voice>
        <type>eighth</type>
        <time-modification>
          <actual-notes>9</actual-notes>
          <normal-notes>4</normal-notes>
        </time-modification>
        <stem default-y="-55">down</stem>
        <beam number="1">begin</beam>
        <notations>
          <tuplet bracket="yes" number="1" placement="below" type="start">
            <tuplet-actual>
              <tuplet-number>3</tuplet-number>
              <tuplet-type>eighth</tuplet-type>
            </tuplet-actual>
            <tuplet-normal>
              <tuplet-number>2</tuplet-number>
              <tuplet-type>eighth</tuplet-type>
            </tuplet-normal>
          </tuplet>
          <tuplet number="2" placement="below" type="start">
            <tuplet-actual>
              <tuplet-number>3</tuplet-number>
              <tuplet-type>eighth</tuplet-type>
            </tuplet-actual>
            <tuplet-normal>
              <tuplet-number>2</tuplet-number>
              <tuplet-type>eighth</tuplet-type>
            </tuplet-normal>
          </tuplet>
        </notations>
      </note>
        r.   zL(<music21.duration.Tuplet 3/2/eighth>, <music21.duration.Tuplet 3/2/eighth>)é	   N)r   ÚdivisionsPerQuarterr   r%   r&   r9  rD   r1   Ú	xmlToNoteÚnLastr
   r=  r+  rð   Ú	fractionsÚFraction)r'   ÚmxNrë  r<  r=  rø   Úexpected_tuplet_reprs          r)   ÚtestComplexTupletNotezTest.testComplexTupletNoteÙ  s  € ð&õ Ô/°#Ñ5¸Ñ?À5ÑIð&ð &ð &ˆõN ‰_Œ_ˆÝ”˜sÑ#Ô#ˆð —/’/ &Ñ)Ô)ˆØ×Ò�˜W™œ qÑ)Ô)Ð)Ø
�Š�VÑÔÐØŒHˆØ×Ò�˜QœZÔ/Ñ0Ô0°!Ñ4Ô4Ð4ð!JÐà×Ò�˜aœjÔ0Ñ1Ô1Ø-ñ	/ô 	/ð 	/à×Ò˜œÔ1µ9Ô3EÀaÈÑ3KÔ3KÑLÔLÐLÐLÐLr+   c                óª  — ddl m} |                     d¦  «        }t          |                     ¦   «         j        ¦  «        }|                      t          |d         j        j	        ¦  «        d¦  «         d}t          dd¦  «        D ]5}|                      t          ||         j        j	        ¦  «        |¦  «         Œ6|                      t          |d         j        j	        ¦  «        d¦  «         d	}t          d
d¦  «        D ]5}|                      t          ||         j        j	        ¦  «        |¦  «         Œ6|                      t          |d         j        j	        ¦  «        d¦  «         g }|dd…         D ]C}|                     |j        j	        d         j        |j        j	        d         j        f¦  «         ŒD|                      |g d¢¦  «         d S )Nr   rZ   z$demos/nested_tuplet_finale_test2.xmlz'(<music21.duration.Tuplet 3/2/eighth>,)zL(<music21.duration.Tuplet 3/2/eighth>, <music21.duration.Tuplet 5/2/eighth>)r=   r\   z()zJ(<music21.duration.Tuplet 5/4/16th>, <music21.duration.Tuplet 3/2/eighth>)rƒ  é   ))Nr5  r7  r7  r7  )r6  r6  )r>   r[   rS   rÞ  rŠ   rî   rD   r+  r
   r=  r
  r  r  )	r'   r[   rN  ÚnListÚexpected_tuplet_repr_1_to_6r  Úexpected_tuplet_repr_7_to_12Útuplet_pairs_per_noterø   s	            r)   ÚtestNestedTupletszTest.testNestedTuplets  sú  € Ø"Ð"Ð"Ð"Ð"Ð"Ø�LŠLÐ?Ñ@Ô@ˆÝ�Q—Y’Y‘[”[Ô&Ñ'Ô'ˆØ×Ò�˜e AœhÔ/Ô7Ñ8Ô8ØBñ	Dô 	Dð 	Dð(QÐ#å�q˜!‘”ð 	:ð 	:ˆAØ×Ò�T %¨¤(Ô"3Ô";Ñ<Ô<Ø8ñ:ô :ð :ð :à×Ò�˜e AœhÔ/Ô7Ñ8Ô8¸$Ñ?Ô?Ð?ð)RÐ$å�q˜"‘”ð 	;ð 	;ˆAØ×Ò�T %¨¤(Ô"3Ô";Ñ<Ô<Ø9ñ;ô ;ð ;ð ;à×Ò�˜e BœiÔ0Ô8Ñ9Ô9ØBñ	Dô 	Dð 	Dð !#ÐØ�q˜�s”ð 	cð 	cˆAØ!×(Ò(¨!¬*Ô*<¸QÔ*?Ô*DÀaÄjÔFXÐYZÔF[ÔF`Ð)aÑbÔbÐbÐbØ×Òð "ØYÐYÐYñ		
ô 	
ð 	
ð 	
ð 	
r+   c                óÜ   — ddl m} ddlm} |                     |j        ¦  «        }d„ |                     ¦   «         j        D ¦   «         }|                      d„ |D ¦   «         g d¢¦  «         d S )Nr   rc   re   c                ó2   — g | ]}|j         j        d          ‘ŒS )r   )r
   r=  ©rj   rø   s     r)   rl   z*Test.testImpliedTuplet.<locals>.<listcomp>8  s"   € ÐDÐDÐD¨Q�1”:Ô% aÔ(ÐDÐDÐDr+   c                ó   — g | ]	}|j         ‘Œ
S rh   )Úbracket)rj   Útups     r)   rl   z*Test.testImpliedTuplet.<locals>.<listcomp>9  s   € Ð9Ð9Ð9¨#˜#œ+Ð9Ð9Ð9r+   )TTTFFF)	r>   rd   r}   rf   rS   ÚtupletsImpliedrŠ   rî   rD   )r'   rd   rf   r_   r=  s        r)   ÚtestImpliedTupletzTest.testImpliedTuplet1  s�   € Ø%Ð%Ð%Ð%Ð%Ð%Ø2Ð2Ð2Ð2Ð2Ð2à�OŠO˜MÔ8Ñ9Ô9ˆð EÐD°!·)²)±+´+Ô2CÐDÑDÔDˆØ×ÒÐ9Ð9°Ð9Ñ9Ô9Ð;bÐ;bÐ;bÑcÔcÐcÐcÐcr+   c                ó>  — ddl m} d} ||¦  «        }t          ¦   «         }t          j        d¦  «        |_        |                     |¦  «        }|j        d         }|                      |j	        j
        d¦  «         |                      |j	        j        d¦  «         d S )Nr   ©r&   zA<measure><note><rest/><duration>40320</duration></note></measure>z3/4Úhalfrw   )Úxml.etree.ElementTreer&   r    r   ÚTimeSignatureÚlastTimeSignatureÚxmlMeasureToMeasureÚnotesAndRestsrD   r
   r  rð   )r'   r*   ÚscoreMeasureÚ	mxMeasurerU   r÷   ÚmeasureRests          r)   Útest34MeasureRestWithoutTagz Test.test34MeasureRestWithoutTag;  s¤   € Ø:Ð:Ð:Ð:Ð:Ð:ð [ˆØ�B�|Ñ$Ô$ˆ	Ý‰\Œ\ˆÝ$Ô2°5Ñ9Ô9ˆÔØ×"Ò" 9Ñ-Ô-ˆØ”o aÔ(ˆØ×Ò˜Ô-Ô2°FÑ;Ô;Ð;Ø×Ò˜Ô-Ô;¸SÑAÔAÐAÐAÐAr+   c                ó  — ddl m} |                     d¦  «        }|j        d                              d¦  «        j        d         }|                      |j        j        d¦  «         |                      |j	        d¦  «         dS )zÜ
        Staff 2 of piano part 0 of schoenberg opus19.6 has a quarter rest not
        marked as a full measure rest (GOOD) as the last beat of a pickup measure.

        It should NOT become a full measure rest
        r   rZ   zschoenberg/opus19/movement6r=   ÚquarterÚautoN)
r>   r[   rS   r]   r3  r`  rD   r
   r  ÚfullMeasure)r'   r[   Úschr&  s       r)   ÚtestPickupMeasureRestSchoenbergz$Test.testPickupMeasureRestSchoenbergH  s�   € ð 	#Ð"Ð"Ð"Ð"Ð"Ø�lŠlÐ8Ñ9Ô9ˆØŒI�aŒL× Ò  Ñ#Ô#Ô1°!Ô4ˆØ×Ò˜œœ¨)Ñ4Ô4Ð4Ø×Ò˜œ¨Ñ/Ô/Ð/Ð/Ð/r+   c                ó8  — ddl m} ddlm} |                     |j        ¦  «        }|t          j                 }|                      t          |¦  «        d¦  «         |                      |d         j
        d¦  «         |                      |d         j
        d¦  «         |                      |d         j        j        t          j        j        ¦  «         |                      |d         j
        d	¦  «         |                      |d         j        j        d
¦  «         d S )Nr   rc   re   r  ÚAr=   rè   r.   r"   Úsquare)r>   rd   r}   rf   rS   rÒ  r   ÚRehearsalMarkrD   r1   rÁ  r   rô   Ú	EnclosureÚNO_ENCLOSURE)r'   rd   rf   r_   Ú
rmIterators        r)   ÚtestRehearsalMarkszTest.testRehearsalMarksU  s  € Ø%Ð%Ð%Ð%Ð%Ð%Ø2Ð2Ð2Ð2Ð2Ð2à�OŠO˜MÔ7Ñ8Ô8ˆØ•{Ô0Ô1ˆ
Ø×Ò�˜Z™œ¨!Ñ,Ô,Ð,Ø×Ò˜ AœÔ.°Ñ4Ô4Ð4Ø×Ò˜ AœÔ.°Ñ4Ô4Ð4Ø×Ò˜ AœÔ,Ô6ÝœÔ5ñ	7ô 	7ð 	7à×Ò˜ AœÔ.°Ñ7Ô7Ð7Ø×Ò˜ AœÔ,Ô6¸ÑAÔAÐAÐAÐAr+   c                ó^  — ddl m} ddl m} ddlm} |                     |j        ¦  «        }t          |t          j	                 ¦  «        }|  
                    t          |¦  «        d¦  «         |d         }|                     |¦  «         |                      |j        ¦  «         |  
                    |j        t          j        j        ¦  «         |                     ¦   «         }|  
                    t          |¦  «        d¦  «         g d¢}t'          t)          ||¦  «        ¦  «        D ]…\  }	\  }
}|	dk    r!|                      |
t          j        ¦  «         n;|                      |
t.          j        ¦  «         |  
                    |
j        d¦  «         |  
                    |
j        |¦  «         Œ†|                     |j        ¦  «        }t          |t          j	                 ¦  «        }|  
                    t          |¦  «        d¦  «         |d         }|                     |¦  «         |                      |j        ¦  «         |  
                    |j        t          j        j        ¦  «         |                     ¦   «         }|  
                    t          |¦  «        d	¦  «         g d
¢}t'          t)          ||¦  «        ¦  «        D ]…\  }	\  }
}|	dk    r!|                      |
t          j        ¦  «         n;|                      |
t.          j        ¦  «         |  
                    |
j        d¦  «         |  
                    |
j        |¦  «         Œ†|                     d¦  «        }t          |t          j	                 ¦  «        }|  
                    t          |¦  «        d¦  «         |d         }|                     |j        d         ¦  «         |  
                    |j        t          j        j        ¦  «         |  
                    |j        t          j        j        ¦  «         |                     ¦   «         }|  
                    t          |¦  «        d¦  «         |                      |d         t>          j         ¦  «         |  
                    |d         j        d¦  «         |  
                    |d         j        d¦  «         |                      |d         t.          j        ¦  «         |  
                    |d         j        d¦  «         |  
                    |d         j        d¦  «         |                     d¦  «        }t          |t          j	                 ¦  «        }|  
                    t          |¦  «        d¦  «         |d         }|                     |j        d         ¦  «         |  
                    |j        t          j        j        ¦  «         |  
                    |j        t          j        j        ¦  «         |                     ¦   «         }|  
                    t          |¦  «        d¦  «         g d¢}t'          t)          ||¦  «        ¦  «        D ]^\  }	\  }
}|                      |
t.          j        ¦  «         |  
                    |
j!        d¦  «         |  
                    |
j        |¦  «         Œ_d S )Nr   rc   rZ   re   r=   r  )rt   ru   ru   rv   zC in octave 4 Quarter NoterÓ   )rt   ru   ru   zB in octave 4 Quarter NoteÚbeachr‡   r.   z5Chord {E-flat in octave 2 | B-flat in octave 2} Wholert   zE-flat in octave 1 Whole NoteÚdichterliebe_no2)rÞ   g      ü?rt   g      è?ru   ÚA3)"r>   rd   r[   r}   rf   rS   rÒ  rÞ  r   Ú	PedalMarkrD   r1   Úfillr4  Ú	pedalFormÚ	pedalTypeÚ	PedalTypeÚSustainÚgetSpannedElementsr8  Úzipr�   ÚPedalBouncer   r�   ÚfullNamerp   rÔ   r]   Ú	PedalFormÚSymbolr   rœ   r²   )r'   rd   r[   rf   r_   ÚpedalsÚpmÚ
spElementsÚexpectedOffsetsr  r¢   ÚexpectedOffsets               r)   ÚtestPedalMarkszTest.testPedalMarksc  sÜ  € Ø%Ð%Ð%Ð%Ð%Ð%Ø"Ð"Ð"Ð"Ð"Ð"Ø2Ð2Ð2Ð2Ð2Ð2à�OŠO˜MÔ7Ñ8Ô8ˆÝ�a�Ô-Ô.Ñ/Ô/ˆØ×Ò�˜V™œ aÑ(Ô(Ð(Ø�AŒYˆØ
�Š�‰
Œ
ˆ
Ø×Ò˜"œ,Ñ'Ô'Ð'Ø×Ò˜œ¥{Ô'<Ô'DÑEÔEÐEØ×*Ò*Ñ,Ô,ˆ
Ø×Ò�˜Z™œ¨!Ñ,Ô,Ð,Ø.Ð.Ð.ˆÝ'0µ°ZÀÑ1QÔ1QÑ'RÔ'Rð 	8ð 	8Ñ#ˆAÑ#��NØ�AŠvˆvØ×%Ò% b­+Ô*AÑBÔBÐBÐBà×%Ò% b­$¬)Ñ4Ô4Ð4Ø× Ò  ¤Ð.JÑKÔKÐKØ×Ò˜RœY¨Ñ7Ô7Ð7Ð7à�OŠO˜MÔ5Ñ6Ô6ˆÝ�a�Ô-Ô.Ñ/Ô/ˆØ×Ò�˜V™œ aÑ(Ô(Ð(Ø�AŒYˆØ
�Š�‰
Œ
ˆ
Ø×Ò˜"œ,Ñ'Ô'Ð'Ø×Ò˜œ¥{Ô'<Ô'DÑEÔEÐEØ×*Ò*Ñ,Ô,ˆ
Ø×Ò�˜Z™œ¨!Ñ,Ô,Ð,Ø)˜/˜/ˆÝ'0µ°ZÀÑ1QÔ1QÑ'RÔ'Rð 	8ð 	8Ñ#ˆAÑ#��NØ�AŠvˆvØ×%Ò% b­+Ô*AÑBÔBÐBÐBà×%Ò% b­$¬)Ñ4Ô4Ð4Ø× Ò  ¤Ð.JÑKÔKÐKØ×Ò˜RœY¨Ñ7Ô7Ð7Ð7à�LŠL˜Ñ!Ô!ˆÝ�a�Ô-Ô.Ñ/Ô/ˆØ×Ò�˜V™œ aÑ(Ô(Ð(Ø�AŒYˆØ
�Š�”˜”
ÑÔÐØ×Ò˜œ¥{Ô'<Ô'CÑDÔDÐDØ×Ò˜œ¥{Ô'<Ô'DÑEÔEÐEØ×*Ò*Ñ,Ô,ˆ
Ø×Ò�˜Z™œ¨!Ñ,Ô,Ð,Ø×Ò˜j¨œm­U¬[Ñ9Ô9Ð9Ø×ÒØ�qŒMÔ"ØCñ	
ô 	
ð 	
ð 	×Ò˜ AœÔ-¨rÑ2Ô2Ð2Ø×Ò˜j¨œm­T¬YÑ7Ô7Ð7Ø×Ò˜ AœÔ/Ð1PÑQÔQÐQØ×Ò˜ AœÔ-¨rÑ2Ô2Ð2à�LŠLÐ+Ñ,Ô,ˆÝ�a�Ô-Ô.Ñ/Ô/ˆØ×Ò�˜V™œ aÑ(Ô(Ð(Ø�AŒYˆØ
�Š�”˜”
ÑÔÐØ×Ò˜œ¥{Ô'<Ô'CÑDÔDÐDØ×Ò˜œ¥{Ô'<Ô'DÑEÔEÐEØ×*Ò*Ñ,Ô,ˆ
Ø×Ò�˜Z™œ¨!Ñ,Ô,Ð,Ø5Ð5Ð5ˆÝ'0µ°ZÀÑ1QÔ1QÑ'RÔ'Rð 	8ð 	8Ñ#ˆAÑ#��NØ×!Ò! "¥d¤iÑ0Ô0Ð0Ø×Ò˜RÔ.°Ñ5Ô5Ð5Ø×Ò˜RœY¨Ñ7Ô7Ð7Ð7ð	8ð 	8r+   c                óú  — ddl m} t          j        ¦   «         dz  }|dz  }|                     |¦  «        }|                      dt          |t          j                 ¦  «        ¦  «         |                      dt          |t          j	                 ¦  «        ¦  «         |                      d|t          j                 d         j
        ¦  «         |                      d|t          j                 d	         j
        ¦  «         |                      d
t          |t          j	                 d         j        ¦  «        ¦  «         |                      dt          |t          j	                 d	         j        ¦  «        ¦  «         d S )Nr   rc   r¢  z
testNC.xmlr‡   r.   zaugmented-seventhÚnoner=   r  zN.C.)r>   rd   r   r  rS   rD   r1   r   rž  ÚNoChordrˆ  r0   ÚchordKindStr)r'   rd   r  r  r_   s        r)   ÚtestNoChordImportzTest.testNoChordImport®  sh  € Ø%Ð%Ð%Ð%Ð%Ð%åÔ*Ñ,Ô,¨zÑ9ˆØ˜<Ñ'ˆØ�OŠO˜FÑ#Ô#ˆà×Ò˜�C ¥'Ô"5Ô 6Ñ7Ô7Ñ8Ô8Ð8Ø×Ò˜�C ¥'¤/Ô 2Ñ3Ô3Ñ4Ô4Ð4à×ÒÐ,Ø�7Ô.Ô/°Ô2Ô<ñ	>ô 	>ð 	>à×Ò˜Ø�7Ô.Ô/°Ô2Ô<ñ	>ô 	>ð 	>ð 	×Ò˜¥3 q­¬Ô'9Ø'(ô(*Ü*6ñ$8ô $8ñ 	9ô 	9ð 	9à×Ò˜¥ Q¥w¤Ô%7Ø%&ô&(Ü(4ñ"6ô "6ñ 	7ô 	7ð 	7ð 	7ð 	7r+   c                ó²   — ddl m} t          ¦   «         }d}|dz  } ||¦  «        }|                     |¦  «        }|                      |j        d¦  «         dS )zw
        m21 name ('dominant-seventh') should be looked up from musicXML aliases
        (such as 'dominant').
        r   rZ  zB<harmony><root><root-step>D</root-step><root-alter>-1</root-alter>z)</root><kind>major-minor</kind></harmony>zminor-major-seventhN)r\  r&   r   rð  rD   rˆ  )r'   r*   ÚmpÚelStrrñ  Úcss         r)   ÚtestChordAliaszTest.testChordAliasÂ  sn   € ð
 	;Ð:Ð:Ð:Ð:Ð:Ý‰_Œ_ˆàTˆØÐ<Ñ<ˆØ�B�u‘I”Iˆ	Ø× Ò  Ñ+Ô+ˆØ×Ò˜œÐ'<Ñ=Ô=Ð=Ð=Ð=r+   c                óü   — ddl m} t          j        ¦   «         dz  }|dz  }|                     |¦  «        }g d¢}t          |t          j                 |¦  «        D ] \  }}|                      |j	        |¦  «         Œ!d S )Nr   rc   r¢  ztestChordOffset.xml)rt   rv   rt   rv   rt   rv   )
r>   rd   r   r  rS   r~  r   rž  rD   rp   )r'   rd   r  r  r_   r  Úchrp   s           r)   ÚtestChordOffsetzTest.testChordOffsetÐ  s�   € Ø%Ð%Ð%Ð%Ð%Ð%åÔ*Ñ,Ô,¨zÑ9ˆØÐ0Ñ0ˆØ�OŠO˜FÑ#Ô#ˆà0Ð0Ð0ˆÝ˜a¥Ô 3Ô4Ø%ñ'ô 'ð 	0ð 	0‰JˆB�à×Ò˜RœY¨Ñ/Ô/Ð/Ð/ð	0ð 	0r+   c                óŽ  — ddl m} t          ¦   «         } |d¦  «        }|                     |¦  «        }|                      |j        d¦  «          |d¦  «        }|                     |¦  «        }|                      |j        d¦  «          |d¦  «        }|                     |¦  «        }|                      |j        ¦  «         d S )Nr   rZ  z\<harmony placement="below"><root><root-step>C</root-step></root><kind>major</kind></harmony>Úbelowz\<harmony placement="above"><root><root-step>G</root-step></root><kind>major</kind></harmony>ÚabovezJ<harmony><root><root-step>F</root-step></root><kind>major</kind></harmony>)r\  r&   r   rð  rD   Ú	placementr4  )	r'   r*   r�  Úh_belowr‘  Úh_aboveÚcs2Úh_noneÚcs3s	            r)   ÚtestChordSymbolPlacementzTest.testChordSymbolPlacementÜ  sê   € Ø:Ð:Ð:Ð:Ð:Ð:Ý‰_Œ_ˆà�"ð 4ñ 5ô 5ˆð × Ò  Ñ)Ô)ˆØ×Ò˜œ wÑ/Ô/Ð/à�"ð 4ñ 5ô 5ˆð ×!Ò! 'Ñ*Ô*ˆØ×Ò˜œ¨Ñ0Ô0Ð0à�ð 3ñ 4ô 4ˆð ×!Ò! &Ñ)Ô)ˆØ×Ò˜#œ-Ñ(Ô(Ð(Ð(Ð(r+   c                ó¾   — ddl m}  |d¦  «        }t          ¦   «         }|                     |¦  «        }|                      |                     ¦   «         d¦  «         d S )Nr   rZ  zt
        <harmony><root><root-step>C</root-step></root>
        <kind>major</kind><inversion>1</inversion></harmony>r=   )r\  r&   r   rð  rD   Ú	inversion)r'   r*   rŠ  r�  r‘  s        r)   ÚtestChordInversionzTest.testChordInversionò  so   € Ø:Ð:Ð:Ð:Ð:Ð:ØˆBð @ñ Aô Aˆõ ‰_Œ_ˆØ× Ò  Ñ#Ô#ˆØ×Ò˜Ÿš™œ¨Ñ+Ô+Ð+Ð+Ð+r+   c                ó&  — ddl m}  |d¦  «        } |d¦  «        }t          ¦   «         }|                     |¦  «        d         }|                     |¦  «         |                      |j        d¦  «         |                      |j        d¦  «         d S )Nr   rZ  zM<bracket type="start" line-end="down" end-length="12.5" number="1"></bracket>zL<bracket type="stop" line-end="down" end-length="12.5" number="1"></bracket>g      )@)r\  r&   r   ÚxmlDirectionTypeToSpannersrD   ÚstartHeightÚ	endHeight)r'   r*   Úel1Úel2r�  rU  s         r)   ÚtestLineHeightzTest.testLineHeightû  s    € Ø:Ð:Ð:Ð:Ð:Ð:ØˆbÐ`ÑaÔaˆØˆbÐ_Ñ`Ô`ˆå‰_Œ_ˆØ×,Ò,¨SÑ1Ô1°!Ô4ˆØ
×%Ò% cÑ*Ô*Ð*Ø×Ò˜Ô)¨4Ñ0Ô0Ð0Ø×Ò˜œ¨Ñ.Ô.Ð.Ð.Ð.r+   c                óÀ  — ddl m} t          j        ¦   «         dz  }|dz  }|                     |¦  «        }|j        d         }t          |                     ¦   «         j        ¦  «        }|  	                    |d         j
        d         t          j        ¦  «         |                      |d         j
        d         j        d¦  «         |  	                    |d         j
        d         t          j        ¦  «         |                      |d         j
        d         j        d¦  «         |  	                    |d         j
        d         t          j        ¦  «         |                      |d         j
        d         j        d¦  «         |  	                    |d         j
        d         t          j        ¦  «         |                      |d         j
        d         j        d¦  «         d S )	Nr   rc   r¢  útestTab.xmlr  r=   r.   rÓ   )r>   rd   r   r  rS   r]   rÞ  rŠ   rî   r�   r   ÚStringIndicationrD   rÿ   ©r'   rd   r  r  ÚscoreÚguitar_partrî   s          r)   ÚtestStringIndicationzTest.testStringIndication  s—  € Ø%Ð%Ð%Ð%Ð%Ð%åÔ*Ñ,Ô,¨zÑ9ˆØ˜=Ñ(ˆØ—’ Ñ'Ô'ˆØ”k !”nˆÝ�[×(Ò(Ñ*Ô*Ô0Ñ1Ô1ˆà×Ò˜e AœhÔ4°QÔ7½Ô9WÑXÔXÐXØ×Ò˜˜qœÔ/°Ô2Ô9¸1Ñ=Ô=Ð=à×Ò˜e AœhÔ4°QÔ7½Ô9WÑXÔXÐXØ×Ò˜˜qœÔ/°Ô2Ô9¸1Ñ=Ô=Ð=à×Ò˜e AœhÔ4°QÔ7½Ô9WÑXÔXÐXØ×Ò˜˜qœÔ/°Ô2Ô9¸1Ñ=Ô=Ð=à×Ò˜e AœhÔ4°QÔ7½Ô9WÑXÔXÐXØ×Ò˜˜qœÔ/°Ô2Ô9¸1Ñ=Ô=Ð=Ð=Ð=r+   c                óê   — ddl m} ddlm} |                     |j        ¦  «        }|t          j                                      ¦   «         }|  	                    t          |j        ¦  «        d¦  «         d S )Nr   rc   re   rÓ   )r>   rd   r}   rf   rS   ÚmultipleFingeringsOnChordr   rœ   r�   rD   r1   r   )r'   rd   rf   r_   rN  s        r)   ÚtestArticulationsOnChordzTest.testArticulationsOnChord  sw   € Ø%Ð%Ð%Ð%Ð%Ð%Ø2Ð2Ð2Ð2Ð2Ð2à�OŠO˜MÔCÑDÔDˆØ�eŒkŒN× Ò Ñ"Ô"ˆØ×Ò�˜Qœ_Ñ-Ô-¨qÑ1Ô1Ð1Ð1Ð1r+   c                óÀ  — ddl m} t          j        ¦   «         dz  }|dz  }|                     |¦  «        }|j        d         }t          |                     ¦   «         j        ¦  «        }|  	                    |d         j
        d         t          j        ¦  «         |                      |d         j
        d         j        d¦  «         |  	                    |d         j
        d         t          j        ¦  «         |                      |d         j
        d         j        d¦  «         |  	                    |d         j
        d         t          j        ¦  «         |                      |d         j
        d         j        d¦  «         |  	                    |d	         j
        d         t          j        ¦  «         |                      |d	         j
        d         j        d	¦  «         d S )
Nr   rc   r¢  r«  r=   rƒ  r  r.   rÓ   )r>   rd   r   r  rS   r]   rÞ  rŠ   rî   r�   r   ÚFretIndicationrD   rÿ   r­  s          r)   ÚtestFretIndicationzTest.testFretIndication#  s—  € Ø%Ð%Ð%Ð%Ð%Ð%åÔ*Ñ,Ô,¨zÑ9ˆØ˜=Ñ(ˆØ—’ Ñ'Ô'ˆØ”k !”nˆÝ�[×(Ò(Ñ*Ô*Ô0Ñ1Ô1ˆà×Ò˜e AœhÔ4°QÔ7½Ô9UÑVÔVÐVØ×Ò˜˜qœÔ/°Ô2Ô9¸1Ñ=Ô=Ð=à×Ò˜e AœhÔ4°QÔ7½Ô9UÑVÔVÐVØ×Ò˜˜qœÔ/°Ô2Ô9¸1Ñ=Ô=Ð=à×Ò˜e AœhÔ4°QÔ7½Ô9UÑVÔVÐVØ×Ò˜˜qœÔ/°Ô2Ô9¸1Ñ=Ô=Ð=à×Ò˜e AœhÔ4°QÔ7½Ô9UÑVÔVÐVØ×Ò˜˜qœÔ/°Ô2Ô9¸1Ñ=Ô=Ð=Ð=Ð=r+   c                óê  — ddl m} ddlm} |                     |j        ¦  «        }|j        d         }|                     d¦  «        }d}|D �]$}t          |t          j
        ¦  «        �r|                      |¬¦  «        5  |                      |t          j        ¦  «         |                      |j        d         t          j        ¦  «         |dk    r(|                      |j        d         j        d¦  «         �n|dk    r'|                      |j        d         j        d¦  «         nà|dk    r'|                      |j        d         j        d¦  «         n³|d	k    r'|                      |j        d         j        d
¦  «         n†|dk    r'|                      |j        d         j        d¦  «         nY|dk    r'|                      |j        d         j        d¦  «         n,|dk    r&|                      |j        d         j        d¦  «         |                      |dk    ¦  «         |j        D ],}|j        D ]"}	|                      |	t          j        ¦  «         Œ#Œ-|dz  }d d d ¦  «         n# 1 swxY w Y   �Œ&d S )Nr   rc   re   r=   )Úgnote_indexÚnormalÚupr.   rÓ   rD  r  r‡   znon-arpeggior\   )r>   rd   r}   rf   rS   Úarpeggio32dr]   r3  Ú
isinstancer   ÚGeneralNoteÚsubTestr�   r   rœ   r   ÚArpeggioMarkrD   r  r?   rî   ÚassertNotIsInstance)
r'   rd   rf   r_   r4   r÷   r¸  r¢   rø   Úexps
             r)   ÚtestArpeggioMarkszTest.testArpeggioMarks8  sÖ  € Ø%Ð%Ð%Ð%Ð%Ð%Ø2Ð2Ð2Ð2Ð2Ð2à�OŠO˜MÔ5Ñ6Ô6ˆØŒG�AŒJˆØ�IŠI�a‰LŒLˆØˆØð 	%ñ 	%ˆBÝ˜"�dÔ.Ñ/Ô/ñ %ð —\’\¨k�\Ñ:Ô:ð %ð %Ø×)Ò)¨"­e¬kÑ:Ô:Ð:Ø×)Ò)¨"¬.¸Ô*;½[Ô=UÑVÔVÐVà" aÒ'Ð'Ø×(Ò(¨¬¸Ô):Ô)?ÀÑJÔJÐJÑJØ$¨Ò)Ð)Ø×(Ò(¨¬¸Ô):Ô)?ÀÑFÔFÐFÐFØ$¨Ò)Ð)Ø×(Ò(¨¬¸Ô):Ô)?ÀÑJÔJÐJÐJØ$¨Ò)Ð)Ø×(Ò(¨¬¸Ô):Ô)?ÀÑHÔHÐHÐHØ$¨Ò)Ð)Ø×(Ò(¨¬¸Ô):Ô)?ÀÑJÔJÐJÐJØ$¨Ò)Ð)Ø×(Ò(¨¬¸Ô):Ô)?ÀÑPÔPÐPÐPØ$¨Ò)Ð)Ø×(Ò(¨¬¸Ô):Ô)?ÀÑJÔJÐJØ×$Ò$ [°1¢_Ñ5Ô5Ð5àœXð Tð T˜Ø#$¤=ð Tð T˜CØ ×4Ò4°S½+Ô:RÑSÔSÐSÐSðTð   1Ñ$�Kð1%ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %ùð	%ð 	%s   ÂGI&É&I*	É-I*	Úreturnrm  c                óô  — ddl m} ddlm} t	          j        t          j        |                     |j	        ¦  «        ¦  «        }|j
                             t          j        ¦  «        }|                      |¦  «         |d         }g }t          |j        ¦  «        D ]0\  }}|                     |t$          j                 d         ¦  «         Œ1t)          ||¦  «        D ]\  }	}
|                      |	|
¦  «         Œd S rÌ  )r>   rd   r}   rf   ÚtÚcastr   ÚScorerS   ÚmultiStaffArpeggiosÚspannerBundleÚ
getByClassr   ÚArpeggioMarkSpannerÚassertIsNotNoner8  r]   r  r   rœ   r~  r`  )r'   rd   rf   r_   ÚsbÚspÚchordsr  r4   Úspannedr”  s              r)   ÚtestArpeggioMarkSpannerszTest.testArpeggioMarkSpannersa  sû   € Ø%Ð%Ð%Ð%Ð%Ð%Ø2Ð2Ð2Ð2Ð2Ð2åŒF•6”< §¢°Ô1RÑ!SÔ!SÑTÔTˆØŒ_×'Ò'­Ô(GÑHÔHˆØ×Ò˜RÑ Ô Ð Ø�ŒUˆà$&ˆÝ˜aœgÑ&Ô&ð 	-ð 	-‰DˆAˆqà�MŠM˜!�EœKœ.¨Ô+Ñ,Ô,Ð,Ð,å˜r 6™?œ?ð 	'ð 	'‰KˆG�RØ�MŠM˜' 2Ñ&Ô&Ð&Ð&ð	'ð 	'r+   c                óÔ  — ddl m} ddl m} ddlm} |                     |j        ¦  «        }|                     ¦   «         j        \  }}|  	                    | 
                    t          j        ¦  «        ¦  «         |  	                    | 
                    t          j        ¦  «        ¦  «         |                     |j        ¦  «        }|                     ¦   «         j        \  }}|                      |j        j        |j        j        ¦  «         | 
                    t          j        ¦  «        d         }|                      |j        j        ¦  «         | 
                    t          j        ¦  «        }|                      d„ |D ¦   «         ddg¦  «         |                     dd¦  «        }	|	j        d         t*          j                                      ¦   «         }
|	j        d	         t*          j                                      ¦   «         }|
j                             ¦   «                              ¦   «         }|                      |t          j        ¦  «         |                      |j        j        d¦  «         |                      |j        d
¦  «         |                      t5          |j        ¦  «        d¦  «         |                      d„ |t          j                 D ¦   «         dgdz  ¦  «         d S )Nr   rc   rZ   re   c                ó&   — g | ]}|j         j        ‘ŒS rh   ©r   ra  ©rj   r&  s     r)   rl   z(Test.testHiddenRests.<locals>.<listcomp>Š  s   € ÐEÐEÐE¸˜!œ'Ô3ÐEÐEÐEr+   Tzschoenberg/opus19r.   r=   rv   c                ó&   — g | ]}|j         j        ‘ŒS rh   rÔ  rÕ  s     r)   rl   z(Test.testHiddenRests.<locals>.<listcomp>š  s   € ÐPÐPÐP¸˜!œ'Ô3ÐPÐPÐPr+   FrÓ   )r>   rd   r[   r}   rf   rS   ÚhiddenRestsNoFinalerŠ   rƒ   r?   r   r   r  ÚhiddenRestsFinalerD   r
   rð   rH   r   ra  r]   r   r€   r©   r�   r�   r1   )r'   rd   r[   rf   r_   Úv1Úv2ÚrestV1ÚrestsV2ri  Úrh_lastÚlh_lastÚ
hiddenRests                r)   ÚtestHiddenRestszTest.testHiddenRestsr  s}  € Ø%Ð%Ð%Ð%Ð%Ð%Ø"Ð"Ð"Ð"Ð"Ð"Ø2Ð2Ð2Ð2Ð2Ð2ð �OŠO˜MÔ=Ñ>Ô>ˆØ—’‘”Ô#‰ˆˆBà×Ò˜×.Ò.­t¬yÑ9Ô9Ñ:Ô:Ð:Ø×Ò˜×.Ò.­t¬yÑ9Ô9Ñ:Ô:Ð:ð �OŠO˜MÔ;Ñ<Ô<ˆØ—’‘”Ô#‰ˆˆBØ×Ò˜œÔ2°B´KÔ4MÑNÔNÐNà×&Ò&¥t¤yÑ1Ô1°!Ô4ˆØ�Š˜œÔ6Ñ7Ô7Ð7Ø×'Ò'­¬	Ñ2Ô2ˆØ×ÒÐEÐE¸WÐEÑEÔEÈÈdÀ|ÑTÔTÐTð �lŠlÐ.°Ñ2Ô2ˆØ”)˜A”,�vœ~Ô.×3Ò3Ñ5Ô5ˆØ”)˜A”,�vœ~Ô.×3Ò3Ñ5Ô5ˆà”^×(Ò(Ñ*Ô*×0Ò0Ñ2Ô2ˆ
Ø×Ò˜j­$¬)Ñ4Ô4Ð4Ø×Ò˜Ô)Ô;¸TÑBÔBÐBØ×Ò˜Ô1°3Ñ7Ô7Ð7à×Ò�˜Wœ^Ñ,Ô,¨aÑ0Ô0Ð0Ø×ÒÐPÐP¸WÅTÄYÔ=OÐPÑPÔPÐSXÐRYÐ\]ÑR]Ñ^Ô^Ð^Ð^Ð^r+   c                ó"  — ddl m} d}|dz  }|dz  }|dz  } ||¦  «        }t          |¬¦  «        }|                     ¦   «          |                      t          |j        j        ¦  «        d¦  «         |                      t          |j        j        d         j        ¦  «        d	¦  «         |                      t          |j        j        d	         j        ¦  «        d	¦  «         |                      |j        j        d	         j	        d
¦  «         dS )zk
        MuseScore expects readers to infer the voice context surrounding
        a <forward> tag.
        r   rZ  zG<measure><note><rest/><duration>20160</duration><voice>1</voice></note>z+<backup><duration>20160</duration></backup>zN<note><rest/><duration>10080</duration><voice>non-integer-value</voice></note>z7<forward><duration>10080</duration></forward></measure>)rb  r.   r=   znon-integer-valueN)
r\  r&   r   rS   rD   r1   r   rƒ   Úelementsri   )r'   r*   r�  rb  rë  s        r)   ÚtestHiddenRestImpliedVoicezTest.testHiddenRestImpliedVoiceœ  s	  € ð
 	;Ð:Ð:Ð:Ð:Ð:ØYˆØÐ>Ñ>ˆØÐaÑaˆØÐJÑJˆØ�B�u‘I”Iˆ	Ý YÐ/Ñ/Ô/ˆØ
�Š‰
Œ
ˆ
à×Ò�˜RœYÔ-Ñ.Ô.°Ñ2Ô2Ð2Ø×Ò�˜RœYÔ-¨aÔ0Ô9Ñ:Ô:¸AÑ>Ô>Ð>Ø×Ò�˜RœYÔ-¨aÔ0Ô9Ñ:Ô:¸AÑ>Ô>Ð>Ø×Ò˜œÔ)¨!Ô,Ô/Ð1DÑEÔEÐEÐEÐEr+   c                ó\  — ddl m} ddlm} |                     |j        ¦  «        }|                     ¦   «                              t          j	        ¦  «        }|  
                    |d         j        ddg¦  «         |  
                    |d         j        dg¦  «         |j                             dd¦  «        }|                     |¦  «        }|                     ¦   «                              t          j	        ¦  «                             ¦   «         }|  
                    |j        dg¦  «         d S )	Nr   rc   re   r=   r.   rÓ   z1,2zad lib.)r>   rd   r}   rf   rS   ÚmultiDigitEndingrŠ   r   r   r"  ÚassertListEqualÚnumberRangeÚreplacer�   )r'   rd   rf   r®  ÚrepeatBracketsÚnonconformingInputÚscore2ÚrepeatBrackets           r)   ÚtestMultiDigitEndingzTest.testMultiDigitEnding¯  s  € Ø%Ð%Ð%Ð%Ð%Ð%Ø2Ð2Ð2Ð2Ð2Ð2ð —’ Ô >Ñ?Ô?ˆØŸš™œ×;Ò;½GÔ<QÑRÔRˆØ×Ò˜^¨AÔ.Ô:¸QÀ¸FÑCÔCÐCØ×Ò˜^¨AÔ.Ô:¸Q¸CÑ@Ô@Ð@à*Ô;×CÒCÀEÈ9ÑUÔUÐØ—’Ð!3Ñ4Ô4ˆØŸšÑ(Ô(×;Ò;½GÔ<QÑRÔR×XÒXÑZÔZˆØ×Ò˜]Ô6¸¸Ñ<Ô<Ð<Ð<Ð<r+   c                óp  — ddl m} ddlm} |j                             ¦   «         }d} ||¦  «        }|                     |¦  «        }|                      t          | 	                    ¦   «         ¦  «        dk    ¦  «         |                      t          j        d¦  «        |j        d         k    ¦  «         d S )Nr   )r¢  rZ  zØ<harmony><root><root-step>C</root-step></root><kind text="7b5">dominant</kind>
        <degree><degree-value>5</degree-value><degree-alter>-1</degree-alter>
        <degree-type>alter</degree-type></degree></harmony>r=   zG-3r.   )r>   r¢  r\  r&   ÚxmlToM21r   rð  rH   r1   ÚgetChordStepModificationsr   ÚPitchrÍ   )r'   r¢  r*   rë  r�  rñ  r‘  s          r)   ÚtestChordAlterationzTest.testChordAlterationÂ  s»   € Ø$Ð$Ð$Ð$Ð$Ð$Ø:Ð:Ð:Ð:Ð:Ð:ØÔ×,Ò,Ñ.Ô.ˆð?ˆð �B�u‘I”Iˆ	Ø× Ò  Ñ+Ô+ˆà�Š�˜B×8Ò8Ñ:Ô:Ñ;Ô;¸qÒ@ÑAÔAÐAà�Š�œ EÑ*Ô*¨b¬j¸¬mÒ;Ñ<Ô<Ð<Ð<Ð<r+   c                ó^  — ddl m} t          j        ¦   «         dz  dz  }|dz  }|                     |¦  «        }t          |                     ¦   «         j        ¦  «        }|                      t          |d         j
        ¦  «        d¦  «         |d         j
        d         }|                      |j        ¦  «         |                      |j        d¦  «         |                      t          |j        ¦  «        d¦  «         |                      |j        d         j        d	¦  «         |                      |j        d         j        d
¦  «         |                      |j        d         j        d¦  «         |                      |j        d         j        d
¦  «         |                      |j        d         j        d¦  «         |                      |d         j        d¦  «         |                      t          |d         j
        ¦  «        d¦  «         |d         j
        d         }|                      t          |j        ¦  «        d¦  «         |                      |j        d         j        d¦  «         |                      |j        d¦  «         |                      |d         j        d¦  «         |                      t          |d         j
        ¦  «        d¦  «         |d         j
        d         }|                      t          |j        ¦  «        d¦  «         |                      |j        d         j        d¦  «         |                      |j        d         j        d¦  «         |                      |j        d¦  «         |                      |j        d         j        d¦  «         |                      |j        d         j        d
¦  «         |                      |j        d         j        d¦  «         |                      t          | 
                    d¬¦  «        d         d         ¦  «        d¦  «         dS )z]
        Tests multiple lyrics in same note but with same number (not stanza change)
        r   rc   r¢  ÚlilypondTestSuitez!61l-Lyrics-Elisions-Syllables.xmlr=   Ú	compositer.   ÚbÚmiddlerN  ú ÚEÚ z-derÓ   r˜  Ú_ú~zf_g~hÚbeginÚendT)rŠ   r  N)r>   rd   r   r  rS   rÞ  rÖ   rî   rD   r1   ÚlyricsrH   ÚisCompositeÚsyllabicÚ
componentsr   ÚelisionBeforerï   ÚrawText)	r'   rd   ÚxmlDirÚfpr_   rî   Úly1Úly2Úly3s	            r)   ÚtestCompositeLyricszTest.testCompositeLyricsÐ  s•  € ð 	&Ð%Ð%Ð%Ð%Ð%åÔ)Ñ+Ô+¨jÑ8Ð;NÑNˆØÐ9Ñ9ˆØ�OŠO˜BÑÔˆÝ�Q—Y’Y‘[”[Ô&Ñ'Ô'ˆð 	×Ò�˜U 1œXœ_Ñ-Ô-¨qÑ1Ô1Ð1Ø�AŒhŒo˜aÔ ˆØ�Š˜œÑ(Ô(Ð(Ø×Ò˜œ {Ñ3Ô3Ð3Ø×Ò�˜Sœ^Ñ,Ô,¨aÑ0Ô0Ð0Ø×Ò˜œ¨Ô*Ô/°Ñ5Ô5Ð5Ø×Ò˜œ¨Ô*Ô3°XÑ>Ô>Ð>Ø×Ò˜œ¨Ô*Ô/°Ñ5Ô5Ð5Ø×Ò˜œ¨Ô*Ô3°XÑ>Ô>Ð>Ø×Ò˜œ¨Ô*Ô8¸#Ñ>Ô>Ð>ð 	×Ò˜˜qœœ¨Ñ,Ô,Ð,Ø×Ò�˜U 1œXœ_Ñ-Ô-¨qÑ1Ô1Ð1Ø�AŒhŒo˜aÔ ˆØ×Ò�˜Sœ^Ñ,Ô,¨aÑ0Ô0Ð0Ø×Ò˜œ¨Ô*Ô8¸"Ñ=Ô=Ð=Ø×Ò˜œ eÑ,Ô,Ð,ð 	×Ò˜˜qœœ¨Ñ,Ô,Ð,Ø×Ò�˜U 1œXœ_Ñ-Ô-¨qÑ1Ô1Ð1Ø�AŒhŒo˜aÔ ˆØ×Ò�˜Sœ^Ñ,Ô,¨aÑ0Ô0Ð0Ø×Ò˜œ¨Ô*Ô8¸#Ñ>Ô>Ð>Ø×Ò˜œ¨Ô*Ô8¸#Ñ>Ô>Ð>Ø×Ò˜œ gÑ.Ô.Ð.Ø×Ò˜œ¨Ô*Ô3°WÑ=Ô=Ð=Ø×Ò˜œ¨Ô*Ô3°XÑ>Ô>Ð>Ø×Ò˜œ¨Ô*Ô3°UÑ;Ô;Ð;Ø×Ò�˜QŸXšX¨d˜XÑ3Ô3°AÔ6°qÔ9Ñ:Ô:¸AÑ>Ô>Ð>Ð>Ð>r+   c                óÂ  — ddl m} ddl m} ddlm}m} |                     |j        ¦  «        }|t          j	                  
                    ¦   «         }|                      |j        j        d¦  «         |                     |j        ¦  «        }|t          j                  
                    ¦   «         }|                      |j        j        d¦  «         |                     |j        ¦  «        }d„ |                     ¦   «         D ¦   «         }|                      t)          |¦  «        d¦  «         |                      t+          t-          d	„ |D ¦   «         ¦  «        ¦  «        t.          j        g¦  «         |                     d
¦  «        }d„ |                     ¦   «         D ¦   «         }|                      t)          |¦  «        d¦  «         |                      t3          t-          d„ |D ¦   «         ¦  «        t4          ¬¦  «        t          j        t          j        t          j	        t.          j        g¦  «         d„ |D ¦   «         }	|                      |	d         j        j        d¦  «         |                     |j        ¦  «        }|t<          j                  
                    ¦   «         }
|                      |
j        j         d¦  «         |                      |
j!        d¦  «         d S )Nr   rc   rZ   )rf   r˜   r\   rœ  c                ó8   — g | ]}|j         r|j        j        ®|‘ŒS r$   ©ÚhasStyleInformationr   Ú	relativeX©rj   r¢   s     r)   rl   z.Test.testDirectionPosition.<locals>.<listcomp>  ó6   € ð 0ð 0ð 0 °RÔ5Kð 0Ø”Ô"Ð.ð Ø.Ð.Ð.r+   rÓ   c              3  ó4   K  — | ]}t          |¦  «        V — Œd S r$   r  r  s     r)   ú	<genexpr>z-Test.testDirectionPosition.<locals>.<genexpr>  s(   è è € Ð6Ð6 "•T˜"‘X”XÐ6Ð6Ð6Ð6Ð6Ð6r+   rt  c                ó8   — g | ]}|j         r|j        j        ®|‘ŒS r$   r  r  s     r)   rl   z.Test.testDirectionPosition.<locals>.<listcomp>  r  r+   r�  c              3  ó4   K  — | ]}t          |¦  «        V — Œd S r$   r  r  s     r)   r  z-Test.testDirectionPosition.<locals>.<genexpr>  s(   è è € Ð8Ð8 B•t˜B‘x”xÐ8Ð8Ð8Ð8Ð8Ð8r+   r   c                ó$   — g | ]}d |j         v ¯|‘ŒS )rÍ  )r©  r  s     r)   rl   z.Test.testDirectionPosition.<locals>.<listcomp>  s$   € ÐNÐNÐN˜R°KÀ2Ä:Ð4MÐ4M�bÐ4MÐ4MÐ4Mr+   iúÿÿÿr˜  )"r>   rd   r[   r}   rf   r˜   rS   ÚmozartTrioK581Excerptr   r  r�   rD   r   Ú	relativeYr  r   r  r  rà   rŠ   r1   rÞ  rŸ   r   rá   Úsortedr+  rÍ  rÎ  ÚtabTestr   r2  rõ   r™  )r'   rd   r[   rf   r˜   r_   ÚdynÚsegÚpositionedElsÚ
crescendosÚmetros              r)   ÚtestDirectionPositionzTest.testDirectionPositioný  s·  € Ø%Ð%Ð%Ð%Ð%Ð%Ø"Ð"Ð"Ð"Ð"Ð"Ø=Ð=Ð=Ð=Ð=Ð=Ð=Ð=ð �OŠO˜IÔ;Ñ<Ô<ˆØ•Ô Ô!×'Ò'Ñ)Ô)ˆØ×Ò˜œÔ,¨aÑ0Ô0Ð0ð �OŠO˜MÔ<Ñ=Ô=ˆØ•”Œo×#Ò#Ñ%Ô%ˆØ×Ò˜œÔ,¨bÑ1Ô1Ð1ð �OŠO˜MÔ9Ñ:Ô:ˆð0ð 0 a§i¢i¡k¤kð 0ñ 0ô 0ˆà×Ò�˜]Ñ+Ô+¨QÑ/Ô/Ð/Ø×ÒÝ•Ð6Ð6¨Ð6Ñ6Ô6Ñ6Ô6Ñ7Ô7ÝÔ'Ð(ñ	
ô 	
ð 	
ð �LŠL˜Ñ!Ô!ˆð0ð 0 a§i¢i¡k¤kð 0ñ 0ô 0ˆà×Ò�˜]Ñ+Ô+¨RÑ0Ô0Ð0Ø×ÒÝ•3Ð8Ð8¨-Ð8Ñ8Ô8Ñ8Ô8½dÐCÑCÔCÝÔ¥Ô!4µhÔ6FÍÔHbÐcñ	
ô 	
ð 	
ð OÐN =ÐNÑNÔNˆ
Ø×Ò˜ AœÔ,Ô6¸Ñ;Ô;Ð;ð �OŠO˜IÔ-Ñ.Ô.ˆØ•%Ô%Ô&×,Ò,Ñ.Ô.ˆØ×Ò˜œÔ.°Ñ3Ô3Ð3Ø×Ò˜œ¨'Ñ2Ô2Ð2Ð2Ð2r+   c                ó   — ddl m} t          j        ¦   «         dz  dz  }|                     |dz  ¦  «        }|t
          j                                      ¦   «         }|                      d„ |j	        D ¦   «         g d¢¦  «         |                      d„ |j	        D ¦   «         d	„ | 
                    ¦   «                              ¦   «         j	        D ¦   «         ¦  «         |t          j                 }|                      d
„ |D ¦   «         g d¢¦  «         |                      d„ |D ¦   «         g d¢¦  «         |                      d„ |D ¦   «         g d¢¦  «         |                      d„ |D ¦   «         dgddgddgddgg¦  «         d S )Nr   rc   r¢  rô  z33d-Spanners-OctaveShifts.xmlc                ó   — g | ]	}|j         ‘Œ
S rh   r±   r³   s     r)   rl   z)Test.testImportOttava.<locals>.<listcomp>0  ó   € Ð1Ð1Ð1 !ˆQÔÐ1Ð1Ð1r+   )	rÉ   r¹   ÚA6r�  ÚB2r¿   r¿   ÚB3rÆ   c                ó   — g | ]	}|j         ‘Œ
S rh   r±   r³   s     r)   rl   z)Test.testImportOttava.<locals>.<listcomp>5  r#  r+   c                ó   — g | ]	}|j         ‘Œ
S rh   r±   r³   s     r)   rl   z)Test.testImportOttava.<locals>.<listcomp>6  s   € ÐMÐMÐM !ˆQÔÐMÐMÐMr+   c                ó   — g | ]	}|j         ‘Œ
S rh   )Útransposing©rj   r  s     r)   rl   z)Test.testImportOttava.<locals>.<listcomp>:  s   € Ð0Ð0Ð0˜qˆQŒ]Ð0Ð0Ð0r+   )FFFFc                ó   — g | ]	}|j         ‘Œ
S rh   r  r+  s     r)   rl   z)Test.testImportOttava.<locals>.<listcomp>>  s   € Ð)Ð)Ð)˜ˆQŒVÐ)Ð)Ð)r+   )Ú15maÚ15mbÚ8vaÚ8vbc                ó   — g | ]	}|j         ‘Œ
S rh   )r™  r+  s     r)   rl   z)Test.testImportOttava.<locals>.<listcomp>B  s   € Ð.Ð.Ð.˜QˆQŒ[Ð.Ð.Ð.r+   )r˜  r—  r˜  r—  c                óJ   — g | ] }d „ |                      ¦   «         D ¦   «         ‘Œ!S )c                ó   — g | ]	}|j         ‘Œ
S rh   r±   r³   s     r)   rl   z4Test.testImportOttava.<locals>.<listcomp>.<listcomp>F  s   € Ð?Ð?Ð? 1ˆaÔÐ?Ð?Ð?r+   )r}  r+  s     r)   rl   z)Test.testImportOttava.<locals>.<listcomp>F  s3   € ÐUÐUÐUÀAÐ?Ð?¨×(<Ò(<Ñ(>Ô(>Ð?Ñ?Ô?ÐUÐUÐUr+   r$  r�  r%  r¿   r&  rÆ   )r>   rd   r   r  rS   r   r€   r�   rD   rÍ   ry  rÖ   r   rÌ   )r'   rd   Úxml_dirr_   r÷   Úottava_objss         r)   ÚtestImportOttavazTest.testImportOttava(  sâ  € Ø%Ð%Ð%Ð%Ð%Ð%åÔ*Ñ,Ô,¨zÑ9Ð<OÑOˆØ�OŠO˜GÐ&EÑEÑFÔFˆà�fŒnÔ×#Ò#Ñ%Ô%ˆØ×ÒØ1Ð1 q¤yÐ1Ñ1Ô1àBÐBÐBñ	
ô 	
ð 	
ð
 	×ÒØ1Ð1 q¤yÐ1Ñ1Ô1ØMÐM q×'8Ò'8Ñ':Ô':×'BÒ'BÑ'DÔ'DÔ'LÐMÑMÔMñ	
ô 	
ð 	
ð �œÔ'ˆØ×ÒØ0Ð0 KÐ0Ñ0Ô0Ø(Ð(Ð(ñ	
ô 	
ð 	
ð 	×ÒØ)Ð)˜[Ð)Ñ)Ô)Ø*Ð*Ð*ñ	
ô 	
ð 	
ð 	×ÒØ.Ð. +Ð.Ñ.Ô.Ø0Ð0Ð0ñ	
ô 	
ð 	
ð 	×ÒØUÐUÈÐUÑUÔUð ˆV�d˜D�\ D¨$ <°$¸°Ð>ñ		
ô 	
ð 	
ð 	
ð 	
r+   c                ó~  — ddl m} t          ¦   «         }d|_        t	          j        d¦  «        }|                      t          |j        ¦  «        d¦  «          |d¦  «        }| 	                    ||¬¦  «         |                      t          |j        ¦  «        d¦  «         |                      |j
        d¦  «         d S )	Nr   rZ  r  r@  r=   zR<note><pitch><step>D</step><octave>6</octave></pitch><duration>3</duration></note>)ÚinputM21T)r\  r&   r   Ú	divisionsr
   r7  rD   r1   r=  ÚxmlToDurationÚlinked)r'   r*   rë  ÚdÚmxNoteNoTypes        r)   ÚtestClearingTupletszTest.testClearingTupletsL  s½   € Ø:Ð:Ð:Ð:Ð:Ð:å‰_Œ_ˆØˆŒÝÔ˜eÑ$Ô$ˆØ×Ò�˜QœY™œ¨Ñ+Ô+Ð+Ø�rð <ñ =ô =ˆà
×Ò˜°ÐÑ2Ô2Ð2Ø×Ò�˜QœY™œ¨Ñ+Ô+Ð+Ø×Ò˜œ 4Ñ(Ô(Ð(Ð(Ð(r+   c                ó¨  — ddl m} d}t          ¦   «         } ||¦  «        }|                     |¦  «        }|                      |t
          j        ¦  «         |                      |j        d¦  «         | 	                    dd¦  «        }| 	                    dd¦  «        }| 	                    d	d
¦  «        }t          ¦   «         } ||¦  «        }d}|  
                    t          |¦  «        5  |                     |¦  «        }d d d ¦  «         n# 1 swxY w Y   |                      |t
          j        ¦  «         |                      |j        d¦  «         d S )Nr   rZ  aª  
        <score-part id="P4"><part-name>Tambourine</part-name>
        <part-abbreviation>Tamb.</part-abbreviation>
        <score-instrument id="P4-I55">
            <instrument-name>Tambourine</instrument-name>
        </score-instrument>
        <midi-instrument id="P4-I55">
           <midi-channel>10</midi-channel>
           <midi-unpitched>55</midi-unpitched>
        </midi-instrument>
        </score-part>
        r¦  Ú
TambourineÚCabasazTamb.zCab.Ú55Ú70z&69 does not map to a valid instrument!éE   )r\  r&   r    ÚgetDefaultInstrumentr�   r   r@  rD   ÚpercMapPitchrè  ÚassertWarnsRegexr   ÚUnpitchedPercussion)r'   r*   Ú	scorePartrU   rP   ÚtmbrV   Úunps           r)   ÚtestImportUnpitchedPercussionz"Test.testImportUnpitchedPercussionY  sŠ  € Ø:Ð:Ð:Ð:Ð:Ð:ðˆ	õ ‰\Œ\ˆØ�b˜‘m”mˆØ×%Ò% kÑ2Ô2ˆØ×Ò˜c¥:Ô#8Ñ9Ô9Ð9Ø×Ò˜Ô)¨2Ñ.Ô.Ð.ð ×%Ò% l°HÑ=Ô=ˆ	Ø×%Ò% g¨vÑ6Ô6ˆ	Ø×%Ò% d¨DÑ1Ô1ˆ	Ý‰\Œ\ˆØ�b˜‘m”mˆØ6ˆØ×"Ò"¥?°CÑ8Ô8ð 	7ð 	7Ø×)Ò)¨+Ñ6Ô6ˆCð	7ð 	7ð 	7ñ 	7ô 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7øøøð 	7ð 	7ð 	7ð 	7à×Ò˜c¥:Ô#AÑBÔBÐBØ×Ò˜Ô)¨2Ñ.Ô.Ð.Ð.Ð.s   Ã*DÄDÄDc                ó  — ddl m} t          j        ¦   «         dz  dz  }|                     |dz  ¦  «        }|t
          j                                      ¦   «         }|                      |j	        t
          j
        j        j        ¦  «         d S )Nr   rc   r¢  rô  z&46d-PickupMeasure-ImplicitMeasures.xml)r>   rd   r   r  rS   r   r€   r�   r`  Ú
showNumberÚenumsÚ
ShowNumberÚNEVER)r'   rd   r4  r_   r÷   s        r)   ÚtestImportImplicitMeasureNumberz$Test.testImportImplicitMeasureNumberz  s€   € Ø%Ð%Ð%Ð%Ð%Ð%åÔ*Ñ,Ô,¨zÑ9Ð<OÑOˆØ�OŠO˜GÐ&NÑNÑOÔOˆØ�fŒnÔ×#Ò#Ñ%Ô%ˆØ�Š�a”l¥F¤LÔ$;Ô$AÑBÔBÐBÐBÐBr+   c                ó`  — t          j        d¦  «        }t          j        t	          j        d¦  «        t          j        |¬¦  «        g¦  «        }t          ¦   «         }d|_	        | 
                    |¦  «         |                      t          ¦  «        5  |                     |¦  «         d d d ¦  «         n# 1 swxY w Y   |                      |j	        d¦  «         t          j        d¦  «        }t          j        t	          j        d¦  «        t          j        |¬¦  «        g¦  «        }t          ¦   «         }d|_	        | 
                    |¦  «         |                     |¦  «         |                      |j	        d¦  «         t          j        d¦  «        }t          j        t	          j        d¦  «        t          j        |¬¦  «        g¦  «        }t          ¦   «         }d|_	        | 
                    |¦  «         |                     |¦  «         |                      |j	        d	¦  «         d S )
NgÍÌÌÌÌ@z6/8r	   g      5@g      8@g      	@g      8@rß   g      9@)r
   r7  r   r€   r   r]  r   r�   r    ÚlastMeasureOffsetÚsetLastMeasureInfoÚassertWarnsr   ÚadjustTimeAttributesFromMeasurerD   )r'   r<  r÷   rU   s       r)   Ú#testAdjustTimeAttributesFromMeasurez(Test.testAdjustTimeAttributesFromMeasure‚  s  € åÔ˜kÑ*Ô*ˆÝŒN�EÔ/°Ñ6Ô6½¼	È1Ð8MÑ8MÔ8MÐNÑOÔOˆÝ‰\Œ\ˆØ#ˆÔØ
×Ò˜aÑ Ô Ð Ø×Ò�oÑ.Ô.ð 	2ð 	2Ø×.Ò.¨qÑ1Ô1Ð1ð	2ð 	2ð 	2ñ 	2ô 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2øøøð 	2ð 	2ð 	2ð 	2à×Ò˜Ô-¨tÑ4Ô4Ð4õ Ô˜eÑ$Ô$ˆÝŒN�EÔ/°Ñ6Ô6½¼	È1Ð8MÑ8MÔ8MÐNÑOÔOˆÝ‰\Œ\ˆØ#ˆÔØ
×Ò˜aÑ Ô Ð Ø
×*Ò*¨1Ñ-Ô-Ð-Ø×Ò˜Ô-¨vÑ6Ô6Ð6åÔ˜cÑ"Ô"ˆÝŒN�EÔ/°Ñ6Ô6½¼	È1Ð8MÑ8MÔ8MÐNÑOÔOˆÝ‰\Œ\ˆØ#ˆÔØ
×Ò˜aÑ Ô Ð Ø
×*Ò*¨1Ñ-Ô-Ð-Ø×Ò˜Ô-¨tÑ4Ô4Ð4Ð4Ð4s   ÂB6Â6B:Â=B:c           	     ót  — ddl m} ddlm} |                     |j        ¦  «        }|                      t          |j        ¦  «        d¦  «         |  	                    |t          j                 ¦  «         |t          j                                      ¦   «         }dD �]œ}|j        |         }|                      ||¦  «         |                      t          |t          j                 ¦  «        d¦  «         |                      t          |t           j                 ¦  «        d¦  «         |t           j                 \  }}}	|  	                    |t$          j                 ¦  «         |t$          j                                      ¦   «         }
|                      |
j        d¦  «         |                      |
j        d¦  «         |  	                    |t$          j                 ¦  «         |t$          j                                      ¦   «         }|                      |j        d	¦  «         |                      |j        d
¦  «         |                      |	t$          j                 ¦  «         |  	                    |	t$          j                                      d
¦  «        ¦  «         |	t$          j                                      d
d
¦  «                             ¦   «         }|                      |j        d¦  «         |t4          j                 }|  	                    |d|› d|› d�¦  «         |                      t          |¦  «        d¦  «         |\  }}|j        dk    r||}}|                      t;          |¦  «        |g¦  «         |                      t;          |¦  «        |	g¦  «         d„ |t          j                 D ¦   «         }|                      |g d¢¦  «         t=          j        t           j                  |¦  «         !                    ¦   «         }d„ |t          j                 D ¦   «         }|                      |g d¢¦  «         �Œžd S )Nr   rc   r—   r.   )r   r=   rÓ   r5  rt   rþ  rß   ÚfinalzPart ú:z has no RepeatBracketsc                ó   — g | ]	}|j         ‘Œ
S rh   ©rï   rS  s     r)   rl   z8Test.testPianoStaffWithRepeatEndings.<locals>.<listcomp>Æ  s   € Ð4Ð4Ð4 !�q”vÐ4Ð4Ð4r+   )ÚGrl  rè   c                ó   — g | ]	}|j         ‘Œ
S rh   r]  rS  s     r)   rl   z8Test.testPianoStaffWithRepeatEndings.<locals>.<listcomp>Ê  s   € Ð>Ð>Ð> 1˜œÐ>Ð>Ð>r+   )r^  rl  r^  rè   )"r>   rd   r}   r˜   rS   ÚpianoRepeatEndingsrD   r1   r]   rH   r   rX  r�   rF   r   r�   r   r€   r   r^   Ú	directionrp   r?   r¨   ÚgetElementsByOffsetr  r   r"  rÿ   rÞ  r   ÚExpanderÚPartÚprocess)r'   rd   r˜   r_   ÚsgÚp_numr4   r„   rã   Úm3Úrepeat_startÚ
repeat_endÚ	final_barÚrepeat_bracket_iteratorÚrb1Úrb2Úp_notesÚ
p_expandedÚp_notes2s                      r)   ÚtestPianoStaffWithRepeatEndingsz$Test.testPianoStaffWithRepeatEndingsŸ  s   € Ø%Ð%Ð%Ð%Ð%Ð%Ø.Ð.Ð.Ð.Ð.Ð.à�OŠO˜IÔ8Ñ9Ô9ˆØ×Ò�˜QœW™œ qÑ)Ô)Ð)Ø�Š˜�&Ô+Ô,Ñ-Ô-Ð-Ø�vÔ Ô!×'Ò'Ñ)Ô)ˆàð #	=ñ #	=ˆEØ”˜”ˆAØ�MŠM˜!˜RÑ Ô Ð Ø×Ò�S ¥4¤9¤Ñ.Ô.°Ñ2Ô2Ð2Ø×Ò�S ¥6¤>Ô!2Ñ3Ô3°QÑ7Ô7Ð7Ø�6œ>Ô*‰JˆB��BØ�OŠO˜B�sœzœNÑ+Ô+Ð+Ø�cœjœ>×/Ò/Ñ1Ô1ˆLØ×Ò˜\Ô3°WÑ=Ô=Ð=Ø×Ò˜\Ô0°#Ñ6Ô6Ð6Ø�OŠO˜B�sœzœNÑ+Ô+Ð+Ø�CœJœ×-Ò-Ñ/Ô/ˆJØ×Ò˜ZÔ1°5Ñ9Ô9Ð9Ø×Ò˜ZÔ.°Ñ4Ô4Ð4Ø×Ò˜R¥¤
œ^Ñ,Ô,Ð,Ø�OŠO˜B�sœ{œO×?Ò?ÀÑDÔDÑEÔEÐEØ�3œ;œ×;Ò;¸CÀÑEÔE×KÒKÑMÔMˆIØ×Ò˜Yœ^¨WÑ5Ô5Ð5ð '(­Ô(=Ô&>Ð#Ø�OŠOÐ3Ð5^¸UÐ5^Ð5^ÀQÐ5^Ð5^Ð5^Ñ_Ô_Ð_Ø×Ò�SÐ!8Ñ9Ô9¸1Ñ=Ô=Ð=Ø.‰HˆC�ØŒz˜QŠˆà �S�Ø×Ò�T #™YœY¨¨Ñ-Ô-Ð-Ø×Ò�T #™YœY¨¨Ñ-Ô-Ð-à4Ð4 q­¬¤|Ð4Ñ4Ô4ˆGØ×Ò˜W o o oÑ6Ô6Ð6åœ­¬Ô5°aÑ8Ô8×@Ò@ÑBÔBˆJØ>Ð>¨
µ4´9Ô(=Ð>Ñ>Ô>ˆHØ×Ò˜XÐ';Ð';Ð';Ñ<Ô<Ð<Ñ<ðG#	=ð #	=r+   N)rÃ  rm  )UÚ__name__Ú
__module__Ú__qualname__r*   r5   r;   rM   rX   ra   r…   rŒ   r•   r�   r£   r®   rÑ   rÚ   rå   rù   rý   r  r  r%  r)  r/  r9  r;  r?  rS  r^  rc  rk  r�  r…  r   r®  r½  rÄ  rÊ  rÏ  rÓ  r×  rÚ  râ  rä  rç  rí  rò  r  r  r  r!  r(  r-  r>  rI  rP  rX  rd  rj  rr  rˆ  r�  r’  r•  rŸ  r¢  r©  r°  r³  r¶  rÂ  rÑ  rà  rã  rí  rò  r
  r   r6  r>  rL  rR  rX  rr  rh   r+   r)   r"   r"   $   s6  € € € € € ð%ð %ð %ð
ð 
ð 
ðDð Dð Dð
/Eð /Eð /Eðb
4ð 
4ð 
4ð+ð +ð +ðXð Xð Xð"	Rð 	Rð 	Rð1ð 1ð 1ð&;ð ;ð ;ð 
?ð 
?ð 
?ð	4ð 	4ð 	4ð
ð 
ð 
ð(8ð 8ð 8ð,Jð Jð Jð(+ð +ð +ð""ð "ð "ð ð  ð  ð(9ð 9ð 9ð"-ð -ð -ð +ð +ð +ðL(ð (ð (ðBð Bð BðFð Fð Fð@ð @ð @ðYð Yð Yð8)ð )ð )ð&	<ð 	<ð 	<ð
Sð 
Sð 
SðA!ð A!ð A!ðH	-ð 	-ð 	-ð:ð :ð :ð<,ð ,ð ,ð,8#ð 8#ð 8#ðt?ð ?ð ?ðEð Eð Eð"9ð 9ð 9ð8ð 8ð 8ð2ð 2ð 2ð@ð @ð @ð=ð =ð =ð2ð 2ð 2ð<ð <ð <ðGð Gð Gð +ð +ð +ð5ð 5ð 5ð65ð 5ð 5ð&%ð %ð %ð$7ð 7ð 7ð=ð =ð =ð"1ð 1ð 1ð<;ð <;ð <;ð|8Mð 8Mð 8Mðt
ð 
ð 
ð<dð dð dðBð Bð Bð0ð 0ð 0ðBð Bð BðI8ð I8ð I8ðV7ð 7ð 7ð(>ð >ð >ð
0ð 
0ð 
0ð)ð )ð )ð,,ð ,ð ,ð	/ð 	/ð 	/ð>ð >ð >ð*2ð 2ð 2ð>ð >ð >ð*'%ð '%ð '%ðR'ð 'ð 'ð 'ð"(_ð (_ð (_ðTFð Fð Fð&=ð =ð =ð&=ð =ð =ð+?ð +?ð +?ðZ)3ð )3ð )3ðV"
ð "
ð "
ðH)ð )ð )ð/ð /ð /ðBCð Cð Cð5ð 5ð 5ð:,=ð ,=ð ,=ð ,=ð ,=r+   r"   Ú__main__)+Ú
__future__r   rE  ÚtypingrÅ  Úunittestr\  ÚetreeÚElementTreer%   r>   r   r   r   r   r   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   Úmusic21.musicxml.xmlToM21r   r   r   r   r    ÚTestCaser"   rs  ÚmainTestrh   r+   r)   ú<module>r     s’  ðØ "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ø Ð Ð Ð Ø €€€Ø "Ð "Ð "Ð "Ð "Ð "Ð "Ð "Ð "à !Ð !Ð !Ð !Ð !Ð !Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð
g=ð g=ð g=ð g=ð g=ˆ8Ôñ g=ô g=ð g=ðT5 ˆzÒÐØ€N€N€NØ€GÔ�TÑÔÐÐÐð Ðr+   