§
    ƒØj5í  ã                   óè  — d dl mZ d dlZd dlZd dlZd dlZd dlZd dlmZ d dlm	Z	 d dlm
Z
 d dlmZ d dlmZ d dlmZ d d	lmZ d d
lmZ d dlmZ d dlmZmZmZmZmZmZ d dlmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&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m0Z0  ej1        d¦  «        Z2 G d„ dej3        ¦  «        Z4e5dk    rd dlZ ej6        e4¦  «         dS dS )é    )Úa2b_hexN)Úchord)Ú	converter)Úcommon)Úcorpus)Úenvironment)Ú
instrument)Úinterval)Úkey)Úmeter)ÚChannelVoiceMessagesÚ	DeltaTimeÚ
MetaEventsÚ	MidiTrackÚ	MidiEventÚMidiFile)ÚTimedNoteEventÚTranslateWarningÚchannelInstrumentDataÚconductorStreamÚgetMetaEventsÚmidiAsciiStringToBinaryStringÚmidiEventToInstrumentÚmidiEventsToNoteÚmidiFileToStreamÚnoteToMidiEventsÚpacketStorageFromSubstreamListÚprepareStreamForMidiÚstreamHierarchyToMidiTracksÚstreamToMidiFileÚ"updatePacketStorageWithChannelInfo)ÚtestPrimitive)Únote)Ú
percussion)Úscale)Ústream)Útempo)Útie)Úvolumez
midi.testsc                   ó~  — 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@d,„Z,d-„ Z-d.„ Z.d/„ Z/d0„ Z0d1„ Z1d2„ Z2d3„ Z3d4„ Z4d5„ Z5d6„ Z6d7„ Z7d8„ Z8d9„ Z9d:„ Z:d;„ Z;d<„ Z<d=„ Z=d>„ Z>d?„ Z?d+S )AÚTestc                 ó  — t          ¦   «         }t          d¦  «        }d|_        |j                             |¦  «         d|_        d}||                     ¦   «         z   }|                      |dt          d¦  «        z   ¦  «         dS )zH
        Convert bytes of Ascii midi data to binary midi bytes.
        r   é   éÀ  ó    ó   MThds   000000060001000103c0N)	r   r   ÚformatÚtracksÚappendÚticksPerQuarterNoteÚwriteMThdStrÚassertEqualr   )ÚselfÚmfÚtrkÚ
midiBinStrs       ú‡/Users/tedpeters/Documents/Projects/Claude Projects/Misc Tools/notename-sheets/.venv/lib/python3.11/site-packages/music21/midi/tests.pyÚtestWriteMThdStrzTest.testWriteMThdStr:   s€   € õ ‰ZŒZˆÝ˜‰lŒlˆØˆŒ	Ø
Œ	×Ò˜ÑÔÐØ!$ˆÔàˆ
Ø "§/¢/Ñ"3Ô"3Ñ3ˆ
à×Ò˜ W­wÐ7NÑ/OÔ/OÑ%OÑPÔPÐPÐPÐPr/   c                 ó 	  — t          j        ¦   «         dz  dz  }|dz  }t                               |g¦  «         t	          ¦   «         }|                     |¦  «         |                     ¦   «          |                     ¦   «          |                      t          |j
        ¦  «        d¦  «         |                      |j        d¦  «         |                      |j        d ¦  «         t          j        ¦   «         }|                     |¦  «         |                     ¦   «          |                     ¦   «          |dz  }t                               |g¦  «         t	          ¦   «         }|                     |¦  «         |                     ¦   «          |                     ¦   «          |                      t          |j
        ¦  «        d¦  «         |                      |j        d¦  «         |                      |j        d ¦  «         t          j        ¦   «         }|                     |¦  «         |                     ¦   «          |                     ¦   «          |d	z  }t                               |g¦  «         t	          ¦   «         }|                     |¦  «         |                     ¦   «          |                     ¦   «          |                      t          |j
        ¦  «        d
¦  «         |                      |j        d¦  «         |                      |j        d ¦  «         t          j        ¦   «         }|                     |¦  «         |                     ¦   «          |                     ¦   «          |dz  }t                               |g¦  «         t	          ¦   «         }|                     |¦  «         |                     ¦   «          |                     ¦   «          |                      t          |j
        ¦  «        d¦  «         |                      |j        d¦  «         |                      |j        d ¦  «         t          j        ¦   «         }|                     |¦  «         |                     ¦   «          |                     ¦   «          d S )NÚmidir"   ú
test01.midé   r.   z
test02.midé   é   z
test03.midé   z
test04.midé   ià  )r   ÚgetSourceFilePathÚenvironLocalÚ
printDebugr   ÚopenÚreadÚcloser6   Úlenr2   r4   ÚticksPerSecondÚioÚBytesIOÚopenFileLikeÚwrite)r7   ÚdirLibÚfpr8   ÚfileLikeOpens        r;   ÚtestBasicImportzTest.testBasicImportI   s�  € ÝÔ)Ñ+Ô+¨fÑ4°ÑFˆØ�lÑ"ˆÝ×Ò  Ñ%Ô%Ð%Ý‰ZŒZˆØ
�Š�‰ŒˆØ
�Š‰	Œ	ˆ	Ø
�Š‰
Œ
ˆ
à×Ò�˜RœY™œ¨Ñ+Ô+Ð+Ø×Ò˜Ô/°Ñ5Ô5Ð5Ø×Ò˜Ô*¨DÑ1Ô1Ð1õ ”z‘|”|ˆØ
�Š˜Ñ%Ô%Ð%Ø
�Š‰
Œ
ˆ
Ø
�Š‰
Œ
ˆ
ð �lÑ"ˆÝ×Ò  Ñ%Ô%Ð%Ý‰ZŒZˆØ
�Š�‰ŒˆØ
�Š‰	Œ	ˆ	Ø
�Š‰
Œ
ˆ
à×Ò�˜RœY™œ¨Ñ+Ô+Ð+Ø×Ò˜Ô/°Ñ6Ô6Ð6Ø×Ò˜Ô*¨DÑ1Ô1Ð1õ ”z‘|”|ˆØ
�Š˜Ñ%Ô%Ð%Ø
�Š‰
Œ
ˆ
Ø
�Š‰
Œ
ˆ
ð �lÑ"ˆå×Ò  Ñ%Ô%Ð%Ý‰ZŒZˆØ
�Š�‰ŒˆØ
�Š‰	Œ	ˆ	Ø
�Š‰
Œ
ˆ
à×Ò�˜RœY™œ¨Ñ+Ô+Ð+Ø×Ò˜Ô/°Ñ6Ô6Ð6Ø×Ò˜Ô*¨DÑ1Ô1Ð1õ ”z‘|”|ˆØ
�Š˜Ñ%Ô%Ð%Ø
�Š‰
Œ
ˆ
Ø
�Š‰
Œ
ˆ
ð �lÑ"ˆÝ×Ò  Ñ%Ô%Ð%Ý‰ZŒZˆØ
�Š�‰ŒˆØ
�Š‰	Œ	ˆ	Ø
�Š‰
Œ
ˆ
à×Ò�˜RœY™œ¨Ñ,Ô,Ð,Ø×Ò˜Ô/°Ñ5Ô5Ð5Ø×Ò˜Ô*¨DÑ1Ô1Ð1õ ”z‘|”|ˆØ
�Š˜Ñ%Ô%Ð%Ø
�Š‰
Œ
ˆ
Ø
�Š‰
Œ
ˆ
ˆ
ˆ
r/   c                 óÊ  — t          j        ¦   «         dz  dz  }|dz  }t                               |g¦  «         t	          ¦   «         }|                     |¦  «         |                     ¦   «          |                     ¦   «          |j        d         }|  	                    |j
        d¦  «         |  	                    t          |j        ¦  «        d¦  «         d}|t          |j        ¦  «        dz
  k     rq|                      |j        |         t          ¦  «         |                      |j        |dz            t          ¦  «         |dz  }|t          |j        ¦  «        dz
  k     °od S d S )	Nr>   r"   r?   r-   éÿ   ét   r   r@   )r   rE   rF   rG   r   rH   rI   rJ   r2   r6   ÚlengthrK   ÚeventsÚassertIsInstancer   r   )r7   rQ   rR   r8   Útrack2Úis         r;   ÚtestInternalDataModelzTest.testInternalDataModel™   sC  € ÝÔ)Ñ+Ô+¨fÑ4°ÑFˆØ�lÑ"ˆå×Ò  Ñ%Ô%Ð%Ý‰ZŒZˆØ
�Š�‰ŒˆØ
�Š‰	Œ	ˆ	Ø
�Š‰
Œ
ˆ
à”˜1”ˆð 	×Ò˜œ¨Ñ,Ô,Ð,ð 	×Ò�˜Vœ]Ñ+Ô+¨SÑ1Ô1Ð1àˆØ•#�f”mÑ$Ô$ qÑ(Ò(Ð(Ø×!Ò! &¤-°Ô"2µIÑ>Ô>Ð>Ø×!Ò! &¤-°°A±Ô"6½	ÑBÔBÐBð �‰FˆAð •#�f”mÑ$Ô$ qÑ(Ò(Ð(Ð(Ð(Ð(Ð(r/   c                 óT  — t          d¦  «        }g d¢g d¢g d¢g d¢g}d}d}|D �]\  }}}t          |¦  «        }||z
  |_        |j                             |¦  «         t          |¦  «        }	t          j        |	_        d|	_	        ||	_
        ||	_        |j                             |	¦  «         t          |¦  «        }||_        |j                             |¦  «         t          |¦  «        }	t          j        |	_        d|	_	        ||	_
        d|	_        |j                             |	¦  «         ||z   }||z  }�Œt          |¦  «        }|j                             |¦  «         t          |¦  «        }	t          j        |	_        d|	_	        d|	_        |j                             |	¦  «         t          ¦   «         }
d|
_        |
j                             |¦  «         t%          j        ¦   «         }|
                     |¦  «         |
                     ¦   «          |
                     ¦   «          d S )	Nr-   ©rB   é<   éZ   )rB   é2   éF   )rB   é3   éx   )rB   é>   éP   r   r/   rB   )r   r   ÚtimerY   r3   r   r   ÚNOTE_ONÚtypeÚchannelÚpitchÚvelocityr   ÚEND_OF_TRACKÚdatar   r4   r2   rM   rN   rO   rP   rJ   )r7   Úmtro   ÚtimeNowÚtLastÚdÚpÚvÚdtÚmer8   rS   s               r;   ÚtestBasicExportzTest.testBasicExport¸   sû  € Ý�q‰\Œ\ˆà��Ø��Ø��Ø��ð ˆð ˆØˆØð 	ñ 	‰GˆAˆq�!Ý˜2‘”ˆBØ ‘oˆBŒGàŒI×Ò˜RÑ Ô Ð å˜2‘”ˆBÝ*Ô2ˆBŒGØˆBŒJØˆBŒHØˆBŒKØŒI×Ò˜RÑ Ô Ð õ ˜2‘”ˆBØˆBŒGàŒI×Ò˜RÑ Ô Ð å˜2‘”ˆBÝ*Ô2ˆBŒGØˆBŒJØˆBŒHØˆBŒKØŒI×Ò˜RÑ Ô Ð à˜a‘KˆEØ�q‰LˆG‰Gõ �r‰]Œ]ˆØ
Œ	×Ò˜ÑÔÐå�r‰]Œ]ˆÝÔ)ˆŒØˆŒ
ØˆŒØ
Œ	×Ò˜ÑÔÐõ
 ‰ZŒZˆØ!%ˆÔØ
Œ	×Ò˜ÑÔÐå”z‘|”|ˆà
�Š˜Ñ%Ô%Ð%Ø
�Š‰
Œ
ˆ
Ø
�Š‰
Œ
ˆ
ˆ
ˆ
r/   c                 óÀ   — t          d¦  «        }t          |¦  «        }|                     d¦  «         |                     d¦  «         |                     d¦  «         d S )Nr-   r   éÈ   i8ÿÿÿ)r   r   ÚsetPitchBend)r7   rp   rw   s      r;   ÚtestSetPitchBendzTest.testSetPitchBendõ   sT   € Ý�q‰\Œ\ˆÝ�r‰]Œ]ˆØ
�Š˜ÑÔÐØ
�Š˜ÑÔÐØ
�Š˜ÑÔÐÐÐr/   c                 ó˜  — t          d¦  «        }g d¢}|d„ |D ¦   «         z  }g d¢gdz  }d}d}t          |¦  «        D �]…\  }}|\  }}	}
t          |¦  «        }||z
  |_        |j                             |¦  «         t          |t          j        d¬¦  «        }| 	                    ||         ¦  «         |j                             |¦  «         t          |¦  «        }||z
  |_        |j                             |¦  «         t          |t          j
        d¬¦  «        }|	|_        |
|_        |j                             |¦  «         t          |¦  «        }||_        |j                             |¦  «         t          |t          j
        d¬¦  «        }|	|_        d|_        |j                             |¦  «         ||z   }||z  }�Œ‡t          |¦  «        }|j                             |¦  «         t          |¦  «        }t          j        |_        d|_        d|_        |j                             |¦  «         |                     d	¦  «         t'          ¦   «         }d
