OctavationSpanner

class spannertools.OctavationSpanner(overrides=None, start=1, stop=0)

Octavation spanner.

>>> import abjad

Spans four notes:

>>> staff = abjad.Staff("c'4 d' e' f'")
>>> spanner = abjad.OctavationSpanner(start=1)
>>> abjad.attach(spanner, staff[:])
>>> show(staff) 

Spans one note:

>>> staff = abjad.Staff("c'4 d' e' f'")
>>> octavation_spanner = abjad.OctavationSpanner(start=1)
>>> abjad.attach(octavation_spanner, staff[0])
>>> show(staff) 

One-note octavation changes are allowed.

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.AbjadObject.AbstractBase" -> "abjad.tools.abctools.AbjadObject.AbjadObject"; } subgraph cluster_spannertools { graph [label=spannertools]; "abjad.tools.spannertools.OctavationSpanner.OctavationSpanner" [color=black, fontcolor=white, group=2, label=<<B>OctavationSpanner</B>>, shape=box, style="filled, rounded"]; "abjad.tools.spannertools.Spanner.Spanner" [color=3, group=2, label=Spanner, shape=box]; "abjad.tools.spannertools.Spanner.Spanner" -> "abjad.tools.spannertools.OctavationSpanner.OctavationSpanner"; } subgraph cluster_builtins { graph [label=builtins]; "builtins.object" [color=2, group=1, label=object, shape=box]; } "abjad.tools.abctools.AbjadObject.AbjadObject" -> "abjad.tools.spannertools.Spanner.Spanner"; "builtins.object" -> "abjad.tools.abctools.AbjadObject.AbstractBase"; }

Bases

Attribute summary

adjust_automatically([ottava_breakpoint, …]) Adjusts octavation spanner start and stop automatically according to ottava_breakpoint and quindecisima_breakpoint.
components Gets leaves in spanner.
name Gets spanner name.
overrides Gets overrides.
start Gets octavation start.
stop Gets octavation stop.
__contains__(argument) Is true when spanner contains argument.
__copy__(*arguments) Copies spanner.
__eq__(argument) Is true when ID of argument equals ID of Abjad object.
__format__([format_specification]) Formats Abjad object.
__getitem__(argument) Gets item or slice identified by argument.
__hash__() Hashes Abjad object.
__len__() Gets number of components in spanner.
__lt__(argument) Is true when spanner is less than argument.
__ne__(argument) Is true when Abjad object does not equal argument.
__repr__() Gets interpreter representation of Abjad object.

Read-only properties

(Spanner).components

Gets leaves in spanner.

Returns selection of leaves.

(Spanner).name

Gets spanner name.

Returns string.

(Spanner).overrides

Gets overrides.

Returns dictionary.

OctavationSpanner.start

Gets octavation start.

>>> staff = abjad.Staff("c'8 d'8 e'8 f'8")
>>> spanner = abjad.OctavationSpanner(start=1)
>>> abjad.attach(spanner, staff[:])
>>> show(staff) 
>>> spanner.start
1

Returns integer or none.

OctavationSpanner.stop

Gets octavation stop.

>>> staff = abjad.Staff("c'8 d'8 e'8 f'8")
>>> spanner = abjad.OctavationSpanner(start=2, stop=1)
>>> abjad.attach(spanner, staff[:])
>>> show(staff) 
>>> spanner.stop
1

Returns integer or none.

Methods

OctavationSpanner.adjust_automatically(ottava_breakpoint=None, quindecisima_breakpoint=None)

Adjusts octavation spanner start and stop automatically according to ottava_breakpoint and quindecisima_breakpoint.

>>> measure = abjad.Measure((4, 8), "c'''8 d'''8 ef'''8 f'''8")
>>> octavation = abjad.OctavationSpanner()
>>> abjad.attach(octavation, measure[:])
>>> show(measure) 
>>> octavation.adjust_automatically(ottava_breakpoint=14)
>>> show(measure) 

Adjusts start and stop according to the diatonic pitch number of the maximum pitch in spanner.

Returns none.

Special methods

(Spanner).__contains__(argument)

Is true when spanner contains argument. Otherwise false.

Returns true or false.

(Spanner).__copy__(*arguments)

Copies spanner.

Does not copy spanner components.

Returns new spanner.

(AbjadObject).__eq__(argument)

Is true when ID of argument equals ID of Abjad object. Otherwise false.

Returns true or false.

(AbjadObject).__format__(format_specification='')

Formats Abjad object.

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

Returns string.

(Spanner).__getitem__(argument)

Gets item or slice identified by argument.

Returns component.

(AbjadObject).__hash__()

Hashes Abjad object.

Required to be explicitly redefined on Python 3 if __eq__ changes.

Returns integer.

(Spanner).__len__()

Gets number of components in spanner.

Returns nonnegative integer.

(Spanner).__lt__(argument)

Is true when spanner is less than argument. Otherwise false.

Trivial comparison to allow doctests to work.

Returns true or false.

(AbjadObject).__ne__(argument)

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

Returns true or false.

(AbjadObject).__repr__()

Gets interpreter representation of Abjad object.

Returns string.