
    rh                        S r SSKJr  / SQrSSKJr  SSKJr  SSKJr  SSKJr  SSKJ	r	  SS	KJ
r
  SS
KJr  SSKJr  S r\S:X  a  SSKr\R                   " 5         gg)a  
Tools for grouping notes and chords into a searchable tree
organized by start and stop offsets.

This is a lower-level tool that for now at least normal music21
users won't need to worry about.

This directory will change significantly and may even be removed in v10.
Developers who depend on certain tree features (chirp...chirp...) should
speak up on the music21list or GitHub -- but in > 12 years of having it
no one has said they use it -- hence why it should be modified!
    )annotations)	analysiscore
fromStreamnodespanstoStreamtreesverticalitymakeExampleScore)r   )r   )r   )r   )r   )r	   )r
   )r   c                 P   SSK Jn   SSK Jn  U R                  S5      nU R                  S5      nUR	                  SS9  UR	                  SS9  UR                  5       nU H  nUR                  U5        M     UR                  5       nSUl        UR                  SU5        UR                  5       nU H  nUR                  U5        M     UR                  5       nS	Ul        UR                  SU5        UR                  S
S9n	U	R                  SU5        U	R                  SU5        U	$ )a`  
Makes example score for use in stream-to-tree conversion docs.

>>> sc = tree.makeExampleScore()
>>> sc.show('text')
{0.0} <music21.stream.Part ...>
    {0.0} <music21.instrument.Instrument 'PartA: : '>
    {0.0} <music21.stream.Measure 1 offset=0.0>
        {0.0} <music21.clef.BassClef>
        {0.0} <music21.meter.TimeSignature 2/4>
        {0.0} <music21.note.Note C>
        {1.0} <music21.note.Note D>
    {2.0} <music21.stream.Measure 2 offset=2.0>
        {0.0} <music21.note.Note E>
        {1.0} <music21.note.Note F>
    {4.0} <music21.stream.Measure 3 offset=4.0>
        {0.0} <music21.note.Note G>
        {1.0} <music21.note.Note A>
    {6.0} <music21.stream.Measure 4 offset=6.0>
        {0.0} <music21.note.Note B>
        {1.0} <music21.note.Note C>
        {2.0} <music21.bar.Barline type=final>
{0.0} <music21.stream.Part ...>
    {0.0} <music21.instrument.Instrument 'PartB: : '>
    {0.0} <music21.stream.Measure 1 offset=0.0>
        {0.0} <music21.clef.BassClef>
        {0.0} <music21.meter.TimeSignature 2/4>
        {0.0} <music21.note.Note C#>
    {2.0} <music21.stream.Measure 2 offset=2.0>
        {0.0} <music21.note.Note G#>
    {4.0} <music21.stream.Measure 3 offset=4.0>
        {0.0} <music21.note.Note E#>
    {6.0} <music21.stream.Measure 4 offset=6.0>
        {0.0} <music21.note.Note D#>
        {2.0} <music21.bar.Barline type=final>
r   )	converter)streamz"tinynotation: 2/4 C4 D E F G A B Cz!tinynotation: 2/4 C#2  G#  E#  D#T)inPlacePartAPartBexampleScore)id)music21r   r   parsemakeMeasuresPartappendgetInstrumentpartIdinsertScore)
r   r   streamAstreamBpartAxinstrumentApartBinstrumentBscores
             O/home/james-whalen/.local/lib/python3.13/site-packages/music21/tree/__init__.pyr   r   8   s   J "ooBCGooABG&&KKMEQ %%'K K	LLK KKMEQ %%'K K	LLK LLNL+E	LLE	LLEL    __main__N)__doc__
__future__r   __all__music21.treer   r   r   r   r   r	   r
   r   r   __name__r   mainTest r'   r&   <module>r0      sT    # "  #   !  $:@ z r'   