§
    ƒØj4k  ã                  óú   — d dl m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mZ  G d	„ d
ej        ¦  «        Z G d„ dej        ¦  «        Zedk    rd dlZ ej        e¦  «         dS dS )é    )ÚannotationsN)Úcommon)Úduration)Únote)Ústream)ÚTimeSignature)ÚMeterSequenceÚMeterTerminalc                  ó*   — e Zd ZdZd„ Zd„ Zd„ Zd„ ZdS )ÚTestExternalTc                ó^   — t          d¦  «        }| j        r|                     ¦   «          dS dS )z?
        Need to test direct meter creation w/o stream
        ú3/16N)r   Úshow©ÚselfÚas     úˆ/Users/tedpeters/Documents/Projects/Claude Projects/Misc Tools/notename-sheets/.venv/lib/python3.11/site-packages/music21/meter/tests.pyÚ
testSinglezTestExternal.testSingle   s6   € õ ˜&Ñ!Ô!ˆØŒ9ð 	Ø�FŠF‰HŒHˆHˆHˆHð	ð 	ó    c                ó   — t          j        ¦   «         }dD ]Z}dD ]U}t          |› d|› �¦  «        }t          j        ¦   «         }||_        |                     |j        j        j        |¦  «         ŒVŒ[| j        r|                     ¦   «          d S d S )N©é   é   é   é   é   é    ©
r   é   r   é   é   é   é	   é   é   é   ú/)	r   ÚStreamr   ÚMeasureÚtimeSignatureÚinsertÚbarDurationÚquarterLengthr   )r   r   ÚmeterStrDenominatorÚmeterStrNumeratorÚtsÚms         r   Ú	testBasiczTestExternal.testBasic#   s®   € ÝŒM‰OŒOˆØ#7ð 	Gð 	GÐØ%Fð Gð GÐ!Ý"Ð&7Ð#OÐ#OÐ:MÐ#OÐ#OÑPÔP�Ý”NÑ$Ô$�Ø"$�”Ø—’˜œÔ4ÔBÀAÑFÔFÐFÐFð	Gð
 Œ9ð 	Ø�FŠF‰HŒHˆHˆHˆHð	ð 	r   c                ó2  — t          j        ¦   «         }g d¢}g d¢}t          d¦  «        D ]Î}g }t          dt          j        ddg¦  «        ¦  «        D ]D}t          j        |¦  «        }t          j        |¦  «        }|                     |› d|› �¦  «         ŒEt          d                     |¦  «        ¦  «        }	t          j        ¦   «         }
|	|
_	        | 
                    |
