LogicalTieCollection

digraph InheritanceGraph { graph [bgcolor=transparent, color=lightsteelblue2, fontname=Arial, fontsize=10, outputorder=edgesfirst, overlap=prism, penwidth=2, rankdir=LR, splines=spline, style="dashed, rounded", truecolor=true]; node [colorscheme=pastel19, fontname=Arial, fontsize=10, height=0, penwidth=2, shape=box, style="filled, rounded", width=0]; edge [color=lightslategrey, penwidth=1]; subgraph cluster_builtins { graph [label=builtins]; node [color=1]; "builtins.object" [URL="https://docs.python.org/3.7/library/functions.html#object", label=object, target=_top]; } subgraph "cluster_evans.consort" { graph [label="evans.consort"]; node [color=2]; "evans.consort.AbjadObject.AbjadObject" [URL="../api/evans/consort/AbjadObject.html#evans.consort.AbjadObject.AbjadObject", label="Abjad\nObject", target=_top]; "evans.consort.LogicalTieCollection.LogicalTieCollection" [URL="../api/evans/consort/LogicalTieCollection.html#evans.consort.LogicalTieCollection.LogicalTieCollection", color=black, fontcolor=white, label="Logical\nTie\nCollection", target=_top]; "evans.consort.AbjadObject.AbjadObject" -> "evans.consort.LogicalTieCollection.LogicalTieCollection"; } "builtins.object" -> "evans.consort.AbjadObject.AbjadObject"; }

class evans.consort.LogicalTieCollection.LogicalTieCollection(logical_ties=None)[source]

A mutable always-sorted collection of logical_ties.

>>> staff = abjad.Staff("c'4 c'4 c'4 c'4")
>>> logical_ties = abjad.select(staff).logical_ties()
>>> logical_tie_collection = evans.LogicalTieCollection()
>>> for tie in logical_ties:
...     logical_tie_collection.insert(tie)
... 
>>> print(abjad.storage(logical_tie_collection))
evans.LogicalTieCollection(
    [
        abjad.LogicalTie(
            [
                abjad.Note("c'4"),
                ]
            ),
        abjad.LogicalTie(
            [
                abjad.Note("c'4"),
                ]
            ),
        abjad.LogicalTie(
            [
                abjad.Note("c'4"),
                ]
            ),
        abjad.LogicalTie(
            [
                abjad.Note("c'4"),
                ]
            ),
        ]
    )

Attributes Summary

__contains__

Is true if this logical_tie collection contains logical_tie.

__getitem__

Gets logical_tie at index i.

__iter__

Iterates logical_ties in this logical_tie collection.

__len__

Gets length of this logical_tie collection.

__setitem__

Sets logical_ties at index i to new.

all_offsets

all_start_offsets

all_stop_offsets

earliest_start_offset

earliest_stop_offset

find_logical_ties_intersecting_timespan

Finds logical_ties overlapping timespan.

find_logical_ties_overlapping_offset

Finds logical_ties overlapping offset.

find_logical_ties_starting_at

find_logical_ties_starting_during_timespan

find_logical_ties_stopping_at

get_start_offset_after

Gets start offst in this logical_tie collection after offset.

get_start_offset_before

Gets start offst in this logical_tie collection before offset.

index

insert

Inserts logical_ties into this logical_tie collection.

latest_start_offset

latest_stop_offset

remove

Removes logical_ties from this logical_tie collection.

start_offset

stop_offset


Special methods

__contains__(logical_tie)[source]

Is true if this logical_tie collection contains logical_tie. Otherwise false.

>>> staff = abjad.Staff("c'4 c'4 c'4 c'4")
>>> logical_ties = abjad.select(staff).logical_ties()
>>> logical_tie_collection = evans.LogicalTieCollection()
>>> for tie in logical_ties:
...     logical_tie_collection.insert(tie)
... 
>>> new_staff = abjad.Staff("c'4. c'8 c'4 c'4")
>>> logical_ties[0] in logical_tie_collection
True
>>> new_staff[0] in logical_tie_collection
False

Returns boolean.

