Source code for music21.stream.enums
# -----------------------------------------------------------------------------
# Name: stream/enums.py
# Purpose: enumerations for streams
#
# Authors: Michael Scott Asato Cuthbert
#
# Copyright: Copyright © 2020 Michael Scott Asato Cuthbert
# License: BSD, see license.txt
# -----------------------------------------------------------------------------
from __future__ import annotations
import enum
from music21.common.enums import StrEnum
[docs]
class StaffType(enum.Enum):
'''
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 = 'regular'
OSSIA = 'ossia'
CUE = 'cue'
EDITORIAL = 'editorial'
ALTERNATE = 'alternate'
OTHER = 'other'
[docs]
class GivenElementsBehavior(StrEnum):
APPEND = 'append'
OFFSETS = 'offsets'
INSERT = 'insert'
[docs]
class RecursionType(StrEnum):
ELEMENTS_FIRST = 'elementsFirst'
FLATTEN = 'flatten'
ELEMENTS_ONLY = 'elementsOnly'
[docs]
class ShowNumber(StrEnum):
DEFAULT = 'default'
ALWAYS = 'always'
NEVER = 'never'
if __name__ == '__main__':
from music21 import mainTest
mainTest()