.. _moduleBase:

music21.base
============

.. WARNING: DO NOT EDIT THIS FILE:
   AUTOMATICALLY GENERATED.
   PLEASE EDIT THE .py FILE DIRECTLY.

.. automodule:: music21.base

Music21Object
-------------

.. autoclass:: music21.base.Music21Object

.. rubric:: :class:`~music21.base.Music21Object` read-only properties

.. autoattribute:: music21.base.Music21Object.beat

.. autoattribute:: music21.base.Music21Object.beatDuration

.. autoattribute:: music21.base.Music21Object.beatStr

.. autoattribute:: music21.base.Music21Object.beatStrength

.. autoattribute:: music21.base.Music21Object.classSet

.. autoattribute:: music21.base.Music21Object.classes

.. autoattribute:: music21.base.Music21Object.measureNumber

.. rubric:: :class:`~music21.base.Music21Object` read/write properties

.. autoattribute:: music21.base.Music21Object.activeSite

.. autoattribute:: music21.base.Music21Object.derivation

.. autoattribute:: music21.base.Music21Object.duration

.. autoattribute:: music21.base.Music21Object.offset

.. autoattribute:: music21.base.Music21Object.priority

.. autoattribute:: music21.base.Music21Object.quarterLength

.. autoattribute:: music21.base.Music21Object.seconds

.. rubric:: :class:`~music21.base.Music21Object` methods

.. automethod:: music21.base.Music21Object.containerHierarchy

.. automethod:: music21.base.Music21Object.contextSites

.. automethod:: music21.base.Music21Object.getAllContextsByClass

.. automethod:: music21.base.Music21Object.getContextAttr

.. automethod:: music21.base.Music21Object.getContextByClass

.. automethod:: music21.base.Music21Object.getOffsetBySite

.. automethod:: music21.base.Music21Object.getSpannerSites

.. automethod:: music21.base.Music21Object.informSites

.. automethod:: music21.base.Music21Object.isClassOrSubclass

.. automethod:: music21.base.Music21Object.mergeAttributes

.. automethod:: music21.base.Music21Object.next

.. automethod:: music21.base.Music21Object.previous

.. automethod:: music21.base.Music21Object.purgeLocations

.. automethod:: music21.base.Music21Object.purgeOrphans

.. automethod:: music21.base.Music21Object.removeLocationBySite

.. automethod:: music21.base.Music21Object.setContextAttr

.. automethod:: music21.base.Music21Object.setOffsetBySite

.. automethod:: music21.base.Music21Object.show

.. automethod:: music21.base.Music21Object.sortTuple

.. automethod:: music21.base.Music21Object.splitAtDurations

.. automethod:: music21.base.Music21Object.splitAtQuarterLength

.. automethod:: music21.base.Music21Object.splitByQuarterLengths

.. automethod:: music21.base.Music21Object.write

.. rubric:: :class:`~music21.base.Music21Object` instance variables

.. attribute:: Music21Object.classSortOrder

	Property which returns an number (int or otherwise)
	depending on the class of the Music21Object that
	represents a priority for an object based on its class alone --
	used as a tie for stream sorting in case two objects have the
	same offset and priority.  Lower numbers are sorted to the left
	of higher numbers.  For instance, Clef, KeySignature, TimeSignature
	all come (in that order) before Note.
	
	All undefined classes have classSortOrder of 20 -- same as note.Note
	
	
	>>> m21o = base.Music21Object()
	>>> m21o.classSortOrder
	20
	
	>>> tc = clef.TrebleClef()
	>>> tc.classSortOrder
	0
	
	>>> ks = key.KeySignature(3)
	>>> ks.classSortOrder
	2
	
	
	New classes can define their own default classSortOrder
	
	>>> class ExampleClass(base.Music21Object):
	...     classSortOrder = 5
	...
	>>> ec1 = ExampleClass()
	>>> ec1.classSortOrder
	5
	

.. attribute:: Music21Object.groups

	An instance of a :class:`~music21.base.Group` object which describes
	arbitrary `Groups` that this object belongs to.