j	        j        j        |
¦  «         ŒÏ| j        r|                     ¦   «          d S d S )	Nr   r   r   r   r   r   r'   ú+)r   r(   ÚrangeÚrandomÚchoiceÚappendr   Újoinr)   r*   r+   r,   r-   r   )r   r   r.   r/   ÚiÚmsgÚjÚ	numeratorÚdenominatorr0   r1   s              r   ÚtestCompoundzTestExternal.testCompound.   s  € ÝŒM‰OŒOˆØ2Ð2Ð2ÐØ=Ð=Ð=Ðå�q‘”ð 		Cð 		CˆAØˆCÝ˜1�fœm¨Q°¨FÑ3Ô3Ñ4Ô4ð 9ð 9�Ý"œMÐ*;Ñ<Ô<�	Ý$œmÐ,?Ñ@Ô@�Ø—
’
˜iÐ7Ð7¨+Ð7Ð7Ñ8Ô8Ð8Ð8Ý˜sŸxšx¨™}œ}Ñ-Ô-ˆBÝ”Ñ Ô ˆAØ ˆAŒOØ�HŠH�Q”_Ô0Ô>ÀÑBÔBÐBÐBØŒ9ð 	Ø�FŠF‰HŒHˆHˆHˆHð	ð 	r   c                óJ  — t          dd¦  «        }t          j        d¦  «        gdz  }t          j        ¦   «         }|                     d|¦  «         |D ]1}t          j        ¦   «         }||_        |                     |¦  «         Œ2| j	        r| 	                    ¦   «          d S d S )Nú6/8r   Ú16thr%   r   )
r   r   ÚDurationr   r(   r+   r   ÚNoter8   r   )r   r0   ÚbÚsÚxÚns         r   ÚtestMeterBeamzTestExternal.testMeterBeam@   sœ   € Ý˜5 !Ñ$Ô$ˆÝÔ˜vÑ&Ô&Ð'¨"Ñ,ˆÝŒM‰OŒOˆØ	�Š��B‰ŒˆØð 	ð 	ˆAÝ”	‘”ˆAØˆAŒJØ�HŠH�Q‰KŒKˆKˆKØŒ9ð 	Ø�FŠF‰HŒHˆHˆHˆHð	ð 	r   N)Ú__name__Ú
__module__Ú__qualname__r   r   r2   r?   rI   © r   r   r   r      sU   € € € € € Ø€Dðð ð ð	ð 	ð 	ðð ð ð$
ð 
ð 
ð 
ð 
r   r   c                  óŒ   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestc                ó˜  — t          ¦   «         }|                     dd¦  «         |                      t          |¦  «        d¦  «         |d                              d¦  «        |d<   |                      t          |¦  «        d¦  «         |d                              d¦  «        |d<   |                      t          |¦  «        d¦  «         d S )	Nú4/4r   z{1/4+1/4+1/4+1/4}r   r   z{{1/8+1/8}+1/4+1/4+1/4}r   z){{1/8+1/8}+1/4+1/4+{1/16+1/16+1/16+1/16}})r	   ÚloadÚassertEqualÚstrÚ	subdivider   s     r   ÚtestMeterSubdivisionzTest.testMeterSubdivisionN   s®   € Ý‰OŒOˆØ	�Šˆu�aÑÔÐØ×Ò�˜Q™œÐ!4Ñ5Ô5Ð5à�Œt�~Š~˜aÑ Ô ˆˆ!‰Ø×Ò�˜Q™œÐ!:Ñ;Ô;Ð;à�Œt�~Š~˜aÑ Ô ˆˆ!‰Ø×Ò�˜Q™œÐ!LÑMÔMÐMÐMÐMr   c                ó¢   — t          ¦   «         }|                     dd¦  «         t          j        |¦  «        }|                      ||¦  «         d S )NrQ   r   )r	   rR   ÚcopyÚdeepcopyÚassertIsNot)r   r   rE   s      r   ÚtestMeterSequenceDeepcopyzTest.testMeterSequenceDeepcopyY   sJ   € Ý‰OŒOˆØ	�Šˆu�aÑÔÐÝŒM˜!ÑÔˆØ×Ò˜˜AÑÔÐÐÐr   c                ó  — t          d¦  «        }t          j        |¦  «        }|                      ||¦  «         |                      ||¦  «         t          d¦  «        }t          d¦  «        }|                      ||¦  «         d S )NrQ   úslow 6/8zfast 6/8)r   rX   rY   rZ   rS   ÚassertNotEqual)r   ÚcÚdÚeÚfs        r   ÚtestTimeSignatureDeepcopyzTest.testTimeSignatureDeepcopya   s€   € Ý˜%Ñ Ô ˆÝŒM˜!ÑÔˆØ×Ò˜˜AÑÔÐØ×Ò˜˜AÑÔÐå˜*Ñ%Ô%ˆÝ˜*Ñ%Ô%ˆØ×Ò˜A˜qÑ!Ô!Ð!Ð!Ð!r   c                óÜ   — t          d¦  «        }g d¢}d„ |D ¦   «         }|                     |¦  «        }d}|                      t          j        t          |¦  «        |¦  «        ¦  «         d S )NrA   )
r   r   r   r   r   r   r   r   r   r   c                ó>   — g | ]}t          j        d |z  ¬¦  «        ‘ŒS )r   ©r-   )r   rD   )Ú.0r`   s     r   ú
<listcomp>z%Test.testGetBeams.<locals>.<listcomp>o   s)   € ÐEÐEÐE¸•T”Y¨Q°©UÐ3Ñ3Ô3ÐEÐEÐEr   a6  [<music21.beam.Beams <music21.beam.Beam 1/start>/<music21.beam.Beam 2/start>>,
        <music21.beam.Beams <music21.beam.Beam 1/continue>/<music21.beam.Beam 2/continue>>,
        <music21.beam.Beams <music21.beam.Beam 1/continue>/<music21.beam.Beam 2/continue>>,
        <music21.beam.Beams <music21.beam.Beam 1/continue>/<music21.beam.Beam 2/stop>>,
        <music21.beam.Beams <music21.beam.Beam 1/stop>>,
        <music21.beam.Beams <music21.beam.Beam 1/start>/<music21.beam.Beam 2/start>>,
        <music21.beam.Beams <music21.beam.Beam 1/continue>/<music21.beam.Beam 2/continue>>,
        <music21.beam.Beams <music21.beam.Beam 1/continue>/<music21.beam.Beam 2/continue>>,
        <music21.beam.Beams <music21.beam.Beam 1/continue>/<music21.beam.Beam 2/stop>>,
        <music21.beam.Beams <music21.beam.Beam 1/stop>>])r   ÚgetBeamsÚ
assertTruer   ÚwhitespaceEqualrT   )r   r0   ÚdurListÚ	notesListÚbeamsÚmatchs         r   ÚtestGetBeamszTest.testGetBeamsk   sr   € Ý˜5Ñ!Ô!ˆØ8Ð8Ð8ˆàEÐE¸WÐEÑEÔEˆ	Ø—’˜IÑ&Ô&ˆð	<ˆð 	�Š�Ô.­s°5©z¬z¸5ÑAÔAÑBÔBÐBÐBÐBr   c                ó&  — t          j        ¦   «         }|                     t          j        d¬¦  «        d¦  «         t          d¦  «        }|                     |d¬¦  «        }|                      |d         ¦  «         |dd	…         D ]}|                      |¦  «         Œd
}|  	                    t          j        t          |¦  «        |¦  «        ¦  «         |                     t          j        d¬¦  «        ¦  «         |                     |d¬¦  «        }d}|  	                    t          j        t          |¦  «        |¦  «        t          |¦  «        ¦  «         t          j        ¦   «         }|                     t          j        d¬¦  «        d¦  «         t          d¦  «        }|                     |d¬¦  «        }d
}|  	                    t          j        t          |¦  «        |¦  «        ¦  «         t          j        ¦   «         }|                     t          j        d¬¦  «        d¦  «         t          d¦  «        }|                     |d¬¦  «        }d}|  	                    t          j        t          |¦  «        |¦  «        ¦  «         |                     t          j        d¬¦  «        ¦  «         |                     |d¬¦  «        }d}|  	                    t          j        t          |¦  «        |¦  «        t          |¦  «        ¦  «         d	S )zw
        Test getting Beams from a Measure that has an anacrusis that makes the
        first note not beamed.
        Úeighth©Útyper    ú2/2ç      ø?)ÚmeasureStartOffsetr   r   Nzó[None,
        <music21.beam.Beams <music21.beam.Beam 1/start>>,
        <music21.beam.Beams <music21.beam.Beam 1/continue>>,
        <music21.beam.Beams <music21.beam.Beam 1/continue>>,
        <music21.beam.Beams <music21.beam.Beam 1/stop>>]ç      ð?aX  [<music21.beam.Beams <music21.beam.Beam 1/start>>,
        <music21.beam.Beams <music21.beam.Beam 1/stop>>,
        <music21.beam.Beams <music21.beam.Beam 1/start>>,
        <music21.beam.Beams <music21.beam.Beam 1/continue>>,
        <music21.beam.Beams <music21.beam.Beam 1/continue>>,
        <music21.beam.Beams <music21.beam.Beam 1/stop>>]ú3/2g      @r   rA   z¶[None,
        <music21.beam.Beams <music21.beam.Beam 1/start>>,
        <music21.beam.Beams <music21.beam.Beam 1/continue>>,
        <music21.beam.Beams <music21.beam.Beam 1/stop>>]ç      à?a  [<music21.beam.Beams <music21.beam.Beam 1/start>>,
        <music21.beam.Beams <music21.beam.Beam 1/stop>>,
        <music21.beam.Beams <music21.beam.Beam 1/start>>,
        <music21.beam.Beams <music21.beam.Beam 1/continue>>,
        <music21.beam.Beams <music21.beam.Beam 1/stop>>])r   r)   ÚrepeatAppendr   rD   r   ri   ÚassertIsNoneÚassertIsNotNonerj   r   rk   rT   r8   )r   r1   r0   rn   rE   ro   s         r   Útest_getBeams_offsetzTest.test_getBeams_offset~   s   € õ
 ŒNÑÔˆØ	�Š•t”y hÐ/Ñ/Ô/°Ñ3Ô3Ð3Ý˜5Ñ!Ô!ˆà—’˜A°#�Ñ6Ô6ˆØ×Ò˜% œ(Ñ#Ô#Ð#Ø�q�r�r”ð 	$ð 	$ˆAØ× Ò  Ñ#Ô#Ð#Ð#ð<ˆð
 	�Š�Ô.­s°5©z¬z¸5ÑAÔAÑBÔBÐBà	�Š•” Ð)Ñ)Ô)Ñ*Ô*Ð*Ø—’˜A°#�Ñ6Ô6ˆð<ˆð 	�Š�Ô.­s°5©z¬z¸5ÑAÔAÅ3ÀuÁ:Ä:ÑNÔNÐNåŒNÑÔˆØ	�Š•t”y hÐ/Ñ/Ô/°Ñ3Ô3Ð3Ý˜5Ñ!Ô!ˆà—’˜A°#�Ñ6Ô6ˆð<ˆð
 	�Š�Ô.­s°5©z¬z¸5ÑAÔAÑBÔBÐBõ ŒNÑÔˆØ	�Š•t”y hÐ/Ñ/Ô/°Ñ3Ô3Ð3Ý˜5Ñ!Ô!ˆØ—’˜A°#�Ñ6Ô6ˆð<ˆð 	�Š�Ô.­s°5©z¬z¸5ÑAÔAÑBÔBÐBà	�Š•” Ð)Ñ)Ô)Ñ*Ô*Ð*Ø—’˜A°#�Ñ6Ô6ˆð<ˆð
 	�Š�Ô.­s°5©z¬z¸5ÑAÔAÅ3ÀuÁ:Ä:ÑNÔNÐNÐNÐNr   c                óÞ  — t          d¦  «        }t          t          |¦  «        ¦  «        D ]Ð}||                              d¦  «        ||<   t          t          ||         ¦  «        ¦  «        D ]�}||         |                              d¦  «        ||         |<   t          t          ||         |         ¦  «        ¦  «        D ]8}||         |         |                              d¦  «        ||         |         |<   Œ9ŒŽŒÑg d¢}t          d¦  «        D ]:}|dz  }|                     |d¬¦  «        }|                      |||         ¦  «         Œ;g d¢}t          d	¦  «        D ]=}|dz  dz   }|                     |d
¬¦  «        }|                      |||         ¦  «         Œ>g d¢}t          d¦  «        D ]=}|dz  dz   }|                     |d¬¦  «        }|                      |||         ¦  «         Œ>d S )NrQ   r   )r   r   r   r   r   r   r   r   r   rz   Ústart)Úalign)r   r   r   r   r   r   r   r"   Úendç      Ð?Úquantize)r	   r5   ÚlenrU   ÚoffsetToDepthrS   )	r   r   Úhr:   r<   ro   rG   ÚposÚtests	            r   ÚtestOffsetToDepthzTest.testOffsetToDepth½   s  € å˜%Ñ Ô ˆÝ•s˜1‘v”v‘”ð 	9ð 	9ˆAØ�Q”4—>’> !Ñ$Ô$ˆAˆa‰DÝ�3˜q œt™9œ9Ñ%Ô%ð 9ð 9�Ø˜Aœ$˜qœ'×+Ò+¨AÑ.Ô.��!”�Q‘Ý�s 1 Q¤4¨¤7™|œ|Ñ,Ô,ð 9ð 9�AØ!" 1¤ a¤¨¤×!5Ò!5°aÑ!8Ô!8�A�a”D˜”G˜A‘J�Jð9ð9ð )Ð(Ð(ˆÝ�q‘”ð 	-ð 	-ˆAØ�c‘'ˆCØ—?’? 3¨g�?Ñ6Ô6ˆDØ×Ò˜T 5¨¤8Ñ,Ô,Ð,Ð,à%Ð%Ð%ˆÝ�q‘”ð 	-ð 	-ˆAØ�s‘7˜c‘/ˆCØ—?’? 3¨e�?Ñ4Ô4ˆDà×Ò˜T 5¨¤8Ñ,Ô,Ð,Ð,ð )Ð(Ð(ˆÝ�q‘”ð 	-ð 	-ˆAØ�s‘7˜dÑ"ˆCØ—?’? 3¨j�?Ñ9Ô9ˆDØ×Ò˜T 5¨¤8Ñ,Ô,Ð,Ð,ð	-ð 	-r   c                ó(	  — g d¢}|D ]Å}t          |¦  «        }|                      t          |j        ¦  «        d¦  «         |                      |j        d¦  «         |j        dk    r.|j        D ]%}|                      t          |¦  «        d¦  «         Œ&Œ�|j        dk    r-|j        D ]%}|                      t          |¦  «        d¦  «         Œ&ŒÆg d¢}|D ]Å}t          |¦  «        }|                      t          |j        ¦  «        d¦  «         |                      |j        d¦  «         |j        dk    r.|j        D ]%}|                      t          |¦  «        d¦  «         Œ&Œ�|j        dk    r-|j        D ]%}|                      t          |¦  «        d¦  «         Œ&ŒÆg d	¢}|D ]y}t          |¦  «        }|                      t          |j        ¦  «        d
¦  «         |                      |j        d¦  «         |j        D ]}|                      |t          ¦  «         ŒŒzg d¢}|D ]Å}t          |¦  «        }|                      t          |j        ¦  «        d¦  «         |                      |j        d¦  «         |j        dk    r.|j        D ]%}|                      t          |¦  «        d¦  «         Œ&Œ�|j        dk    r-|j        D ]%}|                      t          |¦  «        d¦  «         Œ&ŒÆg d¢}|D ]Å}t          |¦  «        }|                      t          |j        ¦  «        d¦  «         |                      |j        d¦  «         |j        dk    r.|j        D ]%}|                      t          |¦  «        d¦  «         Œ&Œ�|j        dk    r-|j        D ]%}|                      t          |¦  «        d¦  «         Œ&ŒÆg d¢}|D ]Œ}t          |¦  «        }|                      t          |j        ¦  «        d¦  «         |                      |j        d¦  «         |j        dk    r-|j        D ]%}|                      t          |¦  «        d¦  «         Œ&Œ�g d¢}|D ]G}|                     d¦  «        \  }}t          |¦  «        }|                      |j        |dz   ¦  «         ŒHd S )N)ru   ú2/4z2/8z6/4rA   ú6/16r   ÚDupler!   r   )ry   ú3/4ú9/4ú9/8z9/16ÚTripler#   )ú3/8r   z3/32r   ÚSingle)z4/2rQ   z4/8z12/4ú12/8z12/16r   Ú	Quadrupler%   )z5/2ú5/4ú5/8z15/4z15/8z15/16r    Ú	Quintupleé   )ú18/4z18/8z18/16ÚSextupleé   )z13/4z19/8z17/16r'   z-uple)	r   rS   r…   ÚbeatSequenceÚbeatCountNamer=   ÚassertIsInstancer
   Úsplit)r   ÚsrcÚtsStrr0   ÚmsÚ	firstPartÚunuseds          r   ÚtestDefaultBeatPartitionszTest.testDefaultBeatPartitionsÜ   s  € Ø9Ð9Ð9ˆØð 		1ð 		1ˆEÝ˜uÑ%Ô%ˆBØ×Ò�S ¤Ñ1Ô1°1Ñ5Ô5Ð5Ø×Ò˜RÔ-¨wÑ7Ô7Ð7ØŒ|˜qÒ Ð Øœ/ð 1ð 1�BØ×$Ò$¥S¨¡W¤W¨aÑ0Ô0Ð0Ð0ð1à” Ò"Ð"Øœ/ð 1ð 1�BØ×$Ò$¥S¨¡W¤W¨aÑ0Ô0Ð0Ð0øà2Ð2Ð2ˆØð 		1ð 		1ˆEÝ˜uÑ%Ô%ˆBØ×Ò�S ¤Ñ1Ô1°1Ñ5Ô5Ð5Ø×Ò˜RÔ-¨xÑ8Ô8Ð8ØŒ|˜qÒ Ð Øœ/ð 1ð 1�BØ×$Ò$¥S¨¡W¤W¨aÑ0Ô0Ð0Ð0ð1à” Ò"Ð"Øœ/ð 1ð 1�BØ×$Ò$¥S¨¡W¤W¨aÑ0Ô0Ð0Ð0øà%Ð%Ð%ˆØð 	9ð 	9ˆEÝ˜uÑ%Ô%ˆBØ×Ò�S ¤Ñ1Ô1°1Ñ5Ô5Ð5Ø×Ò˜RÔ-¨xÑ8Ô8Ð8Ø”oð 9ð 9�Ø×%Ò% b­-Ñ8Ô8Ð8Ð8ð9ð =Ð<Ð<ˆØð 		1ð 		1ˆEÝ˜uÑ%Ô%ˆBØ×Ò�S ¤Ñ1Ô1°1Ñ5Ô5Ð5Ø×Ò˜RÔ-¨{Ñ;Ô;Ð;ØŒ|˜qÒ Ð Øœ/ð 1ð 1�BØ×$Ò$¥S¨¡W¤W¨aÑ0Ô0Ð0Ð0ð1à” Ò#Ð#Øœ/ð 1ð 1�BØ×$Ò$¥S¨¡W¤W¨aÑ0Ô0Ð0Ð0øà<Ð<Ð<ˆØð 		1ð 		1ˆEÝ˜uÑ%Ô%ˆBØ×Ò�S ¤Ñ1Ô1°1Ñ5Ô5Ð5Ø×Ò˜RÔ-¨{Ñ;Ô;Ð;ØŒ|˜qÒ Ð Øœ/ð 1ð 1�BØ×$Ò$¥S¨¡W¤W¨aÑ0Ô0Ð0Ð0ð1à” Ò#Ð#Øœ/ð 1ð 1�BØ×$Ò$¥S¨¡W¤W¨aÑ0Ô0Ð0Ð0øà'Ð'Ð'ˆØð 	1ð 	1ˆEÝ˜uÑ%Ô%ˆBØ×Ò�S ¤Ñ1Ô1°1Ñ5Ô5Ð5Ø×Ò˜RÔ-¨zÑ:Ô:Ð:ØŒ|˜rÒ!Ð!Øœ/ð 1ð 1�BØ×$Ò$¥S¨¡W¤W¨aÑ0Ô0Ð0Ð0øð (Ð'Ð'ˆØð 	Dð 	DˆEØ %§¢¨CÑ 0Ô 0ÑˆI�vÝ˜uÑ%Ô%ˆBà×Ò˜RÔ-¨y¸7Ñ/BÑCÔCÐCÐCð		Dð 	Dr   c                ó|  — g d¢g d¢g d¢g d¢g d¢g d¢g d¢g}|D ]¡\  }}}}t          |¦  «        }t          t          |¦  «        ¦  «        D ]n}||         }|                      |                     |¦  «        ||         d¦  «         |                      |                     |¦  «        j        ||         ¦  «         ŒoŒ¢d S )	N)rŒ   ©r   rz   r   rv   ©r   rv   r   g      @©r   r   r   r   )r�   r©   rª   r«   )rQ   r©   rª   r«   )rA   ©r   rz   r   rv   r   ©r   gUUUUUUõ?g«ªªªªªú?g       @ç«ªªªªª@©rv   rv   rv   rv   rv   )r‘   r¬   r­   r¯   )r•   r¬   r­   r¯   )ú2/8+3/8r©   )r   rv   r   r®   )r   r   rv   rv   rv   r   )r   r5   r…   ÚassertAlmostEqualÚgetBeatProportionrS   ÚgetBeatDurationr-   )	r   Údatar£   r¢   ÚdstÚbeatDurr0   r:   Úqls	            r   Ú#testBeatProportionFromTimeSignaturez(Test.testBeatProportionFromTimeSignature&  s  € ð FÐEÐEØEÐEÐEØEÐEÐEàbÐbÐbØbÐbÐbØcÐcÐcàTÐTÐTð

ˆð )-ð 	-ð 	-Ñ$ˆE�3˜˜WÝ˜uÑ%Ô%ˆBÝ�3˜s™8œ8‘_”_ð -ð -�Ø˜”V�Ø×&Ò& r×';Ò';¸BÑ'?Ô'?ÀÀQÄÈÑKÔKÐKØ× Ò  ×!3Ò!3°BÑ!7Ô!7Ô!EØ!(¨¤ñ-ô -ð -ð -ð-ð	-ð 	-r   c                óv  — t          d¦  «        }|                     d ¦  «         |                      t          |¦  «        d¦  «         t          d¦  «        }|                     d ¦  «         |                      t          |¦  «        d¦  «         t          d¦  «        }|                     d ¦  «         |                      t          |¦  «        d¦  «         t          d¦  «        }|                     d ¦  «         |                      t          |¦  «        d¦  «         t          d	¦  «        }|                     d ¦  «         |                      t          |¦  «        d
¦  «         t          d¦  «        }|                     d ¦  «         |                      t          |¦  «        d¦  «         t          d¦  «        }|                     d ¦  «         |                      t          |¦  «        d¦  «         t          d¦  «        }|                     d ¦  «         |                      t          |¦  «        d¦  «         d S )NrŒ   z{{1/4+1/4}}r�   z{{1/4+1/4+1/4}}rA   z{{3/8+3/8}}r�   z{{3/16+3/16}}z3/8+3/8ú{{1/8+1/8+1/8}+{1/8+1/8+1/8}}r°   ú{{1/8+1/8}+{1/8+1/8+1/8}}r˜   z{{1/8+1/8+1/8+1/8+1/8}}z3/8+3/4z{{1/8+1/8+1/8}+{1/4+1/4+1/4}})r	   ÚsubdividePartitionsEqualrS   rT   )r   r¤   s     r   ÚtestSubdividePartitionsEqualz!Test.testSubdividePartitionsEqual<  sõ  € Ý˜5Ñ!Ô!ˆØ
×#Ò# DÑ)Ô)Ð)Ø×Ò�˜R™œ -Ñ0Ô0Ð0å˜5Ñ!Ô!ˆØ
×#Ò# DÑ)Ô)Ð)Ø×Ò�˜R™œÐ"3Ñ4Ô4Ð4å˜5Ñ!Ô!ˆØ
×#Ò# DÑ)Ô)Ð)Ø×Ò�˜R™œ -Ñ0Ô0Ð0å˜6Ñ"Ô"ˆØ
×#Ò# DÑ)Ô)Ð)Ø×Ò�˜R™œ /Ñ2Ô2Ð2å˜9Ñ%Ô%ˆØ
×#Ò# DÑ)Ô)Ð)Ø×Ò�˜R™œÐ"AÑBÔBÐBå˜9Ñ%Ô%ˆØ
×#Ò# DÑ)Ô)Ð)Ø×Ò�˜R™œÐ"=Ñ>Ô>Ð>å˜5Ñ!Ô!ˆØ
×#Ò# DÑ)Ô)Ð)Ø×Ò�˜R™œÐ";Ñ<Ô<Ð<å˜9Ñ%Ô%ˆØ
×#Ò# DÑ)Ô)Ð)Ø×Ò�˜R™œÐ"AÑBÔBÐBÐBÐBr   c                ó$  — dg d¢fdg d¢fdg d¢fdg d¢fdg d	¢fd
g d¢fdg d¢fdg d¢fdg d¢fdg d¢fdg d¢fdg d¢fg}|D ]N\  }}t          |¦  «        }|                     d¦  «         |                      d„ |j        D ¦   «         |¦  «         ŒOd S )NrQ   )rx   ç      À?rƒ   r¿   rz   r¿   rƒ   r¿   r�   )rx   r¿   rƒ   r¿   rz   r¿   rƒ   r¿   rz   r¿   rƒ   r¿   rŒ   rA   )rx   r¿   rƒ   r¿   rƒ   r¿   rz   r¿   rƒ   r¿   rƒ   r¿   r—   )rx   r¿   rƒ   r¿   rz   r¿   rƒ   r¿   rz   r¿   rƒ   r¿   rz   r¿   rƒ   r¿   rz   r¿   rƒ   r¿   r�   )rx   r¿   rƒ   r¿   rƒ   r¿   rz   r¿   rƒ   r¿   rƒ   r¿   rz   r¿   rƒ   r¿   rƒ   r¿   r›   )$rx   r¿   rƒ   r¿   rƒ   r¿   rz   r¿   rƒ   r¿   rƒ   r¿   rz   r¿   rƒ   r¿   rƒ   r¿   rz   r¿   rƒ   r¿   rƒ   r¿   rz   r¿   rƒ   r¿   rƒ   r¿   rz   r¿   rƒ   r¿   rƒ   r¿   r“   z11/8),rx   r¿   rƒ   r¿   rz   r¿   rƒ   r¿   rz   r¿   rƒ   r¿   rz   r¿   rƒ   r¿   rz   r¿   rƒ   r¿   rz   r¿   rƒ   r¿   rz   r¿   rƒ   r¿   rz   r¿   rƒ   r¿   rz   r¿   rƒ   r¿   rz   r¿   rƒ   r¿   rz   r¿   rƒ   r¿   r°   )
rx   r¿   rƒ   r¿   rz   r¿   rƒ   r¿   rƒ   r¿   z3/8+2/8+3/4),rx   ç      °?r¿   rÀ   rƒ   rÀ   r¿   rÀ   rƒ   rÀ   r¿   rÀ   rz   rÀ   r¿   rÀ   rƒ   rÀ   r¿   rÀ   rz   ç       ?rÀ   rÁ   r¿   rÁ   rÀ   rÁ   rƒ   rÁ   rÀ   rÁ   r¿   rÁ   rÀ   rÁ   rƒ   rÁ   rÀ   rÁ   r¿   rÁ   rÀ   rÁ   z1/2+2/16)(rx   ç      �?rÁ   rÂ   rÀ   rÂ   rÁ   rÂ   r¿   rÂ   rÁ   rÂ   rÀ   rÂ   rÁ   rÂ   rƒ   rÂ   rÁ   rÂ   rÀ   rÂ   rÁ   rÂ   r¿   rÂ   rÁ   rÂ   rÀ   rÂ   rÁ   rÂ   rz   rÀ   r¿   rÀ   rƒ   rÀ   r¿   rÀ   r   c                ó   — g | ]	}|j         ‘Œ
S rM   )Úweight)rg   Úmts     r   rh   z4Test.testSetDefaultAccentWeights.<locals>.<listcomp>ª  s   € ÐEÐEÐE¨B˜bœiÐEÐEÐEr   )r   Ú_setDefaultAccentWeightsrS   ÚaccentSequence)r   Úpairsr£   ro   Úts1s        r   ÚtestSetDefaultAccentWeightsz Test.testSetDefaultAccentWeights]  s“  € ð ÐFÐFÐFÐGàÐ_Ð_Ð_Ð`àÐFÐFÐFÐGð ð ;ð ;ð ;ð <ð ðYð Yð YðZð ð ;ð ;ð ;ð <ð ð <ð <ð <ð =ð ð ;ð ;ð ;ð <ð ð
'ð 
'ð 
'ð(ð ð4ð 4ð 4ð5ð ðð ð ðð ðGð Gð GðHðwD
ˆðL "ð 	Nð 	N‰LˆE�5å Ñ&Ô&ˆCØ×(Ò(¨Ñ+Ô+Ð+Ø×ÒÐEÐE°#Ô2DÐEÑEÔEÀuÑMÔMÐMÐMð		Nð 	Nr   c                óR  — ddl m} t          d¦  «        }|                     ¦   «                              |¦  «                             d¦  «        }d}|                     dd¦  «        }|                     dd¦  «        }|                      |                     |¦  «        d	¦  «         d S )
Nr   )Úm21ToXmlr“   zutf-8z5<time><beats>3</beats><beat-type>8</beat-type></time>ú Ú ú
éÿÿÿÿ)	Úmusic21.musicxmlrÌ   r   ÚGeneralObjectExporterÚparseÚdecodeÚreplacer^   Úfind)r   rÌ   r0   ÚxmlOutro   s        r   ÚtestMusicxmlDirectOutzTest.testMusicxmlDirectOut¬  s¡   € à-Ð-Ð-Ð-Ð-Ð-å˜5Ñ!Ô!ˆØ×/Ò/Ñ1Ô1×7Ò7¸Ñ;Ô;×BÒBÀ7ÑKÔKˆàGˆØ—’  RÑ(Ô(ˆØ—’  bÑ)Ô)ˆØ×Ò˜FŸKšK¨Ñ.Ô.°Ñ3Ô3Ð3Ð3Ð3r   c                ó(  — ddl m} |                     d¦  «        }|j                             d¦  «         |                      t          |j        ¦  «        d¦  «         |                      t          |j        ¦  «        d¦  «         t          j	        ¦   «         }||_
        t          j        d¬¦  «        }|                     |d¦  «         d	„ |j        D ¦   «         }|                      |g d