(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.

__getitem__(i)[source]

Gets logical_tie at index i.

>>> staff = abjad.Staff("c'4 c'4 c'4 c'4")
>>> logical_ties = abjad.select(staff).logical_ties()
>>> logical_tie_collection = evans.LogicalTieCollection()
>>> for tie in logical_ties:
...     logical_tie_collection.insert(tie)
... 
>>> logical_tie_collection[-1]
LogicalTie([Note("c'4")])
>>> for logical_tie in logical_tie_collection[:3]:
...     logical_tie
... 
LogicalTie([Note("c'4")])
LogicalTie([Note("c'4")])
LogicalTie([Note("c'4")])

Returns logical_tie or logical_ties.

(AbjadObject).__hash__()

Hashes Abjad object. Required to be explicitly redefined on Python 3 if __eq__ changes. Returns integer.

__iter__()[source]

Iterates logical_ties in this logical_tie collection.

>>> staff = abjad.Staff("c'4. c'8 c'4.. c'16")
>>> logical_ties = abjad.select(staff).logical_ties()
>>> logical_tie_collection = evans.LogicalTieCollection()
>>> for tie in logical_ties:
...     logical_tie_collection.insert(tie)
... 
>>> for logical_tie in logical_tie_collection:
...     logical_tie
... 
LogicalTie([Note("c'4.")])
LogicalTie([Note("c'8")])
LogicalTie([Note("c'4..")])
LogicalTie([Note("c'16")])

Returns generator.

__len__()[source]

Gets length of this logical_tie collection.

>>> staff = abjad.Staff("c'4 c'4 c'4 c'4")
>>> logical_ties = abjad.select(staff).logical_ties()
>>> logical_tie_collection = evans.LogicalTieCollection()
>>> for tie in logical_ties:
...     logical_tie_collection.insert(tie)
... 
>>> len(logical_tie_collection)
4

Returns integer.

(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.

__setitem__(i, new)[source]

Sets logical_ties at index i to new.

>>> staff = abjad.Staff("c'4 c'4 c'4 c'4")
>>> logical_ties = abjad.select(staff).logical_ties()
>>> logical_tie_collection = evans.LogicalTieCollection()
>>> for tie in logical_ties:
...     logical_tie_collection.insert(tie)
... 
>>> new_staff = abjad.Staff("c'1")
>>> logical_tie_collection[:3] = new_staff[:]

Returns none.

(AbjadObject).__str__()

Return str(self).


Methods

find_logical_ties_intersecting_timespan(timespan)[source]

Finds logical_ties overlapping timespan.

>>> staff = abjad.Staff("c'4 c'2 c'4")
>>> logical_ties = abjad.select(staff).logical_ties()
>>> logical_tie_collection = evans.LogicalTieCollection()
>>> for tie in logical_ties:
...     logical_tie_collection.insert(tie)
... 
>>> timespan = abjad.Timespan((3, 8), 1)
>>> for x in logical_tie_collection.find_logical_ties_intersecting_timespan(
...     timespan
... ):
...     x
... 
LogicalTie([Note("c'2")])
LogicalTie([Note("c'4")])

Returns tuple of 0 or more logical_ties.

find_logical_ties_overlapping_offset(offset)[source]

Finds logical_ties overlapping offset.

>>> staff = abjad.Staff("c'4 c'2 c'4")
>>> logical_ties = abjad.select(staff).logical_ties()
>>> logical_tie_collection = evans.LogicalTieCollection()
>>> for tie in logical_ties:
...     logical_tie_collection.insert(tie)
... 
>>> for x in logical_tie_collection.find_logical_ties_overlapping_offset(0.5):
...     x
... 
LogicalTie([Note("c'2")])

Returns tuple of 0 or more logical_ties.

find_logical_ties_starting_at(offset)[source]
find_logical_ties_starting_during_timespan(timespan)[source]
find_logical_ties_stopping_at(offset)[source]
get_start_offset_after(offset)[source]

Gets start offst in this logical_tie collection after offset.

>>> staff = abjad.Staff("c'4 c'4 c'4 c'4")
>>> logical_ties = abjad.select(staff).logical_ties()
>>> logical_tie_collection = evans.LogicalTieCollection()
>>> for tie in logical_ties:
...     logical_tie_collection.insert(tie)
... 
>>> logical_tie_collection.get_start_offset_after(-1)
Offset((0, 1))
>>> logical_tie_collection.get_start_offset_after(0)
Offset((1, 4))
>>> logical_tie_collection.get_start_offset_after(Offset(1, 2))
Offset((3, 4))
>>> logical_tie_collection.get_start_offset_after(6) is None
True
get_start_offset_before(offset)[source]

Gets start offst in this logical_tie collection before offset.

>>> staff = abjad.Staff("c'4 c'4 c'4 c'4")
>>> logical_ties = abjad.select(staff).logical_ties()
>>> logical_tie_collection = evans.LogicalTieCollection()
>>> for tie in logical_ties:
...     logical_tie_collection.insert(tie)
... 
>>> logical_tie_collection.get_start_offset_before(7)
Offset((3, 4))
>>> logical_tie_collection.get_start_offset_before(Offset(1, 2))
Offset((1, 4))
>>> logical_tie_collection.get_start_offset_before(Offset(1, 4))
Offset((0, 1))
>>> logical_tie_collection.get_start_offset_before(0) is None
True
index(logical_tie)[source]
insert(logical_ties)[source]

Inserts logical_ties into this logical_tie collection.

>>> staff = abjad.Staff("c'2 c'2")
>>> logical_ties = abjad.select(staff).logical_ties()
>>> logical_tie_collection = evans.LogicalTieCollection()
>>> for tie in logical_ties:
...     logical_tie_collection.insert(tie)
... 
>>> for x in logical_tie_collection:
...     x
... 
LogicalTie([Note("c'2")])
LogicalTie([Note("c'2")])

logical_ties may be a single logical_tie or an iterable of logical_ties.

Returns none.

remove(logical_ties)[source]

Removes logical_ties from this logical_tie collection.

>>> staff = abjad.Staff("c'2. c'4")
>>> logical_ties = abjad.select(staff).logical_ties()
>>> logical_tie_collection = evans.LogicalTieCollection()
>>> for tie in logical_ties:
...     logical_tie_collection.insert(tie)
... 
>>> logical_tie_collection.remove(logical_ties[0])
>>> for logical_tie in logical_tie_collection:
...     logical_tie
... 
LogicalTie([Note("c'4")])

Read-only properties

all_offsets
all_start_offsets
all_stop_offsets
earliest_start_offset
earliest_stop_offset
latest_start_offset
latest_stop_offset
start_offset
stop_offset