|_        |j                             |¦  «         t-          j        ¦   «         }|                     |¦  «         |                     ¦   «          |                     ¦   «          d S )Nr-   )
r   é   r   rb   r   éd   r   é–   r   rz   c                 ó   — g | ]}| ‘ŒS © r‚   ©Ú.0Úxs     r;   ú
<listcomp>z,Test.testWritePitchBendA.<locals>.<listcomp>  s   € Ð*Ð*Ð*˜A�a�RÐ*Ð*Ð*r/   r_   é   r   )rj   rk   r/   é   rB   )r   Ú	enumerater   rh   rY   r3   r   r   Ú
PITCH_BENDr{   ri   rl   rm   r   rn   rj   rk   ro   Ú
setChannelr   r4   r2   rM   rN   rO   rP   rJ   )r7   rp   ÚpbValuesro   rq   rr   r\   Úers   rt   ru   rv   rw   r8   rS   s                  r;   ÚtestWritePitchBendAzTest.testWritePitchBendAü   s˜  € Ý�q‰\Œ\ˆð :Ð9Ð9ˆØÐ*Ð* Ð*Ñ*Ô*Ñ*ˆð ��Ð "Ñ$ˆØˆØˆÝ˜d‘O”Oð #	ñ #	‰DˆAˆqØ‰GˆAˆq�!å˜2‘”ˆBØ ‘oˆBŒGàŒI×Ò˜RÑ Ô Ð å˜2Õ$8Ô$CÈQÐOÑOÔOˆBà�OŠO˜H QœKÑ(Ô(Ð(ØŒI×Ò˜RÑ Ô Ð å˜2‘”ˆBØ ‘oˆBŒGàŒI×Ò˜RÑ Ô Ð å˜2Õ$8Ô$@È!ÐLÑLÔLˆBØˆBŒHØˆBŒKØŒI×Ò˜RÑ Ô Ð õ ˜2‘”ˆBØˆBŒGàŒI×Ò˜RÑ Ô Ð å˜2Õ$8Ô$@È!ÐLÑLÔLˆBØˆBŒHØˆBŒKØŒI×Ò˜RÑ Ô Ð à˜a‘KˆEØ�q‰LˆG‰Gõ �r‰]Œ]ˆØ
Œ	×Ò˜ÑÔÐå�r‰]Œ]ˆÝÔ)ˆŒØˆŒ
ØˆŒØ
Œ	×Ò˜ÑÔÐð 	�Š�aÑÔÐå‰ZŒZˆØ!%ˆÔØ
Œ	×Ò˜ÑÔÐå”z‘|”|ˆà
�Š˜Ñ%Ô%Ð%Ø
�Š‰
Œ
ˆ
Ø
�Š‰
Œ
ˆ
ˆ
ˆ
r/   c                 óÎ  — t          j        ¦   «         dz  dz  }|dz  }t          j        |¦  «        }|                      t          |j        ¦  «        d¦  «         |                      t          |j        d                              ¦   «         j        ¦  «        d¦  «         |                      t          |j        d                              ¦   «         j        ¦  «        d¦  «         d S )	Nr>   r"   z
test09.midr@   r   i¾  r-   iX  )	r   rE   r   Úparser6   rK   ÚpartsÚrecurseÚnotes©r7   rQ   rR   Úss       r;   ÚtestImportWithRunningStatusz Test.testImportWithRunningStatusG  s¿   € ÝÔ)Ñ+Ô+¨fÑ4°ÑFˆØ�lÑ"ˆõ ŒO˜BÑÔˆØ×Ò�˜QœW™œ qÑ)Ô)Ð)Ø×Ò�˜QœW QœZ×/Ò/Ñ1Ô1Ô7Ñ8Ô8¸#Ñ>Ô>Ð>Ø×Ò�˜QœW QœZ×/Ò/Ñ1Ô1Ô7Ñ8Ô8¸#Ñ>Ô>Ð>Ð>Ð>r/   c                 óÔ  — t          ¦   «         }|                     d¦  «         t          ¦   «         }t          j        |_        d|_        d|_        d|_        |j	         
                    t          |j	        ¦  «        dz
  |j	        d         ¦  «         |j	         
                    t          |j	        ¦  «        dz
  |¦  «         t          ¦   «         }|g|_        |                     ¦   «         }t          ¦   «         }|                     |¦  «         d„ |j        d         j	        D ¦   «         d         }|                      |j        d¦  «         |                      |j        d¦  «         d S )	Ns   MTrk    ÿ  à @ �CZˆ €C ˆ ÿ/ r-   r`   ra   r@   éþÿÿÿc                 ó<   — g | ]}|j         t          j        k    ¯|‘ŒS r‚   )rj   r   ÚPOLYPHONIC_KEY_PRESSURE©r„   r�   s     r;   r†   z6Test.testReadPolyphonicKeyPressure.<locals>.<listcomp>i  s5   € ð Xð Xð X 1Ø !¤Õ*>Ô*VÒ VÐ Vð Ø VÐ VÐ Vr/   r   )r   rI   r   r   rš   rj   rk   Ú
parameter1Ú
parameter2rY   ÚinsertrK   r   r2   ÚwritestrÚreadstrr6   )r7   rp   ÚpressureÚwritingFileÚbyteStrÚreadingFileÚpressureEventReads          r;   ÚtestReadPolyphonicKeyPressurez"Test.testReadPolyphonicKeyPressureU  sY  € Ý‰[Œ[ˆà
�Šð Kñ 	Lô 	Lð 	Lõ ‘;”;ˆÝ,ÔDˆŒØˆÔØ ˆÔØ ˆÔØ
Œ	×Ò�˜RœY™œ¨!Ñ+¨R¬Y°r¬]Ñ;Ô;Ð;Ø
Œ	×Ò�˜RœY™œ¨!Ñ+¨XÑ6Ô6Ð6å‘j”jˆØ ˜TˆÔØ×&Ò&Ñ(Ô(ˆÝ‘j”jˆØ×Ò˜GÑ$Ô$Ð$ðXð X¨Ô(:¸1Ô(=Ô(Dð Xñ Xô XØXYô[Ðà×ÒÐ*Ô5°rÑ:Ô:Ð:Ø×ÒÐ*Ô5°rÑ:Ô:Ð:Ð:Ð:r/   c                 óü   — t          ¦   «         }|                     d¦  «         |                      t          |j        ¦  «        d¦  «         |                      |j        d         j        t          j        ¦  «         d S )Ns    ÿDUMMY  ÿ
Myut  ÿXé   rˆ   )r   ÚprocessDataToEventsr6   rK   rY   rj   r   ÚUNKNOWN)r7   rp   s     r;   ÚtestReadUnknownMetaMessagezTest.testReadUnknownMetaMessagen  sr   € Ý‰[Œ[ˆØ
×Òð  Bñ 	Cô 	Cð 	Cà×Ò�˜RœY™œ¨Ñ+Ô+Ð+Ø×Ò˜œ 1œÔ*­JÔ,>Ñ?Ô?Ð?Ð?Ð?r/   c                 óô   — g }|                      d¦  «         g }|                      |¦  «         t          |¬¦  «        }|                      |dt          d¦  «        z   dz   t          d¦  «        z   ¦  «         d S )Nz
0 90 1f 15)ÚtracksEventsListr0   Ú000000060001000103c0s   MTrkÚ0000000400901f0f)r3   r   r6   r   )r7   ÚasciiMidiEventListÚ	midiTrackr:   s       r;   Ú!testMidiAsciiStringToBinaryStringz&Test.testMidiAsciiStringToBinaryStringw  sž   € àÐØ×!Ò! ,Ñ/Ô/Ð/ð ˆ	Ø×ÒÐ+Ñ,Ô,Ð,õ 3ÀIÐNÑNÔNˆ
à×Ò˜Ø ¥7Ð+AÑ#BÔ#BÑBØ"ñ#Ý%,Ð-?Ñ%@Ô%@ñAñ	Bô 	Bð 	Bð 	Bð 	Br/   c                 ó’  — t          j        d¦  «        }d|_        t          |¦  «        }|                      t          |¦  «        d¦  «         |                      |d         t          ¦  «         |                      |d         t          ¦  «         |                      |d         t          ¦  «         |                      |d         t          ¦  «         t          t          |d         j        |d         j        |d         ¦  «        ¦  «        }|                      |j        j        d¦  «         |                      |j        d¦  «         d S )NÚA4g       @rC   r   r-   r@   rˆ   )r#   ÚNoteÚquarterLengthr   r6   rK   rZ   r   r   r   r   rh   rl   ÚnameWithOctave)r7   Ún1Ú	eventListÚn2s       r;   ÚtestNotezTest.testNote’  s  € ÝŒY�t‰_Œ_ˆØˆÔÝ$ RÑ(Ô(ˆ	à×Ò�˜Y™œ¨Ñ+Ô+Ð+Ø×Ò˜i¨œl­IÑ6Ô6Ð6Ø×Ò˜i¨œl­IÑ6Ô6Ð6Ø×Ò˜i¨œl­IÑ6Ô6Ð6Ø×Ò˜i¨œl­IÑ6Ô6Ð6õ �n¨Y°q¬\Ô->À	È!ÄÔ@QÐS\Ð]^ÔS_Ñ`Ô`ÑaÔaˆØ×Ò˜œÔ0°$Ñ7Ô7Ð7Ø×Ò˜Ô)¨3Ñ/Ô/Ð/Ð/Ð/r/   c                 óò  — t          j        ¦   «         }t          j        dd¬¦  «        }t	          j        d¦  «        |_        t          j        dd¬¦  «        }t	          j        d¦  «        |_        t          j        dd¬¦  «        }t          j        dd¬¦  «        }|                     ||||g¦  «         t          |¦  «        d         }d„ |j        D ¦   «         }|  	                    |t          j        t          j        gdz  ¦  «         |                     d	¬
¦  «         t          |¦  «        d         }d„ |j        D ¦   «         }|  	                    |t          j        t          j        gdz  ¦  «         d S )NÚC4ç      ð?©r¶   ÚstartÚstopr-   c                 óZ   — g | ](}|j         t          j        t          j        fv ¯!|j         ‘Œ)S r‚   ©rj   r   ri   ÚNOTE_OFF©r„   Úevents     r;   r†   z&Test.testStripTies.<locals>.<listcomp>®  óT   € ð "Jð "Jð "J°ÈÌ
Ý Ô(Õ*>Ô*GðWIð IIð II %¤*ð IIð IIð IIr/   rˆ   T)ÚinPlacec                 óZ   — g | ](}|j         t          j        t          j        fv ¯!|j         ‘Œ)S r‚   rÃ   rÅ   s     r;   r†   z&Test.testStripTies.<locals>.<listcomp>º  rÇ   r/   )r&   ÚStreamr#   rµ   r(   ÚTier3   r   rY   ÚassertListEqualr   ri   rÄ   ÚmakeMeasures)	r7   r•   Únrº   Ún3Ún4r9   Úmt1noteOnOffEventTypesÚmt2noteOnOffEventTypess	            r;   ÚtestStripTieszTest.testStripTies¢  s›  € åŒM‰OŒOˆÝŒI�d¨#Ð.Ñ.Ô.ˆÝ”˜Ñ Ô ˆŒÝŒY�t¨3Ð/Ñ/Ô/ˆÝ”˜‘”ˆŒÝŒY�t¨3Ð/Ñ/Ô/ˆÝŒY�t¨3Ð/Ñ/Ô/ˆØ	�Š�!�R˜˜R�Ñ!Ô!Ð!å)¨!Ñ,Ô,¨QÔ/ˆð"Jð "J¸#¼*ð "Jñ "Jô "JÐð
 	×ÒÐ3Ý2Ô:Ý2Ô;ð=Ø?@ñAñ	Bô 	Bð 	Bð
 	
�Š˜tˆÑ$Ô$Ð$Ý)¨!Ñ,Ô,¨QÔ/ˆð"Jð "J¸#¼*ð "Jñ "Jô "JÐð 	×ÒÐ3Ý2Ô:Ý2Ô;ð=Ø?@ñAñ	Bô 	Bð 	Bð 	Bð 	Br/   c                 óº  — t          j        ¦   «         }d|_        t          j        ¦   «         }t          d¦  «        D ])}|                     t          j        |¦  «        ¦  «         Œ*| 	                    dt          j        d¦  «        ¦  «         | 	                    dt          j        d¦  «        ¦  «         | 	                    dt          j        d¦  «        ¦  «         t          |¦  «        d         }|                      t          |j        ¦  «        d	¦  «         t!          |j        ¦  «        }d
}|                      t%          j        ||¦  «        |¦  «         d S )Nç      à?r‡   r   ú3/4rˆ   ú5/4é   ú2/4é
   a{  [<music21.midi.DeltaTime (empty) track=0>,
        <music21.midi.MidiEvent SET_TEMPO, track=0, data=b'\x07\xa1 '>,
        <music21.midi.DeltaTime (empty) track=0>,
        <music21.midi.MidiEvent TIME_SIGNATURE, track=0, data=b'\x03\x02\x18\x08'>,
        <music21.midi.DeltaTime t=30240, track=0>,
        <music21.midi.MidiEvent TIME_SIGNATURE, track=0, data=b'\x05\x02\x18\x08'>,
        <music21.midi.DeltaTime t=50400, track=0>,
        <music21.midi.MidiEvent TIME_SIGNATURE, track=0, data=b'\x02\x02\x18\x08'>,
        <music21.midi.DeltaTime t=10080, track=0>,
        <music21.midi.MidiEvent END_OF_TRACK, track=0, data=b''>])r#   rµ   r¶   r&   rÊ   Úranger3   ÚcopyÚdeepcopyrž   r   ÚTimeSignaturer   r6   rK   rY   ÚreprÚ
assertTruer   ÚwhitespaceEqual)r7   rÎ   r•   r\   rp   ÚconductorEventsÚmatchs          r;   ÚtestTimeSignaturezTest.testTimeSignatureÁ  s   € ÝŒI‰KŒKˆØˆŒÝŒM‰OŒOˆÝ�r‘”ð 	'ð 	'ˆAØ�HŠH•T”] 1Ñ%Ô%Ñ&Ô&Ð&Ð&à	�Š�•EÔ'¨Ñ.Ô.Ñ/Ô/Ð/Ø	�Š�•EÔ'¨Ñ.Ô.Ñ/Ô/Ð/Ø	�Š�•EÔ'¨Ñ.Ô.Ñ/Ô/Ð/å(¨Ñ+Ô+¨AÔ.ˆà×Ò�˜RœY™œ¨Ñ,Ô,Ð,õ ˜rœy™/œ/ˆð	Eˆð 	�Š�Ô.¨ÀÑFÔFÈÑXÔXÐXÐXÐXr/   c                 ó,  — t          j        ¦   «         }d|_        t          j        ¦   «         }t          d¦  «        D ])}|                     t          j        |¦  «        ¦  «         Œ*| 	                    dt          j        d¦  «        ¦  «         | 	                    dt          j        d¦  «        ¦  «         | 	                    dt          j        d¦  «        ¦  «         | 	                    dt          j        d	¦  «        ¦  «         | 	                    dt          j        d
¦  «        ¦  «         | 	                    dt          j        d¦  «        ¦  «         t          |¦  «        d         }|                      t!          |j        ¦  «        d¦  «         d S )NrÕ   r‡   r   rÖ   rˆ   r×   rØ   rÙ   rC   éûÿÿÿr¨   é   )r#   rµ   r¶   r&   rÊ   rÛ   r3   rÜ   rÝ   rž   r   rÞ   r   ÚKeySignaturer   r6   rK   rY   )r7   rÎ   r•   r\   Ú	conductors        r;   ÚtestKeySignaturezTest.testKeySignatureã  sF  € ÝŒI‰KŒKˆØˆŒÝŒM‰OŒOˆÝ�r‘”ð 	'ð 	'ˆAØ�HŠH•T”] 1Ñ%Ô%Ñ&Ô&Ð&Ð&à	�Š�•EÔ'¨Ñ.Ô.Ñ/Ô/Ð/Ø	�Š�•EÔ'¨Ñ.Ô.Ñ/Ô/Ð/Ø	�Š�•EÔ'¨Ñ.Ô.Ñ/Ô/Ð/à	�Š�•CÔ$ QÑ'Ô'Ñ(Ô(Ð(Ø	�Š�•CÔ$ RÑ(Ô(Ñ)Ô)Ð)Ø	�Š�•CÔ$ QÑ'Ô'Ñ(Ô(Ð(å/°Ñ2Ô2°1Ô5ˆ	Ø×Ò�˜YÔ-Ñ.Ô.°Ñ3Ô3Ð3Ð3Ð3r/   c                 ó  — t           j        t           j        t           j        t           j        t           j        t           j        t           j        g}g }t          j	        ¦   «         }t          |¦  «        D ]Š\  }}t          j        ¦   «         } |¦   «         }|                     |¦  «         |                     d|¦  «         |                     t          j        d¦  «        ¦  «         |                     d|¦  «         Œ‹t!          |¦  «        \  }}	|                      |                     ¦   «         t'          d„ |D ¦   «         ¦  «        ¦  «         |                      t'          |                     ¦   «         ¦  «        h d£¦  «         |                      |	g d¢¦  «         t/          t1          dd¦  «        ¦  «        }
t!          ||
¬¦  «        \  }}	|                      |                     ¦   «         t'          d	„ |D ¦   «         ¦  «        ¦  «         |                      t'          |                     ¦   «         ¦  «        h d
£¦  «         |                      |	dg¦  «         t          |¦  «        D ]\  }}d|z
  |_        Œt!          |¦  «        \  }}	|                      |                     ¦   «         t'          d„ |D ¦   «         ¦  «        ¦  «         |                      t'          |                     ¦   «         ¦  «        h d£¦  «         |                      |	g d¢¦  «         d|d         _        d}|dz  }|dz  }|                      t6          |¦  «        5  t!          |¦  «        \  }}	d d d ¦  «         n# 1 swxY w Y   |                      |                     ¦   «         t'          d„ |D ¦   «         ¦  «        ¦  «         |                      t'          |                     ¦   «         ¦  «        h d£¦  «         |                      |	g d¢¦  «         d S )Nr   úC#c              3   ó$   K  — | ]}|j         V — Œd S ©N©ÚmidiProgram©r„   Úinsts     r;   ú	<genexpr>z-Test.testChannelAllocation.<locals>.<genexpr>  ó%   è è € Ð8\Ð8\Èd¸Ô9IÐ8\Ð8\Ð8\Ð8\Ð8\Ð8\r/   >   r-   r@   rˆ   rC   rA   rÚ   )
r¨   é   rØ   é	   é   é   é   é   é   rç   r÷   é   )ÚacceptableChannelListc              3   ó$   K  — | ]}|j         V — Œd S rî   rï   rñ   s     r;   ró   z-Test.testChannelAllocation.<locals>.<genexpr>  rô   r/   >   rÚ   r÷   rø   rù   rú   rû   rç   rû   c              3   ó$   K  — | ]}|j         V — Œd S rî   rï   rñ   s     r;   ró   z-Test.testChannelAllocation.<locals>.<genexpr>   rô   r/   >   r÷   rø   rù   rú   rû   rç   )	r-   r@   rˆ   rC   rA   r¨   rõ   rØ   rö   r   z5Harpsichord specified 1-indexed MIDI channel 101 but zPacceptable channels were \[1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16\]. zDefaulting to channel 1.c              3   ó$   K  — | ]}|j         V — Œd S rî   rï   rñ   s     r;   ró   z-Test.testChannelAllocation.<locals>.<genexpr>+  rô   r/   >   r-   r÷   rø   rù   rú   rû   )	r@   rˆ   rC   rA   r¨   rõ   rØ   rö   rç   )r	   ÚHarpsichordÚViolaÚElectricGuitarÚFluteÚ
VibraphoneÚBassDrumÚHiHatCymbalr&   ÚScorer‰   ÚPartr3   rž   r#   rµ   r   r6   ÚkeysÚsetÚassertSetEqualÚvaluesrÌ   ÚlistrÛ   ÚmidiChannelÚassertWarnsRegexr   )r7   ÚiListÚiObjsr•   r\   Ú	instClassrt   rò   ÚchannelByInstrumentÚchannelsDynamicÚaclÚiObjÚwants                r;   ÚtestChannelAllocationzTest.testChannelAllocation÷  s/  € åÔ'ÝÔ!ÝÔ*ÝÔ!ÝÔ&ÝÔ$ÝÔ'ðˆð ˆåŒL‰NŒNˆÝ% eÑ,Ô,ð 	ð 	‰LˆAˆyÝ”‘”ˆAØ�9‘;”;ˆDØ�LŠL˜ÑÔÐØ�HŠH�Q˜ÑÔÐØ�HŠH•T”Y˜t‘_”_Ñ%Ô%Ð%Ø�HŠH�Q˜‰NŒNˆNˆNå/DÀQÑ/GÔ/GÑ,Ð˜_ð 	×ÒÐ,×1Ò1Ñ3Ô3µSÐ8\Ð8\ÐV[Ð8\Ñ8\Ô8\Ñ5\Ô5\Ñ]Ô]Ð]Ø×Ò�CÐ 3× :Ò :Ñ <Ô <Ñ=Ô=Ð?RÐ?RÐ?RÑSÔSÐSØ×Ò˜_Ð.RÐ.RÐ.RÑSÔSÐSõ •5˜˜R‘=”=Ñ!Ô!ˆÝ/DÀQÐ^aÐ/bÑ/bÔ/bÑ,Ð˜_Ø×ÒÐ,×1Ò1Ñ3Ô3µSÐ8\Ð8\ÐV[Ð8\Ñ8\Ô8\Ñ5\Ô5\Ñ]Ô]Ð]Ø×Ò�CÐ 3× :Ò :Ñ <Ô <Ñ=Ô=Ð?WÐ?WÐ?WÑXÔXÐXØ×Ò˜_¨r¨dÑ3Ô3Ð3õ ! Ñ'Ô'ð 	&ð 	&‰GˆAˆtØ! A™vˆDÔÐå/DÀQÑ/GÔ/GÑ,Ð˜_à×ÒÐ,×1Ò1Ñ3Ô3µSÐ8\Ð8\ÐV[Ð8\Ñ8\Ô8\Ñ5\Ô5\Ñ]Ô]Ð]Ø×Ò�CÐ 3× :Ò :Ñ <Ô <Ñ=Ô=Ð?WÐ?WÐ?WÑXÔXÐXØ×Ò˜_Ð.IÐ.IÐ.IÑJÔJÐJð  #ˆˆaŒÔØFˆØÐcÑcˆØÐ*Ñ*ˆØ×"Ò"Õ#3°TÑ:Ô:ð 	Lð 	LÝ3HÈÑ3KÔ3KÑ0Ð ð	Lð 	Lð 	Lñ 	Lô 	Lð 	Lð 	Lð 	Lð 	Lð 	Lð 	Løøøð 	Lð 	Lð 	Lð 	Là×ÒÐ,×1Ò1Ñ3Ô3µSÐ8\Ð8\ÐV[Ð8\Ñ8\Ô8\Ñ5\Ô5\Ñ]Ô]Ð]Ø×Ò�CÐ 3× :Ò :Ñ <Ô <Ñ=Ô=Ð?VÐ?VÐ?VÑWÔWÐWØ×Ò˜_Ð.JÐ.JÐ.JÑKÔKÐKÐKÐKs   ÍM/Í/M3Í6M3c           
      óº  — d t           j        t           j        t           j        t           j        d g}g }g }t          |¦  «        D ]‘\  }}t          j        ¦   «         }|�5 |¦   «         }|                     |¦  «         | 	                    d|¦  «         |dk    r'|                     t          j        d¦  «        ¦  «         |                     |¦  «         Œ’t          |d¬¦  «        }|                      |t          ¦  «         |                      t!          |                     ¦   «         ¦  «        g d¢¦  «         |d         }	|                      |	t          ¦  «         |                      t'          |	                     ¦   «         ¦  «        ddh¦  «         |                      |	d         |d         ¦  «         |                      |	d         t           ¦  «         |                      |	d         ¦  «         |                      |	d         d         t          ¦  «         |d         j        d|d         j        d	|d	         j        d
|d
         j        dd di}
t/          ||
¦  «         |                      t'          |	                     ¦   «         ¦  «        h d£¦  «         |                      |	d         d¦  «         |                      |	d         d         d         d¦  «         d S )Nr   rì   F)ÚaddStartDelay)r   r-   r@   rˆ   rC   rA   r-   Ú
rawPacketsÚinitInstrumentr@   rˆ   rC   rA   >   r  ÚinitChannelr  r  éÿÿÿÿ)r	   r  r  r  r  r‰   r&   r	  r3   rž   r#   rµ   r   rZ   Údictr6   r  r
  r  r  ÚassertIsrà   rð   r!   )r7   r  r  ÚsubstreamListr\   r  rt   rò   ÚpacketStorageÚharpsPacketÚchannelInfos              r;   ÚtestPacketStoragezTest.testPacketStorage/  s»  € àÝÔ'ÝÔ!ÝÔ*ÝÔ!Øðˆð ˆàˆÝ% eÑ,Ô,ð 	$ð 	$‰LˆAˆyÝ”‘”ˆAØÐ$Ø �y‘{”{�Ø—’˜TÑ"Ô"Ð"Ø—’˜˜DÑ!Ô!Ð!Ø�AŠvˆvØ—’�œ 4™œÑ)Ô)Ð)Ø× Ò  Ñ#Ô#Ð#Ð#å6°}ÐTYÐZÑZÔZˆØ×Ò˜m­TÑ2Ô2Ð2Ø×Ò�˜m×0Ò0Ñ2Ô2Ñ3Ô3Ð5GÐ5GÐ5GÑHÔHÐHà# AÔ&ˆØ×Ò˜k­4Ñ0Ô0Ð0Ø×Ò�C × 0Ò 0Ñ 2Ô 2Ñ3Ô3Ø)Ð+;Ð<ñ	>ô 	>ð 	>à�Š�kÐ"2Ô3°U¸1´XÑ>Ô>Ð>Ø×Ò˜k¨,Ô7½Ñ>Ô>Ð>Ø�Š˜ LÔ1Ñ2Ô2Ð2Ø×Ò˜k¨,Ô7¸Ô:½DÑAÔAÐAð �!ŒHÔ  !Ø�!ŒHÔ  !Ø�!ŒHÔ  !Ø�!ŒHÔ  !Ø�!ð
ˆõ 	+¨=¸+ÑFÔFÐFØ×Ò�C × 0Ò 0Ñ 2Ô 2Ñ3Ô3ØKÐKÐKñ	Mô 	Mð 	Mà×Ò˜ ]Ô3°QÑ7Ô7Ð7Ø×Ò˜ \Ô2°2Ô6°}ÔEÀqÑIÔIÐIÐIÐIr/   c                 óø  — t          j        d¦  «        }|j        d         }t          |¦  «        d         }d}d | _        t          |j        d d…         ¦  «        }|                      t          j	        ||¦  «        |¦  «         d}|j        d         }t          |¦  «        d         }t          |j        d d…         ¦  «        }|                      t          j	        ||¦  «        |¦  «         |j        d         }t          |¦  «        }|  
                    t          |¦  «        d	¦  «         d
}t          |d         j        d d…         ¦  «        }|                      t          j	        ||¦  «        |¦  «         d S )Nzbach/bwv103.6z#sopranor-   aI  
        [<music21.midi.DeltaTime (empty) track=1>,
         <music21.midi.MidiEvent SEQUENCE_TRACK_NAME, track=1, data=b'Soprano'>,
         <music21.midi.DeltaTime (empty) track=1>,
         <music21.midi.MidiEvent PITCH_BEND, track=1, channel=1, parameter1=0, parameter2=64>,
         <music21.midi.DeltaTime (empty) track=1>]rA   a  
        [<music21.midi.DeltaTime (empty) track=1>,
        <music21.midi.MidiEvent SEQUENCE_TRACK_NAME, track=1, data=b'Alto'>,
        <music21.midi.DeltaTime (empty) track=1>,
        <music21.midi.MidiEvent PITCH_BEND, track=1, channel=1, parameter1=0, parameter2=64>,
        <music21.midi.DeltaTime (empty) track=1>,
        <music21.midi.MidiEvent PROGRAM_CHANGE, track=1, channel=1, data=0>,
        <music21.midi.DeltaTime (empty) track=1>,
        <music21.midi.MidiEvent NOTE_ON, track=1, channel=1, pitch=62, velocity=90>]z#altorØ   r@   a  [<music21.midi.DeltaTime (empty) track=1>,
        <music21.midi.MidiEvent SEQUENCE_TRACK_NAME, track=1, data=b'Soprano'>,
        <music21.midi.DeltaTime (empty) track=1>,
        <music21.midi.MidiEvent PITCH_BEND, track=1, channel=1, parameter1=0, parameter2=64>,
        <music21.midi.DeltaTime (empty) track=1>,
        <music21.midi.MidiEvent PROGRAM_CHANGE, track=1, channel=1, data=0>,
        <music21.midi.DeltaTime (empty) track=1>,
        <music21.midi.MidiEvent LYRIC, track=1, data=b'1. Was\nzu\n2. Ich\nwas'>,
        <music21.midi.DeltaTime (empty) track=1>,
        <music21.midi.MidiEvent NOTE_ON, track=1, channel=1, pitch=66, velocity=90>,
        <music21.midi.DeltaTime t=5040, track=1>,
        <music21.midi.MidiEvent NOTE_OFF, track=1, channel=1, pitch=66, velocity=0>]rø   )r   r�   r‘   r   ÚmaxDiffÚstrrY   rà   r   rá   r6   rK   )	r7   r•   ÚsopranoÚmtsrã   ÚfoundÚaltoÚmtaÚmtLists	            r;   ÚtestAnacrusisTimingzTest.testAnacrusisTiming_  s^  € ÝŒL˜Ñ)Ô)ˆð ”'˜*Ô%ˆÝ)¨'Ñ2Ô2°1Ô5ˆð6ˆð ˆŒÝ�C”J˜r ˜r”NÑ#Ô#ˆØ�Š�Ô.¨u°eÑ<Ô<¸eÑDÔDÐDðXˆð Œw�wÔˆÝ)¨$Ñ/Ô/°Ô2ˆå�C”J˜r ˜r”NÑ#Ô#ˆØ�Š�Ô.¨u°eÑ<Ô<¸eÑDÔDÐDð ”'˜*Ô%ˆÝ,¨WÑ5Ô5ˆØ×Ò�˜V™œ aÑ(Ô(Ð(ðXˆõ �F˜1”IÔ$ S b SÔ)Ñ*Ô*ˆØ�Š�Ô.¨u°eÑ<Ô<¸eÑDÔDÐDÐDÐDr/   c                 ó   — t          j        ¦   «         }|                     t          j        ¦   «         ¦  «         |                     t          j        dd¬¦  «        d¦  «         t          j        ¦   «         }|                     t          j        ¦   «         ¦  «         |                     t          j        dd¬¦  «        d¦  «         t          j        ¦   «         }|                     t          j	        ¦   «         ¦  «         |                     t          j        dd¬¦  «        d¦  «         t          j
        ¦   «         }|                     d	|¦  «         |                     d	|¦  «         |                     d	|¦  «         t          |¦  «         d S )
NÚg6ç      ø?r¿   rC   Úc1r@   Úe4r-   r   )r&   r	  r3   r	   ÚDulcimerÚrepeatAppendr#   rµ   ÚTubaÚTubularBellsr  rž   r   )r7   Úp1Úp2Úp3r•   s        r;   ÚtestMidiProgramChangeAzTest.testMidiProgramChangeA™  s.  € ÝŒ[‰]Œ]ˆØ
�	Š	•*Ô%Ñ'Ô'Ñ(Ô(Ð(Ø
�Š�œ	 $°cÐ:Ñ:Ô:¸AÑ>Ô>Ð>åŒ[‰]Œ]ˆØ
�	Š	•*”/Ñ#Ô#Ñ$Ô$Ð$Ø
�Š�œ	 $°aÐ8Ñ8Ô8¸!Ñ<Ô<Ð<åŒ[‰]Œ]ˆØ
�	Š	•*Ô)Ñ+Ô+Ñ,Ô,Ð,Ø
�Š�œ	 $°aÐ8Ñ8Ô8¸!Ñ<Ô<Ð<åŒL‰NŒNˆØ	�Š��B‰ŒˆØ	�Š��B‰ŒˆØ	�Š��B‰Œˆå# AÑ&Ô&Ð&Ð&Ð&r/   c                 ó   — t           j        t           j        t           j        t           j        t           j        t           j        t           j        t           j        t           j	        t           j
        t           j        t           j        t           j        g}t          j        ¦   «         }|                     dd¦  «        }t#          j        |¦  «         t'          j        ¦   «         }t+          d¦  «        D ]}}t-          j        ||t1          |¦  «        z           ¦  «        }d|_         ||t1          |¦  «        z           ¦   «         }|                     |¦  «         |                     |¦  «         Œ~t7          |¦  «         d S )NÚc2Úc5é   rÕ   )r	   r  Ú
ClavichordÚ	AccordionÚCelestaÚ
Contrabassr  ÚHarpr  ÚUkuleleÚBanjoÚPiccoloÚAltoSaxophoneÚTrumpetr%   Ú
MinorScaleÚ
getPitchesÚrandomÚshuffler&   rÊ   rÛ   r#   rµ   rK   r¶   r3   r   )r7   r  ÚscÚpitchesr•   r\   rÎ   rò   s           r;   ÚtestMidiProgramChangeBzTest.testMidiProgramChangeB¯  s  € ÝÔ'ÝÔ&­
Ô(<ÝÔ#¥ZÔ%:½JÔ<LÝ”¥*Ô";½ZÔ=OÝÔ!¥:Ô#5µzÔ7OÝÔ#ð%ˆõ ÔÑÔˆð —-’-  dÑ+Ô+ˆÝŒ�wÑÔÐåŒM‰OŒOˆÝ�r‘”ð 	ð 	ˆAÝ”	˜' !¥c¨'¡l¤lÑ"2Ô3Ñ4Ô4ˆAØ!ˆAŒOØ(�5˜�S ™ZœZ™Ô(Ñ*Ô*ˆDØ�HŠH�T‰NŒNˆNØ�HŠH�Q‰KŒKˆKˆKå# AÑ&Ô&Ð&Ð&Ð&r/   c                 óT  — t          j        d¦  «        }|                     ¦   «         }t          |¦  «        }|                      t          |¦  «        d¦  «         d}t          |d         j        dd …         ¦  «        }|                      t          j
        ||¦  «        |¦  «         d S )Núbwv66.6r@   at  [<music21.midi.MidiEvent NOTE_ON, track=1, channel=1, pitch=66, velocity=90>,
        <music21.midi.DeltaTime (empty) track=1>,
        <music21.midi.MidiEvent NOTE_ON, track=1, channel=1, pitch=61, velocity=90>,
        <music21.midi.DeltaTime (empty) track=1>,
        <music21.midi.MidiEvent NOTE_ON, track=1, channel=1, pitch=58, velocity=90>,
        <music21.midi.DeltaTime (empty) track=1>,
        <music21.midi.MidiEvent NOTE_ON, track=1, channel=1, pitch=54, velocity=90>,
        <music21.midi.DeltaTime t=10080, track=1>,
        <music21.midi.MidiEvent NOTE_OFF, track=1, channel=1, pitch=66, velocity=0>,
        <music21.midi.DeltaTime (empty) track=1>,
        <music21.midi.MidiEvent NOTE_OFF, track=1, channel=1, pitch=61, velocity=0>,
        <music21.midi.DeltaTime (empty) track=1>,
        <music21.midi.MidiEvent NOTE_OFF, track=1, channel=1, pitch=58, velocity=0>,
        <music21.midi.DeltaTime (empty) track=1>,
        <music21.midi.MidiEvent NOTE_OFF, track=1, channel=1, pitch=54, velocity=0>,
        <music21.midi.DeltaTime t=10080, track=1>,
        <music21.midi.MidiEvent END_OF_TRACK, track=1, data=b''>]r-   iïÿÿÿ)r   r�   Úflattenr   r6   rK   r)  rY   rà   r   rá   )r7   r•   ÚsFlatr/  rã   Úresultss         r;   ÚtestOverlappedEventsAzTest.testOverlappedEventsAÉ  s•   € ÝŒL˜Ñ#Ô#ˆØ—	’	‘”ˆÝ,¨UÑ3Ô3ˆØ×Ò�˜V™œ aÑ(Ô(Ð(ðEˆõ$ �f˜Q”iÔ& s t tÔ,Ñ-Ô-ˆØ�Š�Ô.¨w¸Ñ>Ô>ÀÑHÔHÐHÐHÐHr/   c                 óL  — t          j        ¦   «         }|                     dd¦  «        }t          j        |¦  «         d}d}d}t          j        ¦   «         }|D ];}t          j        |¦  «        }||z
  |_	        | 
                    ||¦  «         ||z   }Œ<t          |¦  «         d S )Nr?  r@  rç   rÕ   r   )r%   Ú
MajorScalerM  rN  rO  r&   rÊ   r#   rµ   r¶   rž   r   )	r7   rP  rQ  ÚdurÚstepÚor•   rt   rÎ   s	            r;   ÚtestOverlappedEventsBzTest.testOverlappedEventsBå  s¦   € ÝÔÑÔˆð —-’-  dÑ+Ô+ˆÝŒ�wÑÔÐàˆØˆØˆÝŒM‰OŒOˆØð 	ð 	ˆAÝ”	˜!‘”ˆAØ! A™gˆAŒOØ�HŠH�Q˜‰NŒNˆNØ�D‘ˆAˆAå# AÑ&Ô&Ð&Ð&Ð&r/   c                 óÎ  — t          j        ¦   «         }|                     t          j        d¦  «        ¦  «         |                     t          j        d¦  «        ¦  «         |                     dt          j        d¦  «        ¦  «         t          j        d¦  «        }d|j	        _
        |                     d|¦  «         t          j        g d¢d¬	¦  «        }d
|j        d         _
        |                     |¦  «         |j        }|                     |t          j        d¦  «        ¦  «         |                     |t          j        d¦  «        ¦  «         t!          |¦  «         d S )Nrˆ   rÙ   r   ÚcÚgr~   )rs   ÚfÚaÚhalf©rj   iÎÿÿÿr-   r�   Úb)r&   rÊ   rž   r   rè   r   rÞ   r#   rµ   rl   Ú	microtoner   ÚChordrQ  r3   ÚhighestTimer   )r7   r•   rÎ   r`  Úposs        r;   ÚtestOverlappedEventsCzTest.testOverlappedEventsCû  s  € ÝŒM‰OŒOˆØ	�Š•Ô! !Ñ$Ô$Ñ%Ô%Ð%Ø	�Š•Ô$ UÑ+Ô+Ñ,Ô,Ð,Ø	�Š�•D”I˜c‘N”NÑ#Ô#Ð#ÝŒI�c‰NŒNˆØˆŒÔØ	�Š��A‰ŒˆåŒK˜˜˜¨fÐ5Ñ5Ô5ˆØ!$ˆŒ	�!ŒÔØ	�Š�‰ŒˆàŒmˆØ	�Š�•d”i ‘n”nÑ%Ô%Ð%Ø	�Š�•d”i ‘n”nÑ%Ô%Ð%å# AÑ&Ô&Ð&Ð&Ð&r/   c                 óX  — t           j        t           j        t           j        t           j        t           j        t           j        t           j        t           j        t           j	        t           j
        t           j        t           j        t           j        t           j        t           j        t           j        t           j        t           j        t           j        t           j        t           j        t           j        g}t/          j        ¦   «         }|                     dd¦  «        }t5          j        ¦   «         }t9          |¦  «        D ]Z\  }}t;          j        |¦  «        }d|_         ||         ¦   «         }|                      |¦  «         |                      |¦  «         Œ[tC          |¦  «         d S )Nr?  r@  r3  )"r	   r  rB  rC  rD  rE  r  rF  r  rG  rH  rI  rJ  rK  ÚClarinetr  ÚViolinÚSopranoÚOboer8  ÚSitarÚOcarinaÚPianor%   rZ  rM  r&   rÊ   r‰   r#   rµ   r¶   r3   r   )	r7   r  rP  rQ  r•   r\   rt   rÎ   rò   s	            r;   ÚtestExternalMidiProgramChangeBz#Test.testExternalMidiProgramChangeB  s   € ÝÔ'­Ô)>Å