¢¦  «         |                     d¬¦  «         |                     d¦  «        }|                      |j        d¦  «         |                      t          |j        ¦  «        d¦  «         |                     d¦  «        }|                      |j        d¦  «         |                      t          |j        ¦  «        d¦  «         |                     d¦  «        }|                      |j        d¦  «         |                      t          |j        ¦  «        d¦  «         d S )Nr   ©ÚmeterrA   r!   z{1/8+1/8+1/8+1/8+1/8+1/8}z	{3/8+3/8}rz   rf   c                ó   — g | ]	}|j         ‘Œ
S rM   )ÚbeatStr©rg   rH   s     r   rh   z)Test.testSlowSixEight.<locals>.<listcomp>Å  s   € Ð,Ð,Ð,˜q�”Ð,Ð,Ð,r   )Ú1Ú2Ú3Ú4Ú5Ú6T)ÚinPlacer]   ÚSimplezI{{1/16+1/16}+{1/16+1/16}+{1/16+1/16}+{1/16+1/16}+{1/16+1/16}+{1/16+1/16}}ÚCompoundrº   z6/8 fast)Úmusic21rÛ   r   rž   Ú	partitionrS   rT   ÚbeamSequencer   r)   r*   r   rD   r{   ÚnotesÚ	makeBeamsÚbeatDivisionCountName)r   rÛ   r0   r1   rH   ro   s         r   ÚtestSlowSixEightzTest.testSlowSixEight¸  sø  € Ø!Ð!Ð!Ð!Ð!Ð!à× Ò  Ñ'Ô'ˆØ
Œ×!Ò! !Ñ$Ô$Ð$Ø×Ò�˜Rœ_Ñ-Ô-Ð/JÑKÔKÐKØ×Ò�˜Rœ_Ñ-Ô-¨{Ñ;Ô;Ð;õ ŒNÑÔˆØˆŒÝŒI CÐ(Ñ(Ô(ˆØ	�Š�q˜!ÑÔÐØ,Ð, A¤GÐ,Ñ,Ô,ˆØ×Ò˜Ð >Ð >Ð >Ñ?Ô?Ð?Ø	�Š˜DˆÑ!Ô!Ð!ð × Ò  Ñ,Ô,ˆØ×Ò˜Ô1°8Ñ<Ô<Ð<Ø×ÒÝ�”Ñ Ô ØWñ	
ô 	
ð 	
ð
 × Ò  Ñ'Ô'ˆØ×Ò˜Ô1°:Ñ>Ô>Ð>Ø×Ò�˜Rœ_Ñ-Ô-Ð/NÑOÔOÐOà× Ò  Ñ,Ô,ˆØ×Ò˜Ô1°:Ñ>Ô>Ð>Ø×Ò�˜Rœ_Ñ-Ô-Ð/NÑOÔOÐOÐOÐOr   c                ó  — t          d¦  «        }t          j        } |d¬¦  «         |d¬¦  «         |d¬¦  «         |d¬¦  «         |d¬¦  «         |d¬¦  «        g}|                     |¦  «        }|                      |d gdz  ¦  «          |d¬¦  «         |d¬¦  «         |d¬¦  «         |d¬¦  «         |d¬¦  «         |d¬¦  «        g}|                     |¦  «        }|                      d„ |D ¦   «         g d¢¦  «         d S )NrQ   rr   rs   Úquarterr!   c                ó,   — g | ]}t          |¦  «        ‘ŒS rM   ©Úrepr©rg   rE   s     r   rh   z0Test.testMixedDurationsBeams.<locals>.<listcomp>ä  s   € Ð4Ð4Ð4 a�$˜q™'œ'Ð4Ð4Ð4r   )ÚNonerõ   rõ   ú0<music21.beam.Beams <music21.beam.Beam 1/start>>z/<music21.beam.Beams <music21.beam.Beam 1/stop>>rõ   )r   r   rD   ri   rS   )r   ÚfourFourrH   ÚdListÚbeamLists        r   ÚtestMixedDurationsBeamszTest.testMixedDurationsBeamsÙ  sb  € Ý  Ñ'Ô'ˆÝŒIˆØ�˜Ð!Ñ!Ô! 1 1¨)Ð#4Ñ#4Ô#4°a°a¸XÐ6FÑ6FÔ6FØ�˜Ð!Ñ!Ô! 1 1¨)Ð#4Ñ#4Ô#4°a°a¸XÐ6FÑ6FÔ6FðHˆà×$Ò$ UÑ+Ô+ˆØ×Ò˜ D 6¨A¡:Ñ.Ô.Ð.à�˜Ð!Ñ!Ô! 1 1¨)Ð#4Ñ#4Ô#4°a°a¸XÐ6FÑ6FÔ6FØ�˜Ð!Ñ!Ô! 1 1¨(Ð#3Ñ#3Ô#3°Q°Q¸IÐ5FÑ5FÔ5FðHˆà×$Ò$ UÑ+Ô+ˆØ×ÒÐ4Ð4¨8Ð4Ñ4Ô4ð"ð "ð "ñ	#ô 	#ð 	#ð 	#ð 	#r   c                ó:  ‡— ddl m} |                     d¦  «                             ¦   «         }|                     ¦   «         }d„ |                     ¦   «         j        D ¦   «         Š|                      d„ ‰D ¦   «         g d¢¦  «         |                     d¦  «        }|                     ¦   «         }d„ |                     ¦   «         j        D ¦   «         Šˆfd	„t          t          ‰¦  «        ¦  «        D ¦   «         }d
