Cluster¶
-
class
abjad.core.Cluster.
Cluster
(components=None, identifier=None, is_simultaneous=None, name=None)¶ Cluster.
>>> cluster = abjad.Cluster("c'8 <d' g'>8 b'8") >>> abjad.show(cluster)
>>> cluster Cluster("c'8 <d' g'>8 b'8")
Special methods
-
(
Container
).__delitem__
(i)¶ Deletes components(s) at index
i
in container.Deletes first tuplet in voice:
>>> voice = abjad.Voice() >>> voice.append(abjad.Tuplet((2, 3), "c'4 d'4 e'4")) >>> voice.append(abjad.Tuplet((2, 3), "e'4 d'4 c'4")) >>> leaves = abjad.select(voice).leaves() >>> abjad.attach(abjad.Slur(), leaves) >>> abjad.show(voice)
>>> tuplet_1 = voice[0] >>> del(voice[0])
First tuplet no longer appears in voice:
>>> abjad.show(voice)
>>> abjad.inspect(voice).is_well_formed() True
First tuplet is no longer slurred but is still well-formed:
>>> abjad.show(tuplet_1)
>>> abjad.inspect(tuplet_1).is_well_formed() True
Withdraws component(s) from crossing spanners.
Preserves spanners that component(s) cover(s).
Returns none.
-
(
Container
).__iter__
()¶ Iterates container.
Abjad containers are iterables:
>>> import collections >>> container = abjad.Container() >>> isinstance(container, collections.Iterable) True
Abjad containers are not sequences:
>>> import collections >>> container = abjad.Container() >>> isinstance(container, collections.Sequence) False
Yields container elements.
Returns generator.
Methods
-
(
Container
).extend
(argument)¶ Extends container with
argument
.Extends container with three notes:
>>> container = abjad.Container("c'4 ( d'4 f'4 )") >>> abjad.show(container)
>>> notes = [abjad.Note("e'32"), abjad.Note("d'32"), abjad.Note("e'16")] >>> container.extend(notes) >>> abjad.show(container)
Return type: None
-
(
Container
).insert
(i, component, fracture_spanners=False)¶ Inserts
component
at indexi
in container.Inserts note. Does not fracture spanners:
>>> container = abjad.Container([]) >>> container.extend("fs16 cs' e' a'") >>> container.extend("cs''16 e'' cs'' a'") >>> container.extend("fs'16 e' cs' fs") >>> slur = abjad.Slur(direction=abjad.Down) >>> abjad.attach(slur, container[:]) >>> abjad.show(container)
>>> container.insert(-4, abjad.Note("e'4"), fracture_spanners=False) >>> abjad.show(container)
Inserts note. Fractures spanners:
>>> container = abjad.Container([]) >>> container.extend("fs16 cs' e' a'") >>> container.extend("cs''16 e'' cs'' a'") >>> container.extend("fs'16 e' cs' fs") >>> slur = abjad.Slur(direction=abjad.Down) >>> abjad.attach(slur, container[:]) >>> abjad.show(container)
>>> container.insert(-4, abjad.Note("e'4"), fracture_spanners=True) >>> abjad.show(container)
Return type: None
Read/write properties
-
(
Container
).is_simultaneous
¶ Is true when container is simultaneous.
Gets simultaneity status of container:
>>> container = abjad.Container() >>> container.append(abjad.Voice("c'8 d'8 e'8")) >>> container.append(abjad.Voice('g4.')) >>> abjad.show(container)
>>> container.is_simultaneous is None True
Sets simultaneity status of container:
>>> container = abjad.Container() >>> container.append(abjad.Voice("c'8 d'8 e'8")) >>> container.append(abjad.Voice('g4.')) >>> abjad.show(container)
>>> container.is_simultaneous = True >>> abjad.show(container)
Return type: Optional
[bool
]
-
(
Container
).name
¶ Gets and sets name of container.
Gets container name:
>>> container = abjad.Container("c'4 d'4 e'4 f'4") >>> abjad.show(container)
>>> container.name is None True
Sets container name:
>>> container = abjad.Container( ... "c'4 d'4 e'4 f'4", ... name='Special', ... ) >>> abjad.show(container)
>>> container.name 'Special'
Container name does not appear in LilyPond output:
>>> abjad.f(container) { c'4 d'4 e'4 f'4 }
Return type: Optional
[str
]
Read-only properties
-