Ô@TÝÔ#¥ZÔ%:½JÔ<LÝ”¥*Ô";½ZÔ=OÝÔ!¥:Ô#5µzÔ7OÝÔ#¥ZÔ%8½*Ô:JÝÔ"¥JÔ$6½
¼Ý”¥*Ô"2µJÔ4FÝÔ!ð#ˆõ ÔÑÔˆð —-’-  dÑ+Ô+ˆõ ŒM‰OŒOˆÝ˜gÑ&Ô&ð 	ð 	‰DˆAˆqÝ”	˜!‘”ˆAØ!ˆAŒOØ�5˜”8‘:”:ˆDØ�HŠH�T‰NŒNˆNØ�HŠH�Q‰KŒKˆKˆKå# AÑ&Ô&Ð&Ð&Ð&r/   c                 ó8  — t          j        ¦   «         }|                     t          j        dd¬¦  «        ¦  «         |                     t          j        dd¬¦  «        ¦  «         |                     t          j        dd¬¦  «        ¦  «         |                     t          j        dd¬¦  «        ¦  «         |                     t          j        dd¬¦  «        ¦  «         |                     dt          j        d	d
¬¦  «        ¦  «         t          |¦  «         d S )NÚc4Úwholere  úc~4úc#4úc#~4Úd4r   Úg3rÚ   r¿   )r&   rÊ   r3   r#   rµ   rž   r   )r7   r•   s     r;   ÚtestMicrotonalOutputAzTest.testMicrotonalOutputA+  së   € ÝŒM‰OŒOˆØ	�Š•”˜4 gÐ.Ñ.Ô.Ñ/Ô/Ð/Ø	�Š•”˜5 wÐ/Ñ/Ô/Ñ0Ô0Ð0Ø	�Š•”˜5 wÐ/Ñ/Ô/Ñ0Ô0Ð0Ø	�Š•”˜6¨Ð0Ñ0Ô0Ñ1Ô1Ð1Ø	�Š•”˜4 gÐ.Ñ.Ô.Ñ/Ô/Ð/ð 	
�Š�•D”I˜d°"Ð5Ñ5Ô5Ñ6Ô6Ð6Ý# AÑ&Ô&Ð&Ð&Ð&r/   c                 óô  — t          j        ¦   «         }|                     t          j        dd¬¦  «        ¦  «         |                     t          j        dd¬¦  «        ¦  «         |                     t          j        dd¬¦  «        ¦  «         |                     t          j        dd¬¦  «        ¦  «         |                     t          j        dd¬¦  «        ¦  «         t          j        ¦   «         }|                     dt          j        d	d
¬¦  «        ¦  «         t          j        ¦   «         }|                     d|¦  «         |                     d|¦  «         t          |¦  «        }|                      |d          	                    ¦   «         dg¦  «         |                      |d          	                    ¦   «         ddg¦  «         t          j        ¦   «         }|                     d|¦  «         |                     d|¦  «         t          |¦  «        }|                      |d          	                    ¦   «         dg¦  «         |                      |d          	                    ¦   «         ddg¦  «         d S )Nrv  rw  re  rx  ry  rz  r{  r   Úg2r‡   r¿   r-   r@   )
r&   r	  r3   r#   rµ   rž   r  r   r6   ÚgetChannels)r7   r:  r;  r•   r+  s        r;   ÚtestMicrotonalOutputBzTest.testMicrotonalOutputB8  s  € ÝŒ[‰]Œ]ˆØ
�	Š	•$”)˜D wÐ/Ñ/Ô/Ñ0Ô0Ð0Ø
�	Š	•$”)˜E¨Ð0Ñ0Ô0Ñ1Ô1Ð1Ø
�	Š	•$”)˜E¨Ð0Ñ0Ô0Ñ1Ô1Ð1Ø
�	Š	•$”)˜F¨Ð1Ñ1Ô1Ñ2Ô2Ð2Ø
�	Š	•$”)˜D wÐ/Ñ/Ô/Ñ0Ô0Ð0õ Œ[‰]Œ]ˆØ
�	Š	�!•T”Y˜t°2Ð6Ñ6Ô6Ñ7Ô7Ð7õ ŒL‰NŒNˆØ	�Š��B‰ŒˆØ	�Š��B‰Œˆå)¨!Ñ,Ô,ˆØ×Ò˜˜Qœ×+Ò+Ñ-Ô-°¨sÑ3Ô3Ð3Ø×Ò˜˜Qœ×+Ò+Ñ-Ô-°°1¨vÑ6Ô6Ð6õ
 ŒL‰NŒNˆØ	�Š��B‰ŒˆØ	�Š��B‰Œˆå)¨!Ñ,Ô,ˆØ×Ò˜˜Qœ×+Ò+Ñ-Ô-°¨sÑ3Ô3Ð3Ø×Ò˜˜Qœ×+Ò+Ñ-Ô-°°1¨vÑ6Ô6Ð6Ð6Ð6r/   c                 óÈ  — t           j        t           j        t           j        t           j        g}g d¢}t          j        ¦   «         }t          |¦  «        D ]“\  }}t          j        ¦   «         }| 	                    d |¦   «         ¦  «         ||         \  }}}	t          |¦  «        D ]+}