| _
        |                      |g d¢¦  «         d S )Nr   ©Ú	converterz!tinyNotation: 3/8 b8 c16 r e. d32c                ó   — g | ]	}|j         ‘Œ
S rM   ©rn   rÞ   s     r   rh   z0Test.testMixedDurationBeams2.<locals>.<listcomp>î  ó   € Ð9Ð9Ð9 �A”GÐ9Ð9Ð9r   c                ó,   — g | ]}t          |¦  «        ‘ŒS rM   rò   rô   s     r   rh   z0Test.testMixedDurationBeams2.<locals>.<listcomp>ð  s   € Ð'Ð'Ð'˜�T�!‰WŒWÐ'Ð'Ð'r   )rö   zR<music21.beam.Beams <music21.beam.Beam 1/stop>/<music21.beam.Beam 2/partial/left>>zL<music21.beam.Beams <music21.beam.Beam 1/start>/<music21.beam.Beam 2/start>>zm<music21.beam.Beams <music21.beam.Beam 1/stop>/<music21.beam.Beam 2/stop>/<music21.beam.Beam 3/partial/left>>z%tinyNotation: 2/4 b16 c' b a g f# g rc                ó   — g | ]	}|j         ‘Œ
S rM   rÿ   rÞ   s     r   rh   z0Test.testMixedDurationBeams2.<locals>.<listcomp>ú  r   r   c                ó`   •— g | ]*}t          |¦  «        d z   t          ‰|         ¦  «        z   ‘Œ+S )rÍ   )rT   ró   )rg   r:   rù   s     €r   rh   z0Test.testMixedDurationBeams2.<locals>.<listcomp>û  s4   ø€ ÐWÐWÐW¸Q�˜A™œ ™¥t¨H°Q¬KÑ'8Ô'8Ñ8ÐWÐWÐWr   iÐ  )zN0 <music21.beam.Beams <music21.beam.Beam 1/start>/<music21.beam.Beam 2/start>>zP1 <music21.beam.Beams <music21.beam.Beam 1/continue>/<music21.beam.Beam 2/stop>>zQ2 <music21.beam.Beams <music21.beam.Beam 1/continue>/<music21.beam.Beam 2/start>>zL3 <music21.beam.Beams <music21.beam.Beam 1/stop>/<music21.beam.Beam 2/stop>>zN4 <music21.beam.Beams <music21.beam.Beam 1/start>/<music21.beam.Beam 2/start>>zT5 <music21.beam.Beams <music21.beam.Beam 1/continue>/<music21.beam.Beam 2/continue>>zL6 <music21.beam.Beams <music21.beam.Beam 1/stop>/<music21.beam.Beam 2/stop>>)rè   rý   rÓ   ÚflattenÚmakeNotationÚrecurserë   rS   r5   r…   ÚmaxDiff)r   rý   ÚbmÚbm2ÚbeamListReprrù   s        @r   ÚtestMixedDurationBeams2zTest.testMixedDurationBeams2ê  s:  ø€ Ø%Ð%Ð%Ð%Ð%Ð%Ø�_Š_Ð@ÑAÔA×IÒIÑKÔKˆØ�oŠoÑÔˆØ9Ð9 S§[¢[¡]¤]Ô%8Ð9Ñ9Ô9ˆØ×ÒØ'Ð'˜hÐ'Ñ'Ô'ð8ð 8ð 8ñ	
ô 	
ð 	
ð �_Š_ÐDÑEÔEˆØ�oŠoÑÔˆØ9Ð9 S§[¢[¡]¤]Ô%8Ð9Ñ9Ô9ˆØWÐWÐWÐWÅ%ÍÈHÉÌÑBVÔBVÐWÑWÔWˆØˆŒØ×Ò˜ð (
ð (
ð (
ñ 	ô 	ð 	ð 	ð 	r   c                óP  — ddl m} ddl m} |                     dd¬¦  «                             ¦   «         j        }t          j        ¦   «         }|D ]}|                     |j	        |¦  «         Œ| 
                    |¦  «        }|                      t          |¦  «        d¦  «         d S )Nr   rü   rÚ   zC4 D16.ÚtinyNotation©Úformatz#<music21.meter.TimeSignature 11/32>©rè   rý   rÛ   rÓ   r  rë   r   r)   r+   ÚoffsetÚbestTimeSignaturerS   ró   ©r   rý   rÛ   Ús6Úm6ÚelÚts6s          r   ÚtestBestTimeSignaturezTest.testBestTimeSignature  sµ   € Ø%Ð%Ð%Ð%Ð%Ð%Ø!Ð!Ð!Ð!Ð!Ð!Ø�_Š_˜Y¨~ˆ_Ñ>Ô>×FÒFÑHÔHÔNˆÝŒ^ÑÔˆØð 	%ð 	%ˆBØ�IŠI�b”i Ñ$Ô$Ð$Ð$Ø×%Ò% bÑ)Ô)ˆØ×Ò�˜c™œÐ$IÑJÔJÐJÐJÐJr   c                ó¶  — ddl m} |                     d¦  «        }|                     ¦   «                              t
          j        ¦  «        D ]}|                     ¦   «         |_        Œ|j	        d         }g }|                     t
          j        ¦  «        D ])}| 
                    t          |j        ¦  «        ¦  «         Œ*|                      |g d¢¦  «         dS )zÄ
        Correct the TimeSignatures (4/4 in m. 1; no others) in a 4-measure score
        of 12, 11.5, 12, 13 quarters, where one of the parts is a PartStaff with
        multiple voices.
        r   )Úcorpusz!demos/incorrect_time_signature_pvr   )ú"<music21.meter.TimeSignature 12/4>z"<music21.meter.TimeSignature 23/8>r  z"<music21.meter.TimeSignature 13/4>N)rè   r  rÓ   r  ÚgetElementsByClassr   r)   r  r*   Úpartsr8   ró   rS   )r   r  Úfaultyr1   Úp1ÚtsRepss         r   ÚtestBestTimeSignatureBzTest.testBestTimeSignatureB  sï   € ð 	#Ð"Ð"Ð"Ð"Ð"Ø—’ÐAÑBÔBˆØ—’Ñ!Ô!×4Ò4µV´^ÑDÔDð 	4ð 	4ˆAØ×1Ò1Ñ3Ô3ˆAŒOˆOØŒ\˜!Œ_ˆØˆØ×&Ò&¥v¤~Ñ6Ô6ð 	1ð 	1ˆAØ�MŠM�$˜qœÑ/Ô/Ñ0Ô0Ð0Ð0Ø×Ò˜ð "Hð "Hð "Hñ 	Iô 	Ið 	Ið 	Ið 	Ir   c                ó´  — ddl m} ddl m} |                     dd¬¦  «                             ¦   «         j        }t          j        ¦   «         }|D ]}|                     |j	        |¦  «         Œ| 
                    |¦  «        }|                      t          |¦  «        d¦  «         |                     dd¬¦  «                             ¦   «         j        }t          j        ¦   «         }|D ]}|                     |j	        |¦  «         Œ| 
                    |¦  «        }|                      t          |¦  «        d	¦  «         |                     d
d¬¦  «                             ¦   «         j        }t          j        ¦   «         }|D ]}|                     |j	        |¦  «         Œ| 
                    |¦  «        }|                      t          |¦  «        d¦  «         d S )Nr   rü   rÚ   zC4.r  r  z!<music21.meter.TimeSignature 3/8>zC2..ú!<music21.meter.TimeSignature 7/8>zC2...ú#<music21.meter.TimeSignature 15/16>r  r  s          r   Ú!testBestTimeSignatureDoubleDottedz&Test.testBestTimeSignatureDoubleDotted$  sÇ  € Ø%Ð%Ð%Ð%Ð%Ð%Ø!Ð!Ð!Ð!Ð!Ð!à�_Š_˜U¨>ˆ_Ñ:Ô:×BÒBÑDÔDÔJˆÝŒ^ÑÔˆØð 	%ð 	%ˆBØ�IŠI�b”i Ñ$Ô$Ð$Ð$Ø×%Ò% bÑ)Ô)ˆØ×Ò�˜c™œÐ$GÑHÔHÐHà�_Š_˜V¨Nˆ_Ñ;Ô;×CÒCÑEÔEÔKˆÝŒ^ÑÔˆØð 	%ð 	%ˆBØ�IŠI�b”i Ñ$Ô$Ð$Ð$Ø×%Ò% bÑ)Ô)ˆØ×Ò�˜c™œÐ$GÑHÔHÐHà�_Š_˜W¨^ˆ_Ñ<Ô<×DÒDÑFÔFÔLˆÝŒ^ÑÔˆØð 	%ð 	%ˆBØ�IŠI�b”i Ñ$Ô$Ð$Ð$Ø×%Ò% bÑ)Ô)ˆØ×Ò�˜c™œÐ$IÑJÔJÐJÐJÐJr   c                ó‚  — ddl m} ddl m} |                     dd¬¦  «                             ¦   «         j        }t          j        ¦   «         }|D ]}|                     |j	        |¦  «         Œ| 
                    |¦  «        }|                      t          |¦  «        d¦  «         |                     dd¬¦  «                             ¦   «         j        }t          j        ¦   «         }|D ]}|                     |j	        |¦  «         Œ| 
                    |¦  «        }|                      t          |¦  «        d	¦  «         d
S )zm
        These add up the same as testBestTimeSignatureDoubleDotted, but
        use multiple notes.
        r   rü   rÚ   zC2 D4 E8r  r  r#  zC2 D4 E8 F16r$  Nr  r  s          r   Ú"testBestTimeSignatureDoubleDottedBz'Test.testBestTimeSignatureDoubleDottedB=  s@  € ð
 	&Ð%Ð%Ð%Ð%Ð%Ø!Ð!Ð!Ð!Ð!Ð!Ø�_Š_˜Z°ˆ_Ñ?Ô?×GÒGÑIÔIÔOˆÝŒ^ÑÔˆØð 	%ð 	%ˆBØ�IŠI�b”i Ñ$Ô$Ð$Ð$Ø×%Ò% bÑ)Ô)ˆØ×Ò�˜c™œÐ$GÑHÔHÐHà�_Š_˜^°Nˆ_ÑCÔC×KÒKÑMÔMÔSˆÝŒ^ÑÔˆØð 	%ð 	%ˆBØ�IŠI�b”i Ñ$Ô$Ð$Ð$Ø×%Ò% bÑ)Ô)ˆØ×Ò�˜c™œÐ$IÑJÔJÐJÐJÐJr   c                ó‚  — ddl m} ddl m} |                     dd¬¦  «                             ¦   «         j        }t          j        ¦   «         }|D ]}|                     |j	        |¦  «         Œ| 
                    |¦  «        }|                      t          |¦  «        d¦  «         |                     dd¬¦  «                             ¦   «         j        }t          j        ¦   «         }|D ]}|                     |j	        |¦  «         Œ| 
                    |¦  «        }|                      t          |¦  «        d	¦  «         d
S )z—
        These add up the same as testBestTimeSignatureDoubleDotted, but
        use multiple notes which are dotted divisions of the original
        r   rü   rÚ   z	C4.. D4..r  r  r#  zC4... D4...r$  Nr  r  s          r   Ú"testBestTimeSignatureDoubleDottedCz'Test.testBestTimeSignatureDoubleDottedCR  s@  € ð
 	&Ð%Ð%Ð%Ð%Ð%Ø!Ð!Ð!Ð!Ð!Ð!à�_Š_˜[°ˆ_Ñ@Ô@×HÒHÑJÔJÔPˆÝŒ^ÑÔˆØð 	%ð 	%ˆBØ�IŠI�b”i Ñ$Ô$Ð$Ð$Ø×%Ò% bÑ)Ô)ˆØ×Ò�˜c™œÐ$GÑHÔHÐHà�_Š_˜]°>ˆ_ÑBÔB×JÒJÑLÔLÔRˆÝŒ^ÑÔˆØð 	%ð 	%ˆBØ�IŠI�b”i Ñ$Ô$Ð$Ð$Ø×%Ò% bÑ)Ô)ˆØ×Ò�˜c™œÐ$IÑJÔJÐJÐJÐJr   c                óx   — t          d¦  «        }|j        }|                      t          |¦  «        d¦  «         d S )Nú3+2/8z	{3/8+2/8})r   rê   rS   rT   )r   Úts328ÚbeatSeqs      r   ÚtestCompoundSameDenominatorz Test.testCompoundSameDenominatorh  s9   € Ý˜gÑ&Ô&ˆØÔ$ˆØ×Ò�˜W™œ {Ñ3Ô3Ð3Ð3Ð3r   c                ó\  — t          d¦  «        }t          d¦  «        }|                      |j        d¦  «         |                      t          |j        ¦  «        d¦  «         |                      |j        d¦  «         |                      t          |j        ¦  «        d¦  «         |                      ||¦  «         t          d¦  «        }|                      |j        d¦  «         |                      t          |j        ¦  «        d¦  «         |                      ||¦  «         t          d¦  «        }t          ¦   «         }|                      ||¦  «         t          d¦  «        }|                      |j        d	¦  «         |                      ||¦  «         |                      t          d¦  «        t          d	¦  «        ¦  «         |                      t          ¦   «         t          j        ¦   «         ¦  «         |                      t          j        ¦   «         t          ¦   «         ¦  «         d
S )a  
        Additional tests of TimeSignature object equality.
        Apart from this and the doc tests,
        see also testTimeSignatureDeepcopy for a test of
        time signatures with different structure with same ratioString
        (fast vs slow 6/8).
        z2+3/8r°   r»   r+  z3/8+2/8z{{1/8+1/8+1/8}+{1/8+1/8}}rQ   ÚCutru   N)r   rS   ÚratioStringrT   rž   r^   r   rD   )r   Ú
oneKindOf5ÚsameKindOf5ÚotherKindOf5ÚoneKindOf44ÚsameKindOf44ÚotherKindOf44s          r   ÚtestEqualityzTest.testEqualitym  sà  € õ # 7Ñ+Ô+ˆ
Ý# GÑ,Ô,ˆØ×Ò˜Ô/°Ñ;Ô;Ð;Ø×Ò�˜ZÔ4Ñ5Ô5Ð7RÑSÔSÐSØ×Ò˜Ô0°)Ñ<Ô<Ð<Ø×Ò�˜[Ô5Ñ6Ô6Ð8SÑTÔTÐTØ×Ò˜ [Ñ1Ô1Ð1å$ WÑ-Ô-ˆØ×Ò˜Ô1°9Ñ=Ô=Ð=Ø×Ò�˜\Ô6Ñ7Ô7Ð9TÑUÔUÐUØ×Ò˜J¨Ñ5Ô5Ð5õ $ EÑ*Ô*ˆÝ$‘”ˆØ×Ò˜ lÑ3Ô3Ð3å% eÑ,Ô,ˆØ×Ò˜Ô2°EÑ:Ô:Ð:Ø×Ò˜J¨Ñ6Ô6Ð6à×Ò�M¨%Ñ0Ô0µ-ÀÑ2FÔ2FÑGÔGÐGð 	×Ò�M™OœO­T¬Y©[¬[Ñ9Ô9Ð9Ø×Ò�DœI™KœK­©¬Ñ9Ô9Ð9Ð9Ð9r   N)rJ   rK   rL   rV   r[   rc   rp   r~   rŠ   r§   r¸   r½   rÊ   rØ   rî   rú   r  r  r!  r%  r'  r)  r.  r8  rM   r   r   rO   rO   M   s~  € € € € € ð	Nð 	Nð 	Nðð ð ð"ð "ð "ðCð Cð Cð&<Oð <Oð <Oð~-ð -ð -ð>HDð HDð HDðT-ð -ð -ð,Cð Cð CðBMNð MNð MNð^
4ð 
4ð 
4ðPð Pð PðB#ð #ð #ð"ð ð ð:Kð Kð KðIð Ið Ið&Kð Kð Kð2Kð Kð Kð*Kð Kð Kð,4ð 4ð 4ð
':ð ':ð ':ð ':ð ':r   rO   Ú__main__)Ú
__future__r   rX   r6   Úunittestrè   r   r   r   r   Úmusic21.meter.baser   Úmusic21.meter.corer	   r
   ÚTestCaser   rO   rJ   ÚmainTestrM   r   r   ú<module>r@     sA  ðð #Ð "Ð "Ð "Ð "Ð "à €€€Ø €€€Ø €€€à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;ð2ð 2ð 2ð 2ð 2�8Ô$ñ 2ô 2ð 2ðjG	:ð G	:ð G	:ð G	:ð G	:ˆ8Ôñ G	:ô G	:ð G	:ðV ˆzÒÐØ€N€N€NØ€GÔ�TÑÔÐÐÐð Ðr   