Rotation

class pitchtools.Rotation(index=0, transpose=True, period=None)

Rotation operator.

Example.

>>> operator_ = pitchtools.Rotation(1)
>>> print(format(operator_))
pitchtools.Rotation(
    index=1,
    transpose=True,
    )

Object model of the twelve-tone rotation operator.

Lineage

digraph InheritanceGraph { graph [background=transparent, bgcolor=transparent, color=lightslategrey, fontname=Arial, outputorder=edgesfirst, overlap=prism, penwidth=2, rankdir=LR, root="__builtin__.object", splines=spline, style="dotted, rounded", truecolor=true]; node [colorscheme=pastel19, fontname=Arial, fontsize=12, penwidth=2, style="filled, rounded"]; edge [color=lightsteelblue2, penwidth=2]; subgraph cluster_abctools { graph [label=abctools]; "abjad.tools.abctools.AbjadObject.AbjadObject" [color=1, group=0, label=AbjadObject, shape=box]; "abjad.tools.abctools.AbjadObject.AbstractBase" [color=1, group=0, label=AbstractBase, shape=box]; "abjad.tools.abctools.AbjadValueObject.AbjadValueObject" [color=1, group=0, label=AbjadValueObject, shape=box]; "abjad.tools.abctools.AbjadObject.AbjadObject" -> "abjad.tools.abctools.AbjadValueObject.AbjadValueObject"; "abjad.tools.abctools.AbjadObject.AbstractBase" -> "abjad.tools.abctools.AbjadObject.AbjadObject"; } subgraph cluster_pitchtools { graph [label=pitchtools]; "abjad.tools.pitchtools.Rotation.Rotation" [color=black, fontcolor=white, group=2, label=<<B>Rotation</B>>, shape=box, style="filled, rounded"]; } subgraph cluster_builtins { graph [label=builtins]; "builtins.object" [color=2, group=1, label=object, shape=box]; } "abjad.tools.abctools.AbjadValueObject.AbjadValueObject" -> "abjad.tools.pitchtools.Rotation.Rotation"; "builtins.object" -> "abjad.tools.abctools.AbjadObject.AbstractBase"; }

Bases

Attribute summary

index Gets index of rotation.
period Gets period of rotation.
transpose Is true if rotation transposes its output to the original starting pitch of its unrotated input.
__call__(expr) Calls rotation on expr.
__copy__(\*args) Copies Abjad value object.
__eq__(expr) Is true when all initialization values of Abjad value object equal the initialization values of expr.
__format__([format_specification]) Formats Abjad object.
__hash__() Hashes Abjad value object.
__ne__(expr) Is true when Abjad object does not equal expr.
__repr__() Gets interpreter representation of Abjad object.

Read-only properties

Rotation.index

Gets index of rotation.

>>> operator_ = pitchtools.Rotation(index=2)
>>> operator_.index
2

Returns integer.

Rotation.period

Gets period of rotation.

>>> operator_ = pitchtools.Rotation(index=2, period=3)
>>> operator_.period
3

Returns integer or none.

Rotation.transpose

Is true if rotation transposes its output to the original starting pitch of its unrotated input.

>>> operator_ = pitchtools.Rotation(index=2, transpose=False)
>>> operator_.transpose
False

Returns true or false.

Special methods

Rotation.__call__(expr)

Calls rotation on expr.

Example 1. Rotates pitch classes with transposition.

>>> operator_ = pitchtools.Rotation(index=1)
>>> pitch_classes = pitchtools.PitchClassSegment([0, 1, 4, 7])
>>> operator_(pitch_classes)
PitchClassSegment([0, 5, 6, 9])

Example 2. Rotates pitch classes without transposition.

>>> operator_ = pitchtools.Rotation(index=1, transpose=False)
>>> pitch_classes = pitchtools.PitchClassSegment([0, 1, 4, 7])
>>> operator_(pitch_classes)
PitchClassSegment([7, 0, 1, 4])

Example 3. Does not rotate single pitches or pitch-classes.

>>> operator_ = pitchtools.Rotation(index=1)
>>> pitch_class = pitchtools.NumberedPitchClass(6)
>>> operator_(pitch_class)
NumberedPitchClass(6)

Example 4. Periodic rotation without transposition.

>>> operator_ = pitchtools.Rotation(
...     index=1,
...     period=3,
...     transpose=False,
...     )
>>> pitches = pitchtools.PitchSegment("c' d' e' f' g' a' b' c''")
>>> operator_(pitches)
PitchSegment(["e'", "c'", "d'", "a'", "f'", "g'", "c''", "b'"])

Example 5. Periodic rotation with transposition.

>>> operator_ = pitchtools.Rotation(
...     index=1,
...     period=3,
...     )
>>> pitches = pitchtools.PitchSegment("c' d' e' f' g' a' b' c''")
>>> operator_(pitches)
PitchSegment(["c'", 'af', 'bf', "f'", "df'", "ef'", "b'", "as'"])

Returns new object with type equal to that of expr.

(AbjadValueObject).__copy__(*args)

Copies Abjad value object.

Returns new Abjad value object.

(AbjadValueObject).__eq__(expr)

Is true when all initialization values of Abjad value object equal the initialization values of expr.

Returns true or false.

(AbjadObject).__format__(format_specification='')

Formats Abjad object.

Set format_specification to ‘’ or ‘storage’. Interprets ‘’ equal to ‘storage’.

Returns string.

(AbjadValueObject).__hash__()

Hashes Abjad value object.

Returns integer.

(AbjadObject).__ne__(expr)

Is true when Abjad object does not equal expr. Otherwise false.

Returns true or false.

(AbjadObject).__repr__()

Gets interpreter representation of Abjad object.

Returns string.