|                     t          j        |	|¬¦  «        ¦  «         Œ,| 	                    d|¦  «         Œ”t          |¦  «        }|                      |d                              ¦   «         g ¦  «         |                      |d                              ¦   «         dg¦  «         |                      |d                              ¦   «         dg¦  «         |                      |d                              ¦   «         dg¦  «         |                      |d                              ¦   «         dg¦  «         d S )N))rØ   r-   ÚC6)rC   r@   ÚG3)r@   rC   ÚE4)r¨   ç      ô?ÚC5r   r¿   r-   r@   rˆ   rC   )r	   r  r  r  r  r&   r  r‰   r	  rž   rÛ   r3   r#   rµ   r   r6   r€  )r7   r  Úparamsr•   r\   rò   rt   ÚnumberÚqlÚ	pitchNameÚjr+  s               r;   ÚtestInstrumentAssignmentszTest.testInstrumentAssignmentsX  s¸  € åÔ'ÝÔ!ÝÔ*ÝÔ!ð#ˆð#ð #ð #ˆõ
 ŒL‰NŒNˆÝ  Ñ'Ô'ð 	ð 	‰GˆAˆtÝ”‘”ˆAØ�HŠH�Q˜˜™œÑÔÐà$*¨1¤IÑ!ˆF�B˜	Ý˜6‘]”]ð Að A�Ø—’�œ 9¸BÐ?Ñ?Ô?Ñ@Ô@Ð@Ð@Ø�HŠH�Q˜‰NŒNˆNˆNõ *¨!Ñ,Ô,ˆà×Ò˜˜Qœ×+Ò+Ñ-Ô-¨rÑ2Ô2Ð2Ø×Ò˜˜Qœ×+Ò+Ñ-Ô-°¨sÑ3Ô3Ð3Ø×Ò˜˜Qœ×+Ò+Ñ-Ô-°¨sÑ3Ô3Ð3Ø×Ò˜˜Qœ×+Ò+Ñ-Ô-°¨sÑ3Ô3Ð3Ø×Ò˜˜Qœ×+Ò+Ñ-Ô-°¨sÑ3Ô3Ð3Ð3Ð3r/   c                 ó>  — t           j        t           j        t           j        t           j        g}dddgfddddgfdddd	gfd
ddgfg}t          j        ¦   «         }t          |¦  «        D ]©\  }}t          j        ¦   «         }| 	                    d |¦   «         ¦  «         ||         \  }}}	t          |¦  «        D ]A}
|                     t          j        |	|
t          |	¦  «        z           |¬¦  «        ¦  «         ŒB| 	                    d|¦  «         Œªt          |¦  «        }|                      |d                              ¦   «         dg¦  «         |                      |d                              ¦   «         d
g¦  «         |                      |d                              ¦   «         ddg¦  «         |                      |d                              ¦   «         dg¦  «         |                      |d                              ¦   «         dd
g¦  «         |                      |d                              ¦   «         dg¦  «         |                      |d                              ¦   «         dd
g¦  «         |                      |d                              ¦   «         dg¦  «         d S )NrØ   r-   rƒ  rC   r@   r„  zG~3r…  ÚE5r¨   r†  r‡  r   r¿   rA   é)   rˆ   é   éI   )r	   r  r  r  r  r&   r  r‰   r	  rž   rÛ   r3   r#   rµ   rK   r   r6   r€  ÚgetProgramChanges)r7   r  rˆ  r•   r\   rò   rt   r‰  rŠ  ÚpitchNameListrŒ  r+  s               r;   ÚtestMicrotonalOutputDzTest.testMicrotonalOutputDx  sx  € åÔ'ÝÔ!ÝÔ*ÝÔ!ðˆð �a˜$˜�.Ø�a˜$ ˜Ð'Ø�a˜$ ˜Ð&Ø�d˜T˜FÐ#ð%ˆõ
 ŒL‰NŒNˆÝ  Ñ'Ô'ð 	ð 	‰GˆAˆtÝ”‘”ˆAØ�HŠH�Q˜˜™œÑÔÐà(.¨q¬	Ñ%ˆF�B˜Ý˜6‘]”]ð ]ð ]�Ø—’�œ =°µS¸Ñ5GÔ5GÑ1GÔ#HÐXZÐ[Ñ[Ô[Ñ\Ô\Ð\Ð\Ø�HŠH�Q˜‰NŒNˆNˆNõ *¨!Ñ,Ô,ˆà×Ò˜˜Qœ×+Ò+Ñ-Ô-°¨sÑ3Ô3Ð3Ø×Ò˜˜Qœ×1Ò1Ñ3Ô3°a°SÑ9Ô9Ð9à×Ò˜˜Qœ×+Ò+Ñ-Ô-°°1¨vÑ6Ô6Ð6Ø×Ò˜˜Qœ×1Ò1Ñ3Ô3°b°TÑ:Ô:Ð:à×Ò˜˜Qœ×+Ò+Ñ-Ô-°°1¨vÑ6Ô6Ð6Ø×Ò˜˜Qœ×1Ò1Ñ3Ô3°b°TÑ:Ô:Ð:ð 	×Ò˜˜Qœ×+Ò+Ñ-Ô-°°1¨vÑ6Ô6Ð6Ø×Ò˜˜Qœ×1Ò1Ñ3Ô3°b°TÑ:Ô:Ð:Ð:Ð:r/   c                 óÞ  — t          j        d¦  «        }|j        d         }t          j        |¦  «        }t          j        d¦  «        }|                     |dd¬¦  «         t          j	        ¦   «         }| 
                    d|¦  «         | 
                    d|¦  «         t          |¦  «        }|                      |d                              ¦   «         dg¦  «         |                      |d                              ¦   «         dg¦  «         |                      |d                              ¦   «         ddg¦  «         |                      |d                              ¦   «         dg¦  «         d S )	NrT  r   rÕ   T©rµ   rh  ©rÈ   ÚclassFilterListr-   r@   ©r   r�   r‘   rÜ   rÝ   r
   ÚIntervalÚ	transposer&   r  rž   r   r6   r€  r“  )r7   r•   r:  r;  Ú	halfSharpÚpostr+  s          r;   ÚtestMicrotonalOutputEzTest.testMicrotonalOutputE¢  s>  € ÝŒL˜Ñ#Ô#ˆØŒW�QŒZˆÝŒ]˜2ÑÔˆÝÔ% cÑ*Ô*ˆ	Ø
