
    3jl                        d dl mZ d dlZd dlmZ  G d dej
                        Z G d de      Z G d d	e      Z G d
 de      Z	e
dk(  rd dlmZ  e        yy)    )annotationsN)StrEnumc                  (    e Zd ZdZdZdZdZdZdZdZ	y)		StaffTypeaL  
    These are the same as MusicXML staff-type, except uppercase and "other"
    which reflects any other type.  Probably the best way of using "other"
    is to designate what it means with a .editorial.staffTypeExplanation = 'other'

    >>> stream.enums.StaffType.OSSIA
    <StaffType.OSSIA: 'ossia'>

    To get the musicxml name:

    >>> stream.enums.StaffType.OSSIA.value
    'ossia'

    >>> stream.enums.StaffType('cue')
    <StaffType.CUE: 'cue'>

    >>> stream.enums.StaffType('tiny')
    Traceback (most recent call last):
    ValueError: 'tiny' is not a valid StaffType
    regularossiacue	editorial	alternateotherN)
__name__
__module____qualname____doc__REGULAROSSIACUE	EDITORIAL	ALTERNATEOTHER     A/DATA/.local/lib/python3.12/site-packages/music21/stream/enums.pyr   r      s'    ( GE
CIIEr   r   c                      e Zd ZdZdZdZy)GivenElementsBehaviorappendoffsetsinsertN)r   r   r   APPENDOFFSETSINSERTr   r   r   r   r   -   s    FGFr   r   c                      e Zd ZdZdZdZy)RecursionTypeelementsFirstflattenelementsOnlyN)r   r   r   ELEMENTS_FIRSTFLATTENELEMENTS_ONLYr   r   r   r#   r#   3   s    $NG"Mr   r#   c                      e Zd ZdZdZdZy)
ShowNumberdefaultalwaysneverN)r   r   r   DEFAULTALWAYSNEVERr   r   r   r+   r+   9   s    GFEr   r+   __main__)mainTest)
__future__r   enummusic21.common.enumsr   Enumr   r   r#   r+   r   music21r3   r   r   r   <module>r9      s[    #  (		 :G #G #  z J r   