.. attribute:: Music21Object.hideObjectOnPrint

	if set to `True` will not print upon output
	(only used in MusicXML output at this point and
	Lilypond for notes, chords, and rests).

.. attribute:: Music21Object.id

	A unique identification string; not to be confused with the
	default `.id()` method. However, if not set, will return the `id()` number

.. attribute:: Music21Object.isStream

	Boolean value for quickly identifying
	:class:`~music21.stream.Stream` objects (False by default). Deprecated

.. attribute:: Music21Object.xPosition

	if set, defines the display x-position from
	the start of the container (in musicxml "tenths" by default)

ElementWrapper
--------------

.. autoclass:: music21.base.ElementWrapper

.. rubric:: :class:`~music21.base.ElementWrapper` bases

- :class:`~music21.base.Music21Object`

.. rubric:: :class:`~music21.base.ElementWrapper` read-only properties

Read-only properties inherited from :class:`~music21.base.Music21Object`:

.. hlist::
   :columns: 3

   - :attr:`~music21.base.Music21Object.beat`
   - :attr:`~music21.base.Music21Object.beatDuration`
   - :attr:`~music21.base.Music21Object.beatStr`
   - :attr:`~music21.base.Music21Object.beatStrength`
   - :attr:`~music21.base.Music21Object.classSet`
   - :attr:`~music21.base.Music21Object.classes`
   - :attr:`~music21.base.Music21Object.measureNumber`

.. rubric:: :class:`~music21.base.ElementWrapper` read/write properties

Read/write properties inherited from :class:`~music21.base.Music21Object`:

.. hlist::
   :columns: 3

   - :attr:`~music21.base.Music21Object.activeSite`
   - :attr:`~music21.base.Music21Object.derivation`
   - :attr:`~music21.base.Music21Object.duration`
   - :attr:`~music21.base.Music21Object.offset`
   - :attr:`~music21.base.Music21Object.priority`
   - :attr:`~music21.base.Music21Object.quarterLength`
   - :attr:`~music21.base.Music21Object.seconds`

.. rubric:: :class:`~music21.base.ElementWrapper` methods

.. automethod:: music21.base.ElementWrapper.isTwin

Methods inherited from :class:`~music21.base.Music21Object`:

.. hlist::
   :columns: 3

   - :meth:`~music21.base.Music21Object.containerHierarchy`
   - :meth:`~music21.base.Music21Object.contextSites`
   - :meth:`~music21.base.Music21Object.getAllContextsByClass`
   - :meth:`~music21.base.Music21Object.getContextAttr`
   - :meth:`~music21.base.Music21Object.getContextByClass`
   - :meth:`~music21.base.Music21Object.getOffsetBySite`
   - :meth:`~music21.base.Music21Object.getSpannerSites`
   - :meth:`~music21.base.Music21Object.informSites`
   - :meth:`~music21.base.Music21Object.isClassOrSubclass`
   - :meth:`~music21.base.Music21Object.mergeAttributes`
   - :meth:`~music21.base.Music21Object.next`
   - :meth:`~music21.base.Music21Object.previous`
   - :meth:`~music21.base.Music21Object.purgeLocations`
   - :meth:`~music21.base.Music21Object.purgeOrphans`
   - :meth:`~music21.base.Music21Object.removeLocationBySite`
   - :meth:`~music21.base.Music21Object.setContextAttr`
   - :meth:`~music21.base.Music21Object.setOffsetBySite`
   - :meth:`~music21.base.Music21Object.show`
   - :meth:`~music21.base.Music21Object.sortTuple`
   - :meth:`~music21.base.Music21Object.splitAtDurations`
   - :meth:`~music21.base.Music21Object.splitAtQuarterLength`
   - :meth:`~music21.base.Music21Object.splitByQuarterLengths`
   - :meth:`~music21.base.Music21Object.write`

.. rubric:: :class:`~music21.base.ElementWrapper` instance variables

.. attribute:: ElementWrapper.obj

	The object this wrapper wraps. It should not be a Music21Object.

Instance variables inherited from :class:`~music21.base.Music21Object`:

.. hlist::
   :columns: 3

   - :attr:`~music21.base.Music21Object.classSortOrder`
   - :attr:`~music21.base.Music21Object.groups`
   - :attr:`~music21.base.Music21Object.hideObjectOnPrint`
   - :attr:`~music21.base.Music21Object.id`
   - :attr:`~music21.base.Music21Object.isStream`
   - :attr:`~music21.base.Music21Object.xPosition`

Groups
------

.. autoclass:: music21.base.Groups

.. rubric:: :class:`~music21.base.Groups` methods

.. automethod:: music21.base.Groups.append

TestMock
--------

.. autoclass:: music21.base.TestMock

.. rubric:: :class:`~music21.base.TestMock` bases

- :class:`~music21.base.Music21Object`

.. rubric:: :class:`~music21.base.TestMock` read-only properties

Read-only properties inherited from :class:`~music21.base.Music21Object`:

.. hlist::
   :columns: 3

   - :attr:`~music21.base.Music21Object.beat`
   - :attr:`~music21.base.Music21Object.beatDuration`
   - :attr:`~music21.base.Music21Object.beatStr`
   - :attr:`~music21.base.Music21Object.beatStrength`
   - :attr:`~music21.base.Music21Object.classSet`
   - :attr:`~music21.base.Music21Object.classes`
   - :attr:`~music21.base.Music21Object.measureNumber`

.. rubric:: :class:`~music21.base.TestMock` read/write properties

Read/write properties inherited from :class:`~music21.base.Music21Object`:

.. hlist::
   :columns: 3

   - :attr:`~music21.base.Music21Object.activeSite`
   - :attr:`~music21.base.Music21Object.derivation`
   - :attr:`~music21.base.Music21Object.duration`
   - :attr:`~music21.base.Music21Object.offset`
   - :attr:`~music21.base.Music21Object.priority`
   - :attr:`~music21.base.Music21Object.quarterLength`
   - :attr:`~music21.base.Music21Object.seconds`

.. rubric:: :class:`~music21.base.TestMock` methods

Methods inherited from :class:`~music21.base.Music21Object`:

.. hlist::
   :columns: 3

   - :meth:`~music21.base.Music21Object.containerHierarchy`
   - :meth:`~music21.base.Music21Object.contextSites`
   - :meth:`~music21.base.Music21Object.getAllContextsByClass`
   - :meth:`~music21.base.Music21Object.getContextAttr`
   - :meth:`~music21.base.Music21Object.getContextByClass`
   - :meth:`~music21.base.Music21Object.getOffsetBySite`
   - :meth:`~music21.base.Music21Object.getSpannerSites`
   - :meth:`~music21.base.Music21Object.informSites`
   - :meth:`~music21.base.Music21Object.isClassOrSubclass`
   - :meth:`~music21.base.Music21Object.mergeAttributes`
   - :meth:`~music21.base.Music21Object.next`
   - :meth:`~music21.base.Music21Object.previous`
   - :meth:`~music21.base.Music21Object.purgeLocations`
   - :meth:`~music21.base.Music21Object.purgeOrphans`
   - :meth:`~music21.base.Music21Object.removeLocationBySite`
   - :meth:`~music21.base.Music21Object.setContextAttr`
   - :meth:`~music21.base.Music21Object.setOffsetBySite`
   - :meth:`~music21.base.Music21Object.show`
   - :meth:`~music21.base.Music21Object.sortTuple`
   - :meth:`~music21.base.Music21Object.splitAtDurations`
   - :meth:`~music21.base.Music21Object.splitAtQuarterLength`
   - :meth:`~music21.base.Music21Object.splitByQuarterLengths`
   - :meth:`~music21.base.Music21Object.write`

.. rubric:: :class:`~music21.base.TestMock` instance variables

Instance variables inherited from :class:`~music21.base.Music21Object`:

.. hlist::
   :columns: 3

   - :attr:`~music21.base.Music21Object.classSortOrder`
   - :attr:`~music21.base.Music21Object.groups`
   - :attr:`~music21.base.Music21Object.hideObjectOnPrint`
   - :attr:`~music21.base.Music21Object.id`
   - :attr:`~music21.base.Music21Object.isStream`
   - :attr:`~music21.base.Music21Object.xPosition`