�Š�Y¨Ð>OˆÑPÔPÐPÝŒ|‰~Œ~ˆØ�Š�A�rÑÔÐØ�Š�A�rÑÔÐõ *¨$Ñ/Ô/ˆØ×Ò˜˜Qœ×+Ò+Ñ-Ô-°¨sÑ3Ô3Ð3Ø×Ò˜˜Qœ×1Ò1Ñ3Ô3°a°SÑ9Ô9Ð9Ø×Ò˜˜Qœ×+Ò+Ñ-Ô-°°1¨vÑ6Ô6Ð6Ø×Ò˜˜Qœ×1Ò1Ñ3Ô3°a°SÑ9Ô9Ð9Ð9Ð9r/   c                 óH  — t          j        d¦  «        }|j        d         }t          j        |¦  «        }t          j        |¦  «        }t          j        d¦  «        }t          j        d¦  «        }|                     |dd¬¦  «         |                     |dd¬¦  «         t          j	        ¦   «         }| 
                    d|¦  «         | 
                    d|¦  «         | 
                    d|¦  «         t          |¦  «        }|                      |d                              ¦   «         dg¦  «         |                      |d                              ¦   «         dg¦  «         |                      |d	                              ¦   «         dd	g¦  «         |                      |d	                              ¦   «         dg¦  «         |                      |d
                              ¦   «         dd
g¦  «         |                      |d
                              ¦   «         dg¦  «         d S )NrT  r   ç      )@g     €(ÀTr—  r˜  r-   r@   rˆ   rš  ©	r7   r•   r:  r;  r<  Út1Út2rž  r+  s	            r;   ÚtestMicrotonalOutputFzTest.testMicrotonalOutputF¶  sÜ  € ÝŒL˜Ñ#Ô#ˆØŒW�QŒZˆÝŒ]˜2ÑÔˆÝŒ]˜2ÑÔˆåÔ˜tÑ$Ô$ˆÝÔ˜vÑ&Ô&ˆØ
�Š�R Ð7HˆÑIÔIÐIØ
�Š�R Ð7HˆÑIÔIÐIÝŒ|‰~Œ~ˆØ�Š�A�rÑÔÐØ�Š�A�rÑÔÐØ�Š�A�rÑÔÐõ *¨$Ñ/Ô/ˆØ×Ò˜˜Qœ×+Ò+Ñ-Ô-°¨sÑ3Ô3Ð3Ø×Ò˜˜Qœ×1Ò1Ñ3Ô3°a°SÑ9Ô9Ð9Ø×Ò˜˜Qœ×+Ò+Ñ-Ô-°°1¨vÑ6Ô6Ð6Ø×Ò˜˜Qœ×1Ò1Ñ3Ô3°a°SÑ9Ô9Ð9Ø×Ò˜˜Qœ×+Ò+Ñ-Ô-°°1¨vÑ6Ô6Ð6Ø×Ò˜˜Qœ×1Ò1Ñ3Ô3°a°SÑ9Ô9Ð9Ð9Ð9r/   c                 ó  — t          j        d¦  «        }|j        d         }|                     |                     t
          j        ¦  «                             ¦   «         ¦  «         t          j	        |¦  «        }t          j	        |¦  «        }t          j        d¦  «        }t          j        d¦  «        }|                     |dt          j        t          j        f¬¦  «         |                     |dt          j        t          j        f¬¦  «         t#          j        ¦   «         }|                     dt          j        ¦   «         ¦  «         |                     d|¦  «         |                     dt          j        ¦   «         ¦  «         |                     d|¦  «         |                     dt          j        ¦   «         ¦  «         |                     d|¦  «         t/          |¦  «        }|                      |d	                              ¦   «         d	g¦  «         |                      |d	                              ¦   «         d
g¦  «         |                      |d                              ¦   «         ddg¦  «         |                      |d                              ¦   «         dg¦  «         |                      |d                              ¦   «         ddg¦  «         |                      |d                              ¦   «         dg¦  «         d S )NrT  r   r¡  g      ÀTr˜  g      À?g      Ð?r-   rû   r@   rC   é8   rˆ   rA   r‘  )r   r�   r‘   ÚremoveÚgetElementsByClassr	   Ú
InstrumentÚfirstrÜ   rÝ   r
   r›  rœ  r#   rµ   r   rh  r&   r  rž   r6  rK  r  r   r6   r€  r“  r¢  s	            r;   ÚtestMicrotonalOutputGzTest.testMicrotonalOutputGÑ  st  € ÝŒL˜Ñ#Ô#ˆØŒW�QŒZˆØ
�	Š	�"×'Ò'­
Ô(=Ñ>Ô>×DÒDÑFÔFÑGÔGÐGÝŒ]˜2ÑÔˆÝŒ]˜2ÑÔˆåÔ˜tÑ$Ô$ˆÝÔ˜uÑ%Ô%ˆØ
�Š�R ½¼	Å5Ä;Ð7OˆÑPÔPÐPØ
�Š�R ½¼	Å5Ä;Ð7OˆÑPÔPÐPÝŒ|‰~Œ~ˆØ
�	Š	�!•ZÔ(Ñ*Ô*Ñ+Ô+Ð+Ø�Š�A�rÑÔÐØ
�	Š	�!•ZÔ'Ñ)Ô)Ñ*Ô*Ð*Ø�Š�E˜2ÑÔÐØ
�	Š	�!•ZÔ.Ñ0Ô0Ñ1Ô1Ð1Ø�Š�D˜"ÑÔÐõ *¨$Ñ/Ô/ˆØ×Ò˜˜Qœ×+Ò+Ñ-Ô-°¨sÑ3Ô3Ð3Ø×Ò˜˜Qœ×1Ò1Ñ3Ô3°b°TÑ:Ô:Ð:à×Ò˜˜Qœ×+Ò+Ñ-Ô-°°1¨vÑ6Ô6Ð6Ø×Ò˜˜Qœ×1Ò1Ñ3Ô3°b°TÑ:Ô:Ð:ð 	×Ò˜˜Qœ×+Ò+Ñ-Ô-°°1¨vÑ6Ô6Ð6Ø×Ò˜˜Qœ×1Ò1Ñ3Ô3°b°TÑ:Ô:Ð:Ð:Ð:r/   c                 óR  — t          j        ¦   «         dz  dz  }|dz  }t          j        |¦  «        }|                     ¦   «                              t          j        ¦  «        }|                      t          |¦  «        d¦  «         |                      |d         j
        d¦  «         |                      |d         j
        d¦  «         |                      |d	         j
        d
¦  «         |                      |d         j
        d¦  «         |dz  }t          j        |¦  «        }|                     ¦   «                              t          j        ¦  «        }|                      t          |¦  «        d¦  «         |                      |d         j
        d¦  «         |dz  }t          j        |¦  «        }|                     ¦   «                              t          j        ¦  «        }|                      t          |¦  «        d¦  «         |                      |d         j
        d¦  «         d S )Nr>   r"   ú
test10.midrC   r   g      ^@r-   g     €[@r@   g     €V@rˆ   g      N@z
test06.midz
test07.midg     €f@)r   rE   r   r�   rU  r©  r'   ÚMetronomeMarkr6   rK   r‰  )r7   rQ   rR   r•   ÚmmStreams        r;   ÚtestMidiTempoImportAzTest.testMidiTempoImportAó  sÇ  € ÝÔ)Ñ+Ô+¨fÑ4°ÑFˆà�lÑ"ˆÝŒO˜BÑÔˆØ—9’9‘;”;×1Ò1µ%Ô2EÑFÔFˆØ×Ò�˜X™œ¨Ñ*Ô*Ð*Ø×Ò˜ !œÔ+¨UÑ3Ô3Ð3Ø×Ò˜ !œÔ+¨UÑ3Ô3Ð3Ø×Ò˜ !œÔ+¨TÑ2Ô2Ð2Ø×Ò˜ !œÔ+¨TÑ2Ô2Ð2à�lÑ"ˆÝŒO˜BÑÔˆØ—9’9‘;”;×1Ò1µ%Ô2EÑFÔFˆØ×Ò�˜X™œ¨Ñ*Ô*Ð*Ø×Ò˜ !œÔ+¨UÑ3Ô3Ð3à�lÑ"ˆÝŒO˜BÑÔˆØ—9’9‘;”;×1Ò1µ%Ô2EÑFÔFˆØ×Ò�˜X™œ¨Ñ*Ô*Ð*Ø×Ò˜ !œÔ+¨UÑ3Ô3Ð3Ð3Ð3r/   c                 ó(  — t          j        ¦   «         dz  dz  }|dz  }t          j        |¦  «        }|                      t          |j        ¦  «        d¦  «         |                      d„ |j        d         t          j                 D ¦   «         g d¢¦  «         |                      d„ |j        d	         t          j                 D ¦   «         g d
¢¦  «         |                      d„ |j        d         t          j                 D ¦   «         g d
¢¦  «         d S )Nr>   r"   z
test11.midrˆ   c                 ó   — g | ]	}|j         ‘Œ
S r‚   ©ÚnumberImplicit©r„   Úmms     r;   r†   z-Test.testMidiTempoImportB.<locals>.<listcomp>  ó   € ÐIÐIÐI 2ˆRÔÐIÐIÐIr/   r   )FFFFc                 ó   — g | ]	}|j         ‘Œ
S r‚   r´  r¶  s     r;   r†   z-Test.testMidiTempoImportB.<locals>.<listcomp>  r¸  r/   r-   )TTTTc                 ó   — g | ]	}|j         ‘Œ
S r‚   r´  r¶  s     r;   r†   z-Test.testMidiTempoImportB.<locals>.<listcomp>  r¸  r/   r@   )	r   rE   r   r�   r6   rK   r‘   r'   r¯  r”   s       r;   ÚtestMidiTempoImportBzTest.testMidiTempoImportB  s  € ÝÔ)Ñ+Ô+¨fÑ4°ÑFˆà�lÑ"ˆÝŒO˜BÑÔˆØ×Ò�˜QœW™œ qÑ)Ô)Ð)à×ÒØIÐI¨¬°¬µEÔ4GÔ)HÐIÑIÔIØ(Ð(Ð(ñ	
ô 	
ð 	
ð 	×ÒØIÐI¨¬°¬µEÔ4GÔ)HÐIÑIÔIØ$Ð$Ð$ñ	
ô 	
ð 	
ð 	×ÒØIÐI¨¬°¬µEÔ4GÔ)HÐIÑIÔIØ$Ð$Ð$ñ	
ô 	
ð 	
ð 	
ð 	
r/   c                 óL  — t          j        ¦   «         dz  dz  dz  }t          j        |¦  «        }|j        D ]k}|                     t          j        ¦  «                             ¦   «         }|j	        }|  
                    |j        d¦  «         |                      ||¦  «         Œld S )Nr>   r"   ú
test17.midrÖ   )r   rE   r   r�   r‘   r©  r&   ÚMeasurer«  ÚtimeSignaturer6   ÚratioStringÚassertIn)r7   rR   r•   rt   ÚmÚtss         r;   ÚtestMidiImportMeterzTest.testMidiImportMeter  s    € ÝÔ%Ñ'Ô'¨&Ñ0°?ÑBÀ\ÑQˆÝŒO˜BÑÔˆØ”ð 	!ð 	!ˆAØ×$Ò$¥V¤^Ñ4Ô4×:Ò:Ñ<Ô<ˆAØ”ˆBØ×Ò˜Rœ^¨UÑ3Ô3Ð3Ø�MŠM˜"˜aÑ Ô Ð Ð ð		!ð 	!r/   c                 óh  — t          j        ¦   «         dz  dz  dz  }t          ¦   «         }|                     |¦  «         |                     ¦   «          |                     ¦   «          t          ¦   «         }|j        d         j        d d…         |_        |j         	                    d|¦  «         t          |¦  «        }|j        D ]k}|                     t          j        ¦  «                             ¦   «         }|j        }|                      |j        d¦  «         |                      ||¦  «         Œld S )Nr>   r"   r®  r   rC   z4/4)r   rE   r   rH   rI   rJ   r   r2   rY   rž   r   r‘   r©  r&   r¾  r«  r¿  r6   rÀ  rÁ  )r7   rR   r8   Ú	new_trackr•   rt   rÂ  rÃ  s           r;   ÚtestMidiImportImplicitMeterz Test.testMidiImportImplicitMeter(  s  € ÝÔ%Ñ'Ô'¨&Ñ0°?ÑBÀ\ÑQˆõ ‰ZŒZˆØ
�Š�‰ŒˆØ
�Š‰	Œ	ˆ	Ø
�Š‰
Œ
ˆ
õ ‘K”Kˆ	àœ9 Qœ<Ô.¨r°¨rÔ2ˆ	ÔØ
Œ	×Ò˜˜IÑ&Ô&Ð&å˜RÑ Ô ˆØ”ð 	!ð 	!ˆAØ×$Ò$¥V¤^Ñ4Ô4×:Ò:Ñ<Ô<ˆAØ”ˆBØ×Ò˜Rœ^¨UÑ3Ô3Ð3Ø�MŠM˜"˜aÑ Ô Ð Ð ð		!ð 	!r/   c                 ó¢  — t          j        ¦   «         }|                     t          j        d¦  «        d¦  «         |                     dt          j        d¦  «        ¦  «         |                     dt          j	        d¬¦  «        ¦  «         |                     dt          j	        d¬¦  «        ¦  «         t          j        ¦   «         }|                     t          j        d	¦  «        d¦  «         |                     dt          j        d
¦  «        ¦  «         t          j
        ¦   «         }|                     d|d|g¦  «         t          |¦  «        }|                      t          |¦  «        d¦  «         t          |d         j        ¦  «        }|                      |                     d¦  «        d¦  «         |                      |                     d¦  «        d¦  «         t          |d         j        ¦  «        }|                      |                     d¦  «        d¦  «         |                      |                     d¦  «        d¦  «         dS )z@
        Export conductor data to MIDI conductor track.
        rv  rø   r   rÖ   ra   ©r‰  r¨   rA  Úg4z6/4rˆ   Ú	SET_TEMPOr@   ÚTIME_SIGNATUREr-   r  N)r&   r	  r7  r#   rµ   rž   r   rÞ   r'   r¯  r  r   r6   rK   rß   rY   ÚcountÚfind)r7   r:  r;  r•   r+  ÚcondTrkReprÚmusicTrkReprs          r;   ÚtestMidiExportConductorAzTest.testMidiExportConductorA>  sâ  € õ Œ[‰]Œ]ˆØ
