verticalitytools.get_vertical_moment_starting_with_component

abjad.tools.verticalitytools.get_vertical_moment_starting_with_component.get_vertical_moment_starting_with_component(expr, governor=None)[source]

New in version 2.0.

When governor is none, get vertical moment at expr._offset.start in score root of expr:

abjad> from abjad.tools import verticalitytools
abjad> score = Score([])
abjad> score.append(Staff([tuplettools.FixedDurationTuplet(Duration(4, 8), notetools.make_repeated_notes(3))]))
abjad> piano_staff = scoretools.PianoStaff([])
abjad> piano_staff.append(Staff(notetools.make_repeated_notes(2, Duration(1, 4))))
abjad> piano_staff.append(Staff(notetools.make_repeated_notes(4)))
abjad> contexttools.ClefMark('bass')(piano_staff[1])
ClefMark('bass')(Staff{4})
abjad> score.append(piano_staff)
abjad> pitchtools.set_ascending_named_diatonic_pitches_on_nontied_pitched_components_in_expr(list(reversed(score.leaves)))
abjad> f(score)
\new Score <<
    \new Staff {
        \fraction \times 4/3 {
            d''8
            c''8
            b'8
        }
    }
    \new PianoStaff <<
        \new Staff {
            a'4
            g'4
        }
        \new Staff {
            \clef "bass"
            f'8
            e'8
            d'8
            c'8
        }
    >>
>>
abjad> verticalitytools.get_vertical_moment_starting_with_component(piano_staff[1][1])
VerticalMoment(1/8, <<3>>)

When governor is not none, get vertical moment at expr._offset.start in governor.

abjad> verticalitytools.get_vertical_moment_starting_with_component(piano_staff[1][1], piano_staff)
VerticalMoment(1/8, <<2>>)

Todo

optimize without full-component traversal.

Changed in version 2.0: renamed iterate.get_vertical_moment_starting_with() to verticalitytools.get_vertical_moment_starting_with_component().

Changed in version 2.0: renamed iterate.get_vertical_moment_starting_with_component() to verticalitytools.get_vertical_moment_starting_with_component().

This Page