AfterGraceContainer¶
-
class
abjad.core.AfterGraceContainer.
AfterGraceContainer
(components=None)¶ After grace container.
After grace notes:
>>> voice = abjad.Voice("c'4 d'4 e'4 f'4") >>> string = '#(define afterGraceFraction (cons 15 16))' >>> literal = abjad.LilyPondLiteral(string) >>> abjad.attach(literal, voice[0]) >>> notes = [abjad.Note("c'16"), abjad.Note("d'16")] >>> after_grace_container = abjad.AfterGraceContainer(notes) >>> abjad.attach(after_grace_container, voice[1]) >>> abjad.show(voice)
LilyPond positions after grace notes at a point 3/4 of the way after the note they follow. The resulting spacing is usually too loose.
Customize aftterGraceFraction as shown above.
After grace notes are played at the very end of the note they follow.
Use after grace notes when you need to end a piece of music with grace notes.
After grace notes do not subclass grace notes; but acciacatura containers and appoggiatura containers do subclass grace notes.
Fill grace containers with notes, rests or chords.
Attach after grace containers to notes, rests or chords.
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
-