�Š�œ	 $™œ¨Ñ,Ô,Ð,Ø
�	Š	�!•UÔ(¨Ñ/Ô/Ñ0Ô0Ð0Ø
�	Š	�!•UÔ(°Ð3Ñ3Ô3Ñ4Ô4Ð4Ø
�	Š	�!•UÔ(°Ð3Ñ3Ô3Ñ4Ô4Ð4åŒ[‰]Œ]ˆØ
�Š�œ	 $™œ¨Ñ,Ô,Ð,Ø
�	Š	�!•UÔ(¨Ñ/Ô/Ñ0Ô0Ð0åŒL‰NŒNˆØ	�Š�!�R˜˜B�Ñ Ô Ð å)¨!Ñ,Ô,ˆØ×Ò�˜S™œ 1Ñ%Ô%Ð%õ ˜3˜qœ6œ=Ñ)Ô)ˆØ×Ò˜×*Ò*¨;Ñ7Ô7¸Ñ;Ô;Ð;Ø×Ò˜×*Ò*Ð+;Ñ<Ô<¸aÑ@Ô@Ð@å˜C œFœMÑ*Ô*ˆØ×Ò˜×*Ò*¨;Ñ7Ô7¸Ñ<Ô<Ð<Ø×Ò˜×*Ò*Ð+;Ñ<Ô<¸bÑAÔAÐAÐAÐAr/   c                 óò  — t          j        d¦  «        }|                     dt          j        d¬¦  «        ¦  «         |                     dt          j        d¬¦  «        ¦  «         |                     dt          j        d¬¦  «        ¦  «         |                     d	t          j        d
¬¦  «        ¦  «         |                     dt          j        d¬¦  «        ¦  «         t          |¦  «        }t          |d         j        ¦  «        }|                      | 	                    d¦  «        d¦  «         t          |d         j        ¦  «        }|                      | 	                    d¦  «        d¦  «         d S )NrT  r   éð   rÉ  rC   rA  r¨   re   rØ   ra   rø   ih  rË  rA   r-   )
r   r�   rž   r'   r¯  r   rß   rY   r6   rÍ  )r7   r•   r+  rÏ  rÐ  s        r;   ÚtestMidiExportConductorBzTest.testMidiExportConductorB^  s>  € ÝŒL˜Ñ#Ô#ˆØ	�Š�•EÔ'¨sÐ3Ñ3Ô3Ñ4Ô4Ð4Ø	�Š�•EÔ'¨rÐ2Ñ2Ô2Ñ3Ô3Ð3Ø	�Š�•EÔ'¨sÐ3Ñ3Ô3Ñ4Ô4Ð4Ø	�Š�•EÔ'¨rÐ2Ñ2Ô2Ñ3Ô3Ð3Ø	�Š�•UÔ(°Ð4Ñ4Ô4Ñ5Ô5Ð5õ *¨!Ñ,Ô,ˆÝ˜3˜qœ6œ=Ñ)Ô)ˆØ×Ò˜×*Ò*¨;Ñ7Ô7¸Ñ;Ô;Ð;Ý˜C œFœMÑ*Ô*ˆØ×Ò˜×+Ò+¨KÑ8Ô8¸!Ñ<Ô<Ð<Ð<Ð<r/   c                 óT  — d}d}d}t          j        ¦   «         }t          d¦  «        D ]‰}t          j        |t          j        dz  z  |z  ¦  «        dz   dz  }||z
  |z  |z   }|                     t          j        |¬¦  «        ¦  «         |                     t          j
        d	¦  «        ¦  «         ŒŠt          |¦  «        }|                      t          |¦  «        d¦  «         t          |d
         j        ¦  «        }	|                      |	                     d¦  «        d¦  «         d S )Nr`   iX  rb   r   r@   r-   rÕ   rÉ  r|  r   rË  )r&   rÊ   rÛ   ÚmathÚsinÚpir3   r'   r¯  r#   rµ   r   r6   rK   rß   rY   rÍ  )
r7   ÚminTempoÚmaxTempoÚperiodr•   r\   ÚscalarrÎ   r+  ÚmtsReprs
             r;   ÚtestMidiExportConductorCzTest.testMidiExportConductorCm  s  € ØˆØˆØˆÝŒM‰OŒOˆÝ�s‘”ð 	&ð 	&ˆAÝ”h˜q¥D¤G¨a¡KÑ0°6Ñ9Ñ:Ô:¸QÑ>À#ÑEˆFØ˜XÑ%¨Ñ/°8Ñ;ˆAØ�HŠH•UÔ(°Ð2Ñ2Ô2Ñ3Ô3Ð3Ø�HŠH•T”Y˜t‘_”_Ñ%Ô%Ð%Ð%Ý)¨!Ñ,Ô,ˆØ×Ò�˜S™œ 1Ñ%Ô%Ð%Ý�s˜1”v”}Ñ%Ô%ˆØ×Ò˜Ÿš {Ñ3Ô3°SÑ9Ô9Ð9Ð9Ð9r/   c                 ó  — t          j        ¦   «         }|                     t          j        ¦   «         ¦  «         t          |¦  «        }|                      t          |¦  «        d¦  «         t          |d         j	        ¦  «        }|                      | 
                    d¦  «        d¦  «         |                      | 
                    d¦  «        d¦  «         |                      | 
                    d¦  «        d¦  «         dS )z:
        120 bpm and 4/4 are supplied by default.
        r@   r   rË  r-   rÌ  rŠ   N)r&   rÊ   rž   r#   rµ   r   r6   rK   rß   rY   rÍ  )r7   r•   r+  rÏ  s       r;   ÚtestMidiExportConductorDzTest.testMidiExportConductorD|  sÖ   € õ ŒM‰OŒOˆØ	�Š•”‘”ÑÔÐÝ)¨!Ñ,Ô,ˆØ×Ò�˜S™œ 1Ñ%Ô%Ð%Ý˜3˜qœ6œ=Ñ)Ô)ˆØ×Ò˜×*Ò*¨;Ñ7Ô7¸Ñ;Ô;Ð;Ø×Ò˜×*Ò*Ð+;Ñ<Ô<¸aÑ@Ô@Ð@à×Ò˜×*Ò*¨<Ñ8Ô8¸!Ñ<Ô<Ð<Ð<Ð<r/   c                 ó0  — t          j        ¦   «         }t          j        d¦  «        }t          j        d¦  «        }|                     dt          j        d¬¦  «        ¦  «         |                     dt          j        d¬¦  «        ¦  «         |                     dt          j        d¦  «        ¦  «         |                     d|¦  «         |                     d|¦  «         t          |¦  «        }| 
                    t
          j        ¦  «        }| 
                    t          j        ¦  «        }|                      t          |¦  «        d	¦  «         |                      |d         j        d¦  «         |                      t          |¦  «        d	¦  «         d
S )zI
        The conductor only gets the first element at an offset.
        ztinynotation: c1ztinynotation: d2 d2r   é,   rÉ  é�   r@   ræ   r-   N)r&   rÊ   r   r�   rž   r'   r¯  r   rè   r   r©  r6   rK   r‰  )r7   r•   r:  r;  ré   ÚtemposÚkeySignaturess          r;   ÚtestMidiExportConductorEzTest.testMidiExportConductorEŠ  sJ  € õ ŒM‰OŒOˆÝŒ_Ð/Ñ0Ô0ˆÝŒ_Ð2Ñ3Ô3ˆØ
�	Š	�!•UÔ(°Ð3Ñ3Ô3Ñ4Ô4Ð4Ø
�	Š	�!•UÔ(°Ð4Ñ4Ô4Ñ5Ô5Ð5Ø
�	Š	�!•SÔ% bÑ)Ô)Ñ*Ô*Ð*Ø	�Š��B‰ŒˆØ	�Š��B‰Œˆå# AÑ&Ô&ˆ	Ø×-Ò-­eÔ.AÑBÔBˆØ!×4Ò4µSÔ5EÑFÔFˆØ×Ò�˜V™œ aÑ(Ô(Ð(Ø×Ò˜ œÔ)¨2Ñ.Ô.Ð.Ø×Ò�˜]Ñ+Ô+¨QÑ/Ô/Ð/Ð/Ð/r/   c                 óX  — t          j        ¦   «         dz  dz  }t          j        |dz  ¦  «        }|                      t          |d         ¦  «        d¦  «         t          |¦  «        }|j        d         }d„ |j        D ¦   «         }|                      t          |¦  «        d¦  «         dS )	z(
        Multiple meter changes
        ÚmusicxmlÚlilypondTestSuitez11a-TimeSignatures.xmlrÞ   r÷   r   c                 ó8   — g | ]}|j         t          j        u ¯|‘ŒS r‚   )rj   r   rÌ  r›   s     r;   r†   z1Test.testMidiExportConductorF.<locals>.<listcomp>¨  s1   € ð Pð Pð PØ¨1¬6µZÔ5NÐ+NÐ+NˆAÐ+NÐ+NÐ+Nr/   N)	r   rE   r   r�   r6   rK   r    r2   rY   )r7   Ú
source_dirr•   r8   ré   Úmeter_eventss         r;   ÚtestMidiExportConductorFzTest.testMidiExportConductorFž  s·   € õ Ô-Ñ/Ô/°*Ñ<Ð?RÑRˆ
ÝŒO˜JÐ)AÑAÑBÔBˆØ×Ò�˜Q˜Ô/Ñ0Ô0°"Ñ5Ô5Ð5å˜aÑ Ô ˆØ”I˜a”Lˆ	ðPð PØ Ô'ðPñ Pô Pˆà×Ò�˜\Ñ*Ô*¨BÑ/Ô/Ð/Ð/Ð/r/   c                 óÎ  — t          j        ¦   «         }t          d¦  «        D ]F}t          j        d¦  «        }|dz  |j        _        d|j        _        |                     |¦  «         ŒGt          |¦  «        }t          |d         j        ¦  «        }|                      |                     d¦  «        d¦  «         |                      |                     d¦  «        d¦  «         d S )NrÚ   Úc3Fr-   zvelocity=114zvelocity=13)r&   rÊ   rÛ   r#   rµ   r)   ÚvelocityScalarÚvelocityIsRelativer3   r   rß   rY   r6   rÍ  )r7   r•   r\   rÎ   r+  rÝ  s         r;   ÚtestMidiExportVelocityAzTest.testMidiExportVelocityA¬  sÄ   € ÝŒM‰OŒOˆÝ�r‘”ð 	ð 	ˆAå”	˜$‘”ˆAØ&'¨"¡fˆAŒHÔ#Ø*/ˆAŒHÔ'Ø�HŠH�Q‰KŒKˆKˆKõ *¨!Ñ,Ô,ˆÝ�s˜1”v”}Ñ%Ô%ˆØ×Ò˜Ÿš ~Ñ6Ô6¸Ñ:Ô:Ð:Ø×Ò˜Ÿš }Ñ5Ô5°qÑ9Ô9Ð9Ð9Ð9r/   ÚreturnNc                 óX  — t          j        ¦   «         }g d¢}d„ t          d¦  «        D ¦   «         }|t          t	          |¦  «        ¦  «        z   }dgdz  dgdz  z   dgdz  z   dgdz  z   dgdz  z   }t          |¦  «        D ]ê\  }}t          j        ¦   «         d	k    rt          j        ¦   «         }n™t          j
        g d
¢¦  «        }g }	t          |¦  «        D ]Z\  }
}t          j        ¦   «         }||||
         z   t          |¦  «        z           |_        d|_        |	                     |¦  «         Œ[|                     |	¦  «         |}||j        _        |                     |¦  «         Œët          j        |¦  «         t          j        |¦  «         t          j        ¦   «         }t          |¦  «        D ]p\  }}t          j        t          j        g d¢¦  «        ¦  «        }||j        _        ||t          |¦  «        z           |j        _        |                     |¦  «         Œqt          j        ¦   «         }|                     d|¦  «         |                     d|¦  «         t3          |¦  «        }|                      dt7          |d         j        ¦  «        ¦  «         t7          |d         j        ¦  «        t7          |d         j        ¦  «        z   }|                      |                     d¦  «        d¦  «         |                      |                     d¦  «        d¦  «         d S )N)r   r¨   rø   c                 ó   — g | ]
}|d z  dz   ‘ŒS )g      $@gš™™™™™Ù?r‚   rƒ   s     r;   r†   z0Test.testMidiExportVelocityB.<locals>.<listcomp>¾  s    € Ð2Ð2Ð2 A��S‘˜3‘Ð2Ð2Ð2r/   r¨   r3  r-   rØ   r@   rC   g333333ã?)rï  zd-4Úg5F)úf#2r÷  ze-2r   rË  zvelocity=51zvelocity=102)r&   rÊ   rÛ   r  Úreversedr‰   rN  r#   ÚRestr   rh  r)   ÚVolumerK   rð  rñ  r3   Ú
setVolumesÚdurationr¶   rO  rµ   Úchoicer  rž   r   rÁ  rß   rY   ÚassertGreaterrÍ  )r7   Ús1ÚshiftÚampsÚqlListrŒ  rŠ  r`  ÚchÚvChordr\   Úunused_cSubru   Ús2rÎ   r•   r+  rÝ  s                     r;   ÚtestMidiExportVelocityBzTest.testMidiExportVelocityB»  sÍ  € Ý"œM™OœOˆØ�
�
ˆØ2Ð2­¨q©¬Ð2Ñ2Ô2ˆØ•d�8 D™>œ>Ñ*Ô*Ñ*ˆà�˜‘˜a˜S 1™WÑ$¨ s¨Q¡wÑ.°#°¸±Ñ:¸a¸SÀ1¹WÑDˆõ ˜vÑ&Ô&ð 	ð 	‰EˆAˆrÝŒ}‰Œ Ò$Ð$Ý”I‘K”K��å”[Ð!4Ð!4Ð!4Ñ5Ô5�Ø.0�Ý&/°¡m¤mð %ð %‘N�A�{Ýœ™œ�AØ'+¨Q°°q´©\½SÀ¹Y¼YÑ,FÔ'G�AÔ$Ø+0�AÔ(Ø—M’M !Ñ$Ô$Ð$Ð$Ø—’˜fÑ%Ô%Ð%Ø�Ø')ˆAŒJÔ$Ø�IŠI�a‰LŒLˆLˆLåŒ�vÑÔÐÝŒ�tÑÔÐå'-¤}¡¤ˆÝ˜vÑ&Ô&ð 	ð 	‰EˆAˆrÝ”	�&œ-Ð(=Ð(=Ð(=Ñ>Ô>Ñ?Ô?ˆAØ')ˆAŒJÔ$Ø&*¨1­s°4©y¬y©=Ô&9ˆAŒHÔ#Ø�IŠI�a‰LŒLˆLˆLåŒL‰NŒNˆØ	�Š��B‰ŒˆØ	�Š��B‰Œˆå)¨!Ñ,Ô,ˆà�Š�k¥4¨¨A¬¬Ñ#6Ô#6Ñ7Ô7Ð7Ý�s˜1”v”}Ñ%Ô%­¨S°¬V¬]Ñ(;Ô(;Ñ;ˆØ×Ò˜7Ÿ=š=¨Ñ7Ô7¸Ñ;Ô;Ð;Ø×Ò˜7Ÿ=š=¨Ñ8Ô8¸!Ñ<Ô<Ð<Ð<Ð<r/   c                 ó’  — t          j        ¦   «         dz  dz  }|dz  }t          j        |¦  «        }|                      t          |j        d                              ¦   «         j        ¦  «        d¦  «         |                      t          |j        d                              ¦   «         j        ¦  «        d¦  «         |                      t          |j        d                              ¦   «         j        ¦  «        d¦  «         |                      t          |j        d                              ¦   «         j        ¦  «        d¦  «         d S )Nr>   r"   z
test12.midr   rˆ   r-   r@   )	r   rE   r   r�   r6   rK   r‘   rU  r“   r”   s       r;   ÚtestImportTruncationProblemAz!Test.testImportTruncationProblemAê  s  € åÔ)Ñ+Ô+¨fÑ4°ÑFˆØ�lÑ"ˆÝŒO˜BÑÔˆà×Ò�˜QœW QœZ×/Ò/Ñ1Ô1Ô7Ñ8Ô8¸!Ñ<Ô<Ð<Ø×Ò�˜QœW QœZ×/Ò/Ñ1Ô1Ô7Ñ8Ô8¸!Ñ<Ô<Ð<Ø×Ò�˜QœW QœZ×/Ò/Ñ1Ô1Ô7Ñ8Ô8¸!Ñ<Ô<Ð<Ø×Ò�˜QœW QœZ×/Ò/Ñ1Ô1Ô7Ñ8Ô8¸!Ñ<Ô<Ð<Ð<Ð<r/   c                 ó  — t          j        ¦   «         dz  dz  }|dz  }t          j        |¦  «        }|                      t          |                     ¦   «         j        ¦  «        d¦  «         |dz  }t          j        |¦  «        }|                      t          |t          j	                 ¦  «        d¦  «         |                      t          |j
                             ¦   «                              d¦  «        j        ¦  «        d¦  «         d S )Nr>   r"   z
