Hairpin¶
Classes
Hairpin |
Hairpin. |
-
class
abjad.spanners.Hairpin.
Hairpin
(descriptor=None, *, direction=None)¶ Hairpin.
Note
abjad.Hairpin
is deprecated. Use theabjad.hairpin()
factory function instead.Crescendo:
>>> voice = abjad.Voice("r8 d' e' f' g' a' b' r") >>> hairpin = abjad.Hairpin('p < f') >>> abjad.attach(hairpin, voice[1:-1]) >>> abjad.show(voice)
>>> for leaf in abjad.select(voice).leaves(): ... leaf, abjad.inspect(leaf).effective(abjad.Dynamic) ... (Rest('r8'), None) (Note("d'8"), None) (Note("e'8"), None) (Note("f'8"), None) (Note("g'8"), None) (Note("a'8"), None) (Note("b'8"), None) (Rest('r8'), None)
Decrescendo:
>>> voice = abjad.Voice("r8 d' e' f' g' a' b' r") >>> hairpin = abjad.Hairpin('f > p') >>> abjad.attach(hairpin, voice[1:-1]) >>> abjad.show(voice)
>>> for leaf in abjad.select(voice).leaves(): ... leaf, abjad.inspect(leaf).effective(abjad.Dynamic) ... (Rest('r8'), None) (Note("d'8"), None) (Note("e'8"), None) (Note("f'8"), None) (Note("g'8"), None) (Note("a'8"), None) (Note("b'8"), None) (Rest('r8'), None)
Decrescendo al niente:
>>> voice = abjad.Voice("c'2. r4") >>> hairpin = abjad.Hairpin('f > niente') >>> abjad.attach(hairpin, voice[:]) >>> abjad.show(voice)
>>> for leaf in abjad.select(voice).leaves(): ... leaf, abjad.inspect(leaf).effective(abjad.Dynamic) ... (Note("c'2."), None) (Rest('r4'), None)
Multiple hairpins enchained with dynamics:
>>> voice = abjad.Voice("c'8 d' e' f' c' d' e' f' c'") >>> abjad.attach(abjad.Dynamic('p'), voice[0]) >>> abjad.attach(abjad.Hairpin('<'), voice[:3]) >>> abjad.attach(abjad.Dynamic('f'), voice[2]) >>> abjad.attach(abjad.Hairpin('>'), voice[2:5]) >>> abjad.attach(abjad.Dynamic('p'), voice[4]) >>> abjad.attach(abjad.Hairpin('<'), voice[4:7]) >>> abjad.attach(abjad.Dynamic('f'), voice[6]) >>> abjad.attach(abjad.Hairpin('>'), voice[6:]) >>> abjad.attach(abjad.Dynamic('p'), voice[8]) >>> abjad.show(voice)
>>> for leaf in abjad.select(voice).leaves(): ... leaf, abjad.inspect(leaf).effective(abjad.Dynamic) ... (Note("c'8"), Dynamic('p')) (Note("d'8"), Dynamic('p')) (Note("e'8"), Dynamic('f')) (Note("f'8"), Dynamic('f')) (Note("c'8"), Dynamic('p')) (Note("d'8"), Dynamic('p')) (Note("e'8"), Dynamic('f')) (Note("f'8"), Dynamic('f')) (Note("c'8"), Dynamic('p'))
Attributes Summary
__eq__
Is true when hairpin equals argument
.__hash__
Hashes hairpin. descriptor
Gets descriptor. direction
Gets direction. shape_string
Gets shape string. start_dynamic
Gets start dynamic. stop_dynamic
Gets stop dynamic. tweaks
Gets tweaks. Special methods
-
__eq__
(argument)¶ Is true when hairpin equals
argument
.>>> hairpin_1 = abjad.Hairpin('p < f') >>> hairpin_2 = abjad.Hairpin('p < f') >>> hairpin_3 = abjad.Hairpin('f > p')
>>> hairpin_1 == hairpin_1 True
>>> hairpin_1 == hairpin_2 True
>>> hairpin_1 == hairpin_3 False
>>> hairpin_2 == hairpin_1 True
>>> hairpin_2 == hairpin_2 True
>>> hairpin_2 == hairpin_3 False
>>> hairpin_3 == hairpin_1 False
>>> hairpin_3 == hairpin_2 False
>>> hairpin_3 == hairpin_3 True
Return type: bool
-
(
AbjadObject
).__format__
(format_specification='')¶ Formats Abjad object.
Set
format_specification
to''
or'storage'
. Interprets''
equal to'storage'
.Returns string.
-
(
AbjadObject
).__repr__
()¶ Gets interpreter representation of Abjad object.
Returns string.
Read-only properties
-
descriptor
¶ Gets descriptor.
>>> voice = abjad.Voice("r8 d' e' f' g' a' b' r") >>> hairpin = abjad.Hairpin('p < f') >>> abjad.attach(hairpin, voice[1:-1]) >>> abjad.show(voice)
>>> hairpin.descriptor 'p < f'
Return type: Optional
[str
]
-
direction
¶ Gets direction.
>>> voice = abjad.Voice("r8 d' e' f' g' a' b' r") >>> hairpin = abjad.Hairpin('p < f', direction=abjad.Up) >>> abjad.attach(hairpin, voice[1:-1]) >>> abjad.show(voice)
>>> hairpin.direction '^'
Return type: Optional
[String
]
-
shape_string
¶ Gets shape string.
>>> voice = abjad.Voice("r8 d' e' f' g' a' b' r") >>> hairpin = abjad.Hairpin('p < f') >>> abjad.attach(hairpin, voice[1:-1]) >>> abjad.show(voice)
>>> hairpin.shape_string '<'
Return type: str
-
start_dynamic
¶ Gets start dynamic.
>>> voice = abjad.Voice("r8 d' e' f' g' a' b' r") >>> hairpin = abjad.Hairpin('p < f') >>> abjad.attach(hairpin, voice[1:-1]) >>> abjad.show(voice)
>>> hairpin.start_dynamic Dynamic('p')
Return type: Optional
[Dynamic
]
-
stop_dynamic
¶ Gets stop dynamic.
>>> voice = abjad.Voice("r8 d' e' f' g' a' b' r") >>> hairpin = abjad.Hairpin('p < f') >>> abjad.attach(hairpin, voice[1:-1]) >>> abjad.show(voice)
>>> hairpin.stop_dynamic Dynamic('f')
Return type: Optional
[Dynamic
]
-
tweaks
¶ Gets tweaks.
>>> hairpin = abjad.Hairpin('p < f') >>> abjad.tweak(hairpin).color = 'blue' >>> staff = abjad.Staff("c'4 d' e' f'") >>> abjad.attach(hairpin, staff[:]) >>> abjad.show(staff)
Return type: Optional
[LilyPondTweakManager
]
-
Functions
hairpin |
Attaches hairpin indicators. |
-
abjad.spanners.Hairpin.
hairpin
(descriptor, argument, *, selector='abjad.select().leaves()')¶ Attaches hairpin indicators.
With three-part string descriptor:
>>> staff = abjad.Staff("c'4 d' e' f'") >>> abjad.hairpin('p < f', staff[:]) >>> abjad.override(staff[0]).dynamic_line_spanner.staff_padding = 4 >>> abjad.show(staff)
With dynamic objects:
>>> staff = abjad.Staff("c'4 d' e' f'") >>> start = abjad.Dynamic('niente', command=r'\!') >>> trend = abjad.DynamicTrend('o<|') >>> abjad.tweak(trend).color = 'blue' >>> stop = abjad.Dynamic('"f"') >>> abjad.hairpin([start, trend, stop], staff[:]) >>> abjad.override(staff[0]).dynamic_line_spanner.staff_padding = 4 >>> abjad.show(staff)
Return type: None