music21.common.enums¶
AppendSpanners¶
- class music21.common.enums.AppendSpanners(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)¶
- An enumeration for how to append related spanners when appending objects to a written file. - AppendSpanners.NORMAL means append the spanners that start with the object, then append
- the object, then append the spanners that end with the object. 
- AppendSpanners.RELATED_ONLY means append the spanners that start with the object, then
- append the spanners that end with the object (i.e. do not append the object). 
- AppendSpanners.NONE means do not append the related spanners at all (i.e. only append
- the object). 
 - new in v9. 
 
AppendSpanners bases
BooleanEnum¶
- class music21.common.enums.BooleanEnum(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)¶
- An enum that replaces a boolean, except the “is” part, and allows specifying multiple values that can specify whether they equate to True or False. - Useful for taking an element that was previously True/False and replacing it in a backwards-compatible way with an Enum. - >>> from music21.common.enums import BooleanEnum >>> class Maybe(BooleanEnum): ... YES = True ... NO = False ... MAYBE = 0.5 ... NOT_A_CHANCE = (False, 'not a chance') ... DEFINITELY = (True, 'of course!') >>> bool(Maybe.YES) True >>> bool(Maybe.NO) False >>> bool(Maybe.MAYBE) True >>> bool(Maybe.NOT_A_CHANCE) False >>> bool(Maybe.DEFINITELY) True >>> Maybe.MAYBE == 0.5 True >>> Maybe.NOT_A_CHANCE == 'not a chance' True >>> Maybe.NOT_A_CHANCE == False True >>> Maybe.NOT_A_CHANCE == True False >>> Maybe.NOT_A_CHANCE == 'not any chance' False >>> Maybe.DEFINITELY == 'of course!' True >>> Maybe.NOT_A_CHANCE == (False, 'not a chance') True 
ContainsEnum¶
- class music21.common.enums.ContainsEnum(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)¶
- An IntEnum that allows “in” checks against the values of the enum. 
ContainsMeta¶
- class music21.common.enums.ContainsMeta(cls, bases, classdict, *, boundary=None, _simple=False, **kwds)¶
- This is a backport of the Python 3.12 EnumType class’s contains method. 
ElementSearch¶
- class music21.common.enums.ElementSearch(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)¶
- An enum representing the element search directions that can be provided to - getContextByClass().
ElementSearch bases
GatherSpanners¶
- class music21.common.enums.GatherSpanners(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)¶
- An enumeration for how to gather missing spanners - >>> from music21.common.enums import GatherSpanners - Indicates all relevant spanners will be gathered: - >>> GatherSpanners.ALL <GatherSpanners.ALL> >>> bool(GatherSpanners.ALL) True - Indicates no relevant spanners will be gathered: - >>> GatherSpanners.NONE <GatherSpanners.NONE> >>> bool(GatherSpanners.NONE) False - Indicates only spanners where all of their members are in the excerpt will be gathered: - >>> GatherSpanners.COMPLETE_ONLY <GatherSpanners.COMPLETE_ONLY> >>> bool(GatherSpanners.COMPLETE_ONLY) True 
GatherSpanners bases
MeterDivision¶
- class music21.common.enums.MeterDivision(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)¶
- Represents an indication of how to divide a TimeSignature - New in v7. 
 
MeterDivision bases
OffsetSpecial¶
- class music21.common.enums.OffsetSpecial(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)¶
- An enum that represents special offsets. - The enum AT_END is equal to the string ‘highestTime’ - >>> from music21.common.enums import OffsetSpecial >>> OffsetSpecial.AT_END <OffsetSpecial.AT_END> >>> 'highestTime' == OffsetSpecial.AT_END True >>> 'crazyOffset' in OffsetSpecial False >>> 6.0 in OffsetSpecial False >>> 'lowestOffset' in OffsetSpecial True >>> str(OffsetSpecial.AT_END) 'highestTime' - New in v7. 
- Note – a previous note said that the ‘highestTime’ == OffsetSpecial.AT_END would be removed in v9 or an upcoming music21 release. Since then, Python has changed direction and in 3.11 added StrEnum to the standard library and in 3.12 allows for containment checks of strings in StrEnum (such as ‘lowestOffset’ in OffsetSpecial returning True). Therefore there is no reason for music21 to ever remove this valuable and backwards compatible tool. 
 
OffsetSpecial bases
OrnamentDelay¶
- class music21.common.enums.OrnamentDelay(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)¶
- An enumeration for the delay in an ornament (e.g. a delayed turn). The delay for an ornament can be set to one of these values, or to an OffsetQL for a timed delay. - OrnamentDelay.NO_DELAY means there is no delay (this is equivalent to setting delay to 0.0) OrnamentDelay.DEFAULT_DELAY means the delay is half the duration of the ornamented note. - new in v9. 
 
OrnamentDelay bases
StrEnum¶
- class music21.common.enums.StrEnum(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)¶
- An enumeration where strings can equal the value, and strings can be found “in” the enum. - See - music21.common.enums.OffsetSpecialfor an example of how subclassing this would work.- Note: This class predates the equivalent StrEnum in Python 3.11 and the changes to Enum __contains__ in 3.12. Once Python 3.12 is the minimum version of music21, this class will no longer be used internally and will eventually become deprecated (2027?) and removed (2030?). 
 
StrEnumMeta¶
- class music21.common.enums.StrEnumMeta(cls, bases, classdict, *, boundary=None, _simple=False, **kwds)¶