test13.midrõ   z
test14.midrˆ   r@   )r   rE   r   r�   r6   rK   rU  r“   r   rh  r‘   r«  ÚmeasureÚvoicesr”   s       r;   ÚtestImportChordVoiceAzTest.testImportChordVoiceAø  sÜ   € õ Ô)Ñ+Ô+¨fÑ4°ÑFˆØ�lÑ"ˆÝŒO˜BÑÔˆà×Ò�˜QŸYšY™[œ[Ô.Ñ/Ô/°Ñ3Ô3Ð3ð �lÑ"ˆÝŒO˜BÑÔˆà×Ò�˜Q�uœ{œ^Ñ,Ô,¨aÑ0Ô0Ð0Ø×Ò�˜QœWŸ]š]™_œ_×4Ò4°QÑ7Ô7Ô>Ñ?Ô?ÀÑCÔCÐCÐCÐCr/   c                 óÐ   — t          j        ¦   «         dz  dz  }|dz  }t          j        |¦  «        }|                      t          |t          j                 ¦  «        d¦  «         d S )Nr>   r"   z
test05.midrA   )r   rE   r   r�   r6   rK   r   rh  r”   s       r;   ÚtestImportChordsAzTest.testImportChordsA  s_   € ÝÔ)Ñ+Ô+¨fÑ4°ÑFˆØ�lÑ"ˆõ ŒO˜BÑÔˆà×Ò�˜Q�uœ{œ^Ñ,Ô,¨aÑ0Ô0Ð0Ð0Ð0r/   c                 óÈ   ‡ — d ‰ _         ˆ fd„}t          j        d¦  «        }|j        d                              dd¦  «        }t          |¦  «        }g d¢} |||¦  «         d S )Nc                 ó|  •— g }t          d¦  «        D ]’}t          dt          | j        |         j        ¦  «        d¦  «        D ]a}| j        |         j        |         }| j        |         j        |dz            }|                     |j        |j        j        |j        f¦  «         ŒbŒ“‰ 	                    ||¦  «         d S )Nr@   r   r-   )
rÛ   rK   r2   rY   r3   rh   rj   Únamerl   r6   )Úmf_innerÚmatch_innerÚtriplesr\   rŒ  rs   r�   r7   s          €r;   ÚprocComparez0Test.testMidiEventsImported.<locals>.procCompare  sÂ   ø€ ØˆGÝ˜1‘X”Xð Cð C�Ý˜q¥# h¤o°aÔ&8Ô&?Ñ"@Ô"@À!ÑDÔDð Cð C�AØ œ¨Ô*Ô1°!Ô4�AØ œ¨Ô*Ô1°!°a±%Ô8�AØ—N’N A¤F¨A¬F¬K¸¼Ð#AÑBÔBÐBÐBðCð ×Ò˜W kÑ2Ô2Ð2Ð2Ð2r/   zbach/bwv66.6r   r¨   rö   )")r   rË  N)r   ÚKEY_SIGNATUREN)r   rÌ  N©é`'  rn   N)r   ÚSEQUENCE_TRACK_NAMEN)r   rŠ   N)r   ÚPROGRAM_CHANGEN©r   ri   éE   ©r  rÄ   r  )r   ri   éG   )r  rÄ   r  )r   ri   r’  )r  rÄ   r’  r  r  ©r   ri   éD   )r  rÄ   r!  ©r   ri   éB   ©r  rÄ   r#  r   )éÀN  rÄ   r!  r"  ©r%  rÄ   r#  r"  r$  r"  r&  r"  )é°  rÄ   r#  )r   ri   éA   )r'  rÄ   r(  r"  r$  r  )r(  r   r�   r‘   Úmeasuresr    )r7   r  r•   Úpartr8   rã   s   `     r;   ÚtestMidiEventsImportedzTest.testMidiEventsImported  sŠ   ø€ ØˆŒð	3ð 	3ð 	3ð 	3ð 	3õ ŒL˜Ñ(Ô(ˆØŒw�qŒz×"Ò" 1 aÑ(Ô(ˆõ ˜dÑ#Ô#ˆð!0ð !0ð !0ˆðD 	ˆ�B˜ÑÔÐÐÐr/   c                 óZ  — t          j        t          j        ¦  «        }t	          |¦  «        }t          |¦  «        }|j                             ¦   «                              d¦  «         	                    t          j        ¦  «                             ¦   «         }|                      |t          j        ¦  «         |                      |j        d¦  «         t!          j        ¦   «         dz  dz  }|dz  }t          j        |¦  «        }|                      |j        d         j        d¦  «         d S )Nr-   r   r>   r"   z
test15.midrc  )r   r�   r"   Útransposing01r    r   r‘   r«  r  r©  r	   rª  rZ   rp  r6   r¶   r   rE   ÚpartName)r7   r•   r8   ÚoutÚfirst_instrumentrQ   rR   r  s           r;   ÚtestMidiInstrumentToStreamzTest.testMidiInstrumentToStreamK  sú   € ÝŒO�MÔ7Ñ8Ô8ˆÝ˜aÑ Ô ˆÝ˜rÑ"Ô"ˆØœ9Ÿ?š?Ñ,Ô,×4Ò4°QÑ7Ô7×JÒJÝÔ!ñ#ô #ß#(¢5¡7¤7ð 	à×ÒÐ.µ
´Ñ@Ô@Ð@Ø×ÒÐ)Ô7¸Ñ;Ô;Ð;õ Ô)Ñ+Ô+¨fÑ4°ÑFˆØ�lÑ"ˆÝŒ_˜RÑ Ô ˆØ×Ò˜œ !œÔ-¨sÑ3Ô3Ð3Ð3Ð3r/   c                 óÎ  — t          j        ¦   «         dz  dz  }|dz  }t          j        |¦  «        }|                      t          |j                             ¦   «                              d¦  «        j	        ¦  «        d¦  «         |j                             ¦   «          
                    ¦   «                              d¦  «        }|                      d„ |D ¦   «         ddg¦  «         d	S )
zß
        Musescore places zero duration notes in multiple voice scenarios
        to represent double stemmed notes. Avoid false positives for extra voices.
        https://github.com/cuthbertLab/music21/issues/600
        r>   r"   z
test16.midr-   r@   rÕ   c                 ó&   — g | ]}|j         j        ‘ŒS r‚   )rü  r¶   r›   s     r;   r†   z3Test.testImportZeroDurationNote.<locals>.<listcomp>e  s   € Ð!HÐ!HÐ!H¸q !¤*Ô":Ð!HÐ!HÐ!Hr/   r   N)r   rE   r   r�   r6   rK   r‘   r«  r  r  rU  ÚgetElementsByOffsetÚassertSequenceEqual)r7   rQ   rR   r•   Úelss        r;   ÚtestImportZeroDurationNotezTest.testImportZeroDurationNoteZ  sÆ   € õ Ô)Ñ+Ô+¨fÑ4°ÑFˆØ�lÑ"ˆÝŒO˜BÑÔˆØ×Ò�˜QœWŸ]š]™_œ_×4Ò4°QÑ7Ô7Ô>Ñ?Ô?ÀÑCÔCÐCØŒg�mŠm‰oŒo×%Ò%Ñ'Ô'×;Ò;¸CÑ@Ô@ˆØ× Ò Ð!HÐ!HÀCÐ!HÑ!HÔ!HÈ1ÈaÈ&ÑQÔQÐQÐQÐQr/   c                 ó$  — t          j        t          j        ¦  «        }t	          |                     ¦   «         j        ¦  «        }t          |¦  «        }t	          |                     ¦   «         j        ¦  «        }|                      ||¦  «         d S rî   )	r   r�   r"   ÚrepeatBracketsArK   rU  r“   r   rþ  )r7   r•   Únum_notes_beforeÚpreparedÚnum_notes_afters        r;   ÚtestRepeatsExpandedzTest.testRepeatsExpandedg  ss   € ÝŒO�MÔ9Ñ:Ô:ˆÝ˜qŸyšy™{œ{Ô0Ñ1Ô1ÐÝ'¨Ñ*Ô*ˆÝ˜h×.Ò.Ñ0Ô0Ô6Ñ7Ô7ˆØ×Ò˜?Ð,<Ñ=Ô=Ð=Ð=Ð=r/   c                 ó2  — t          ¦   «         }t          dd¦  «        |_        t          |¦  «        }|                      |t
          j        ¦  «         t          dd¦  «        |_        t          |¦  «        }|                      |t
          j        ¦  «         dS )z„
        MuseScore currently writes null bytes at the end of instrument names.
        https://musescore.org/en/node/310158
        zPiccolo úutf-8r  N)r   Úbytesro   r   rZ   r	   rI  r  )r7   rÆ   r\   s      r;   Ú testNullTerminatedInstrumentNamez%Test.testNullTerminatedInstrumentNamen  sƒ   € õ
 ‘”ˆÝ˜=¨'Ñ2Ô2ˆŒ
Ý! %Ñ(Ô(ˆØ×Ò˜a¥Ô!3Ñ4Ô4Ð4õ ˜7 GÑ,Ô,ˆŒ
Ý! %Ñ(Ô(ˆØ×Ò˜a¥Ô!1Ñ2Ô2Ð2Ð2Ð2r/   c                 óâ  — d}|D ]�}|                       |¬¦  «        5  t          ¦   «         }t          |d¦  «        |_        t          j        |_        t          |¦  «        }|                      |j	        ¦  «         d d d ¦  «         n# 1 swxY w Y   ŒŽt          ¦   «         }d|_        d|_
        t          j        |_        t          |¦  «        }|                      |t          j        ¦  «         d S )N)z    zInstrument 20rª  zInst 2r	   )r  r?  r   rÚ   )ÚsubTestr   r@  ro   r   ÚINSTRUMENT_NAMErj   r   ÚassertIsNoneÚinstrumentNamerk   r   r  rZ   r	   ÚUnpitchedPercussion)r7   Ú
lousyNamesr  rÆ   r\   s        r;   ÚtestLousyInstrumentDatazTest.testLousyInstrumentData}  s  € ØTˆ
Øð 	4ð 	4ˆDØ—’ 4�Ñ(Ô(ð 4ð 4Ý!™œ�Ý" 4¨Ñ1Ô1�”
Ý'Ô7�”
Ý)¨%Ñ0Ô0�Ø×!Ò! !Ô"2Ñ3Ô3Ð3ð4ð 4ð 4ñ 4ô 4ð 4ð 4ð 4ð 4ð 4ð 4øøøð 4ð 4ð 4ð 4øõ ‘”ˆØˆŒ
ØˆŒÝ)Ô8ˆŒ
å! %Ñ(Ô(ˆØ×Ò˜a¥Ô!?Ñ@Ô@Ð@Ð@Ð@s   �ABÂB	ÂB	c                 ó~  — t          j        ¦   «         }t          j        ¦   «         }d|_        t          j        ¦   «         }|                     t	          j        d¦  «        ¦  «         |                     |¦  «         |                     d|¦  «         t          |¦  «        }|                      |j        d¦  «         d S )Nr˜   r½   r   éýÿÿÿ)	r&   rÊ   Úpriorityr3   r#   rµ   rž   r   r6   )r7   r•   rt   rÂ  ré   s        r;   ÚtestConductorStreamzTest.testConductorStream‘  s�   € ÝŒM‰OŒOˆÝŒM‰OŒOˆØˆŒ
ÝŒM‰OŒOˆØ	�Š•”˜4‘”Ñ!Ô!Ð!Ø	�Š�‰ŒˆØ	�Š��A‰ŒˆÝ# AÑ&Ô&ˆ	Ø×Ò˜Ô+¨RÑ0Ô0Ð0Ð0Ð0r/   c                 óP  — t          j        ¦   «         dz  dz  dz  }t          j        |¦  «        }|                      t          |j        d                              d¦  «        j         	                    ¦   «          
                    t          j        ¦  «        ¦  «        d¦  «         d S )Nr>   r"   r½  r-   rˆ   )r   rE   r   r�   r6   rK   r‘   r  r  Úlastr©  r#   rù  )r7   rR   Úinns      r;   ÚtestRestsMadeInVoicezTest.testRestsMadeInVoiceœ  s–   € ÝÔ%Ñ'Ô'¨&Ñ0°?ÑBÀ\ÑQˆÝŒo˜bÑ!Ô!ˆà×ÒÝ�”	˜!”×$Ò$ QÑ'Ô'Ô.×3Ò3Ñ5Ô5×HÒHÍÌÑSÔSÑTÔTÐVWñ	Yô 	Yð 	Yð 	Yð 	Yr/   c           
      ó6  — t          j        ¦   «         dz  dz  dz  }t          j        |¦  «        }|j                             ¦   «         }|                     d¦  «        }|                     d¦  «        }|                      t          |j	        ¦  «        d¦  «         |                      t          |j
        ¦  «        d¦  «         |                      |j        j        d¦  «         |                      |                     |¦  «        d¦  «         |j        D ]„}|                      |¬¦  «        5  |                      t          d	„ |                     t"          j        ¦  «        D ¦   «         ¦  «        |j        j        ¦  «         d d d ¦  «         n# 1 swxY w Y   Œ…d S )
Nr>   r"   r½  r-   r@   rˆ   g      @)r*  c              3   ó.   K  — | ]}|j         j        V — Œd S rî   )ÚbarDurationr¶   )r„   rÂ  s     r;   ró   z/Test.testRestsMadeInMeasures.<locals>.<genexpr>±  s7   è è € ð ð ¸˜œÔ3ð ð ð ð ð ð r/   )r   rE   r   r�   r‘   rO  r  r6   rK   ÚnotesAndRestsr“   rü  r¶   ÚelementOffsetrC  Úsumr©  r&   r¾  )r7   rR   rP  ÚpianoLHÚm1Úm2r*  s          r;   ÚtestRestsMadeInMeasureszTest.testRestsMadeInMeasures£  sÃ  € ÝÔ%Ñ'Ô'¨&Ñ0°?ÑBÀ\ÑQˆÝŒo˜bÑ!Ô!ˆØ”)—.’.Ñ"Ô"ˆØ�_Š_˜QÑÔˆØ�_Š_˜QÑÔˆØ×Ò�˜RÔ-Ñ.Ô.°Ñ2Ô2Ð2Ø×Ò�˜RœX™œ¨Ñ*Ô*Ð*Ø×Ò˜œÔ2°CÑ8Ô8Ð8Ø×Ò˜×.Ò.¨rÑ2Ô2°CÑ8Ô8Ð8à”Ið 	ð 	ˆDØ—’ 4�Ñ(Ô(ð ð Ø× Ò Ýð ð ¸T×=TÒ=TÝœñ>(ô >(ð ñ ô ñ ô ð ”MÔ/ñ	ô ð ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð øð	ð 	s   Ä,AFÆF	ÆF	c                 ó–   — t          j        ¦   «         }|                     t          j        ¦   «         ¦  «         t          |¦  «         d S rî   )r&   r	  rž   r	   rª  r    )r7   rt   s     r;   ÚtestEmptyExportzTest.testEmptyExport·  s>   € ÝŒK‰MŒMˆØ	�Š•Ô&Ñ(Ô(Ñ)Ô)Ð)õ 	˜ÑÔÐÐÐr/   c                 óª  — t          ¦   «         }d|_        d|_        t          j        |_        t          ¦   «         }d|_        d|_        t          j        |_        d}t          ||f||fg¦  «        }|d         d         }t          |t          j        ¦  «        sJ ‚|d         d         }t          |t          j        ¦  «        sJ ‚|                      |j        d¦  «         |                      |j        d¦  «         t          ||fg¦  «        }|d         d         }t          |t          j        ¦  «        sJ ‚|                      |j        d¦  «         dS )a]  
        Instrument instances are created from both program changes and
        track or sequence names. Since we have a MIDI file, we should not
        rely on default MIDI programs defined in the instrument module; we
        should just keep track of the active program number.
        https://github.com/cuthbertLab/music21/issues/1085
        r   r-   s   Sopranor@   é5   N)r   ro   rk   r   r  rj   r   r  r   Ú
isinstancer	   rª  r6   rð   )r7   Úevent1Úevent2ÚDUMMY_DELTA_TIMEÚmeta_event_pairsÚme0Úme1s          r;   Ú*testImportInstrumentsWithoutProgramChangesz/Test.testImportInstrumentsWithoutProgramChanges¿  sO  € õ ‘”ˆØˆŒØˆŒÝ*Ô9ˆŒå‘”ˆð !ˆŒØˆŒÝ Ô4ˆŒàÐÝ(Ð+;¸VÐ*DÐGWÐY_ÐF`Ð)aÑbÔbÐð ˜qÔ! !Ô$ˆÝ˜#�zÔ4Ñ5Ô5Ð5Ð5Ð5Ø˜qÔ! !Ô$ˆÝ˜#�zÔ4Ñ5Ô5Ð5Ð5Ð5à×Ò˜œ¨!Ñ,Ô,Ð,Ø×Ò˜œ¨!Ñ,Ô,Ð,õ )Ð+;¸VÐ*DÐ)EÑFÔFÐØ˜qÔ! !Ô$ˆÝ˜#�zÔ4Ñ5Ô5Ð5Ð5Ð5Ø×Ò˜œ¨"Ñ-Ô-Ð-Ð-Ð-r/   c           	      ó(  — t          j        t          j        ¦   «         t	          j        ¦   «         t          j        t	          j        ¦   «         t	          j        ¦   «         g¦  «        g¦  «        }t          |¦  «        }|d         }|  	                    d„ |j
        D ¦   «         dh¦  «         d„ |j
        D ¦   «         }|                      t          |¦  «        d¦  «         |                      d„ |D ¦   «         dh¦  «         |                     d¦  «         |                     dt          j        ¦   «         ¦  «         t          |¦  «        }|d         }|  	                    d	„ |j
        D ¦   «         dh¦  «         d
„ |j
        D ¦   «         }|                      t          |¦  «        d¦  «         |                      d„ |D ¦   «         dh¦  «         t          j        ¦   «         |j                             ¦   «         _        t          |¦  «        }|d         }|  	                    d„ |j
        D ¦   «         dh¦  «         d„ |j
        D ¦   «         }|                      t          |¦  «        d¦  «         |                      d„ |D ¦   «         g d¢¦  «         d S )Nr-   c                 ó   — h | ]	}|j         ’Œ
S r‚   ©rk   ©r„   Úevs     r;   ú	<setcomp>z+Test.testExportUnpitched.<locals>.<setcomp>î  s   € ÐEÐEÐE¨˜œÐEÐEÐEr/   rÚ   c                 ó8   — g | ]}|j         t          j        u ¯|‘ŒS r‚   ©rj   r   ri   rk  s     r;   r†   z,Test.testExportUnpitched.<locals>.<listcomp>ï  s3   € ð 
ð 
ð 
ØØŒwÕ.Ô6Ð6Ð6ð Ø6Ð6Ð6r/   rˆ   c                 ó   — h | ]	}|j         ’Œ
S r‚   ©rl   rk  s     r;   rm  z+Test.testExportUnpitched.<locals>.<setcomp>ô  ó   € Ð6Ð6Ð6 r˜"œ(Ð6Ð6Ð6r/   é#   r   c                 ó   — h | ]	}|j         ’Œ
S r‚   rj  rk  s     r;   rm  z+Test.testExportUnpitched.<locals>.<setcomp>ý  s   € Ð@Ð@Ð@¨˜œÐ@Ð@Ð@r/   c                 ó8   — g | ]}|j         t          j        u ¯|‘ŒS r‚   ro  rk  s     r;   r†   z,Test.testExportUnpitched.<locals>.<listcomp>þ  s2   € ð Wð Wð WØ¨b¬gÕ9MÔ9UÐ.UÐ.UˆBÐ.UÐ.UÐ.Ur/   c                 ó   — h | ]	}|j         ’Œ
S r‚   rq  rk  s     r;   rm  z+Test.testExportUnpitched.<locals>.<setcomp>  rr  r/   r`   c                 ó   — h | ]	}|j         ’Œ
S r‚   rj  rk  s     r;   rm  z+Test.testExportUnpitched.<locals>.<setcomp>	  s   € ÐAÐAÐA¨˜œÐAÐAÐAr/   c                 ó8   — g | ]}|j         t          j        u ¯|‘ŒS r‚   ro  rk  s     r;   r†   z,Test.testExportUnpitched.<locals>.<listcomp>
  s2   € ð Xð Xð XØ¨r¬wÕ:NÔ:VÐ/VÐ/VˆBÐ/VÐ/VÐ/Vr/   c                 ó   — g | ]	}|j         ‘Œ
S r‚   rq  rk  s     r;   r†   z,Test.testExportUnpitched.<locals>.<listcomp>  rr  r/   )éC   r`   r`   )r&   r¾  r	   r  r#   Ú	Unpitchedr$   ÚPercussionChordr   rà   rY   r6   rK   Úpoprž   rª  ÚAgogor“   r«  ÚstoredInstrument)r7   rÂ  r2   Úbass_drum_trackÚnote_onsÚ
drum_trackÚmixed_tracks          r;   ÚtestExportUnpitchedzTest.testExportUnpitchedå  s™  € ÝŒNÝÔÑ!Ô!ÝŒNÑÔÝÔ&­¬Ñ(8Ô(8½$¼.Ñ:JÔ:JÐ'KÑLÔLð
ñ ô ˆõ
 -¨QÑ/Ô/ˆØ  œ)ˆà�ŠÐEÐE¨oÔ.DÐEÑEÔEÈÀtÑLÔLÐLð
ð 
Ø(Ô/ð
ñ 
ô 
ˆð 	×Ò�˜X™œ¨Ñ*Ô*Ð*Ø×ÒÐ6Ð6¨XÐ6Ñ6Ô6¸¸Ñ=Ô=Ð=ð 	
�Šˆa‰ŒˆØ	�Š�•JÔ)Ñ+Ô+Ñ,Ô,Ð,å,¨QÑ/Ô/ˆØ˜A”Yˆ
à�ŠÐ@Ð@¨jÔ.?Ð@Ñ@Ô@À2À$ÑGÔGÐGðWð WØ#Ô*ðWñ Wô Wˆà×Ò�˜X™œ¨Ñ*Ô*Ð*Ø×ÒÐ6Ð6¨XÐ6Ñ6Ô6¸¸Ñ=Ô=Ð=õ ,6Ô+;Ñ+=Ô+=ˆŒ�Š‰ŒÔ(å,¨QÑ/Ô/ˆØ˜Q”iˆà�ŠÐAÐA¨kÔ.@ÐAÑAÔAÀBÀ4ÑHÔHÐHðXð XØ$Ô+ðXñ Xô Xˆà×Ò�˜X™œ¨Ñ*Ô*Ð*Ø×ÒÐ6Ð6¨XÐ6Ñ6Ô6¸¸¸ÑEÔEÐEÐEÐEr/   c                 ó@  — g d¢}g d¢}dd|fdd|fdd|fdd	|fg}|D ]€\  }}}t          j        ¦   «         d
z  dz  |z  }t          j        ||¬¦  «        }t	          |                     ¦   «         j        |¦  «        D ] \  }	}
|                      |	j        |
¦  «         Œ!Œ�d S )N)"õ   æ˜Žu   å±±u   æ¶Œu   æ°´õ   éƒ�r‡  õ   è‘±Ú rˆ  u   é’Ÿu   ç�µu   æ¯“u   ç§€u   æµ·u   å¤©r‰  u   ä¸œõ   æµŽrŠ  u   å¤šu   å£«u   å››u   æ–¹u   æ‰€r‰  u   å´‡u   æ—©r‰  u   è‚²r‰  u   æ–‡r†  r‰  u   ç§�)"õ   ë¹›u   ë‚ õ   ì„¸u   ë�¼u   ì˜�u   ì›…u   ì—´r‰  u   ì‚¬u   ë§ŒrŒ  u   ë¶ˆu   ë§�u   í•˜u   ì‹¤r‰  õ   ì�´u   ì˜›u   ì �r�  õ   ë‚˜u   ì§€u   ê¸ˆr�  r‰  rŽ  u   í•­u   ìƒ�u   ì•™u   ëª¨u   í•©u   ë‹ˆr‰  u   ë‹¤z
test18.midr?  z
test19.midÚgbkz
test20.midz
test21.midúeuc-krr>   r"   )Úencoding)	r   rE   r   r�   ÚziprU  r“   r6   Úlyric)r7   ÚlyricFactZhÚlyricFactKoÚ	testCasesÚfilenamer‘  Ú	lyricFactrR   r•   rÎ   ÚlyricStrs              r;   ÚtestMidiImportLyricszTest.testMidiImportLyrics  sö   € ðFð Fð FˆðLð Lð Lˆð
 ˜7 KÐ0Ø˜5 +Ð.Ø˜7 KÐ0Ø˜8 [Ð1ð	
ˆ	ð .7ð 	4ð 	4Ñ)ˆH�h 	ÝÔ)Ñ+Ô+¨fÑ4°ÑFÈÑQˆBÝ” ¨XÐ6Ñ6Ô6ˆAÝ!$ Q§Y¢Y¡[¤[Ô%6¸	Ñ!BÔ!Bð 4ð 4‘��HØ× Ò  ¤¨(Ñ3Ô3Ð3Ð3ð4ð	4ð 	4r/   c                 ó:  — d}d}d}d|fd|fd|fd|fd|fd|fd|fg}|D �]y\  }}|                       ||¬¦  «        5  t          j        ¦   «         }t          j        ¦   «         }t          j        ¦   «         }	t	          j        d¦  «        }
||
_        t	          j        d	¦  «        }||_        |                     |
¦  «         |	                     |¦  «         |                     |¦  «         |                     |	¦  «         t          j	        |d
|¬¦  «        }|  
                    |t          ¦  «         t          j        |d
|¬¦  «        }|                     ¦   «         j        D ]}|                      |j        |¦  «         Œ	 d d d ¦  «         n# 1 swxY w Y   �Œ{d S )NÚcatr†  r‹  r?  r�  r�  )r‘  r“  rv  rÊ  r>   )Úfmtr‘  )rC  r&   r  r	  r#   rµ   r“  r3   r   ÚtoDatarZ   r@  Ú	parseDatarU  r“   r6   )r7   ÚlyricEnÚlyricZhÚlyricKor–  r‘  r“  r•   r:  r;  r¸   rº   rf  rÂ  rÎ   s                  r;   ÚtestMidiExportLyricszTest.testMidiExportLyrics%  sà  € ØˆØˆØˆð �gÐØ�GÐØ�wÐØ�gÐØ�GÐØ�gÐØ�wÐð
ˆ	ð  )ð 	5ñ 	5‰OˆH�eØ—’ x°u�Ñ=Ô=ð 5ð 5Ý”L‘N”N�Ý”[‘]”]�Ý”[‘]”]�å”Y˜t‘_”_�Ø �”Ý”Y˜t‘_”_�Ø �”à—	’	˜"‘”�Ø—	’	˜"‘”�à—’˜‘”�Ø—’˜‘”�åÔ$ Q¨F¸XÐFÑFÔF�Ø×%Ò% a­Ñ/Ô/Ð/åÔ'¨¨vÀÐIÑIÔI�ØŸš™œÔ*ð 5ð 5�AØ×$Ò$ Q¤W¨eÑ4Ô4Ð4Ð4ð5ð)5ð 5ð 5ñ 5ô 5ð 5ð 5ð 5ð 5ð 5ð 5øøøð 5ð 5ð 5ð 5ùð	5ð 	5s   ½EFÆF	ÆF	c                 ó¢  — ddl m} t          j        ¦   «         }|                     t          j        dd¬¦  «        d¦  «         t          |¦  «        }|j        d         j	        d         }|  
                    |j        |j        ¦  «         t          |d	¬
¦  «        }|j        d         j	        d         }|  
                    |j        d¦  «         d S )Nr   ©Údefaultsr½   r¾   r¿   r@   r  r˜   F©ÚaddEndDelay)Úmusic21r¦  r&   rÊ   r7  r#   rµ   r    r2   rY   r6   rh   ÚticksAtStart)r7   r¦  r•   Ú	mfDefaultÚendDtDefaultÚ	mfNoDelayÚendDtNoDelays          r;   ÚtestAddEndDelayzTest.testAddEndDelayK  sÊ   € Ø$Ð$Ð$Ð$Ð$Ð$ÝŒM‰OŒOˆØ	�Š•t”y °SÐ9Ñ9Ô9¸1Ñ=Ô=Ð=õ % QÑ'Ô'ˆ	Ø Ô'¨Ô+Ô2°2Ô6ˆØ×Ò˜Ô*¨HÔ,AÑBÔBÐBõ % Q°EÐ:Ñ:Ô:ˆ	Ø Ô'¨Ô+Ô2°2Ô6ˆØ×Ò˜Ô*¨AÑ.Ô.Ð.Ð.Ð.r/   c                 óÐ   — ddl m} ddlm} |                       |¦   «         d         j        |j        ¦  «         |                       |d¬¦  «        d         j        d¦  «         d S )Nr   r¥  )ÚgetEndEventsFr§  )r©  r¦  Úmusic21.midi.translater±  r6   rh   rª  )r7   r¦  r±  s      r;   ÚtestGetEndEventsAddEndDelayz Test.testGetEndEventsAddEndDelayZ  s~   € Ø$Ð$Ð$Ð$Ð$Ð$Ø7Ð7Ð7Ð7Ð7Ð7Ø×Ò˜˜™œ¨Ô*Ô/°Ô1FÑGÔGÐGØ×Ò˜˜°%Ð8Ñ8Ô8¸Ô;Ô@À!ÑDÔDÐDÐDÐDr/   )ró  N)@Ú__name__Ú
__module__Ú__qualname__r<   rT   r]   rx   r|   rŽ   r–   r¦   r«   r²   r»   rÓ   rä   rê   r  r&  r0  r=  rR  rX  r^  rk  rt  r}  r�  r�  r•  rŸ  r¥  r¬  r±  r»  rÄ  rÇ  rÑ  rÔ  rÞ  rà  ræ  rí  rò  r  r	  r  r  r+  r1  r7  r=  rA  rI  rM  rQ  r[  r]  rg  r„  rš  r£  r¯  r³  r‚   r/   r;   r+   r+   6   sõ  € € € € € ðQð Qð QðIð Ið Ið`ð ð ð>;ð ;ð ;ðzð ð ðIð Ið IðV?ð ?ð ?ð;ð ;ð ;ð2@ð @ð @ðBð Bð Bð60ð 0ð 0ð Bð Bð Bð> Yð  Yð  YðD4ð 4ð 4ð(6Lð 6Lð 6Lðp.Jð .Jð .Jð`8Eð 8Eð 8Eðt'ð 'ð 'ð,'ð 'ð 'ð4Ið Ið Ið8'ð 'ð 'ð,'ð 'ð 'ð*'ð 'ð 'ð6'ð 'ð 'ð7ð 7ð 7ð@4ð 4ð 4ð@&;ð &;ð &;ðT:ð :ð :ð(:ð :ð :ð6;ð ;ð ;ðD4ð 4ð 4ð0
ð 
ð 
ð(!ð !ð !ð!ð !ð !ð,Bð Bð Bð@=ð =ð =ð:ð :ð :ð=ð =ð =ð0ð 0ð 0ð(0ð 0ð 0ð:ð :ð :ð,=ð ,=ð ,=ð ,=ð^	=ð 	=ð 	=ðDð Dð Dð(1ð 1ð 1ð4ð 4ð 4ðl4ð 4ð 4ðRð Rð Rð>ð >ð >ð3ð 3ð 3ðAð Að Að(	1ð 	1ð 	1ðYð Yð Yðð ð ð(ð ð ð$.ð $.ð $.ðL(Fð (Fð (FðT4ð 4ð 4ð,$5ð $5ð $5ðL/ð /ð /ðEð Eð Eð Eð Er/   r+   Ú__main__)7Úbinasciir   rÜ   rM   rÖ  rN  Úunittestr©  r   r   r   r   r   r	   r
   r   r   Úmusic21.midi.baser   r   r   r   r   r   r²  r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   Úmusic21.musicxmlr"   r#   r$   r%   r&   r'   r(   r)   ÚEnvironmentrF   ÚTestCaser+   r´  ÚmainTestr‚   r/   r;   ú<module>r¿     sù  ðØ Ð Ð Ð Ð Ð Ø €€€Ø 	€	€	€	Ø €€€Ø €€€Ø €€€à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð" +Ð *Ð *Ð *Ð *Ð *Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à&ˆ{Ô& |Ñ4Ô4€ðhEð hEð hEð hEð hEˆ8Ôñ hEô hEð hEðX1 ˆzÒÐØ€N€N€NØ€GÔ�TÑÔÐÐÐð Ðr/   