Esempio n. 1
0
 def _iterate_vertical_moments_forward_in_expr(expr):
     #if not isinstance(expr, scoretools.Component):
     #    raise TypeError
     governors = (expr, )
     current_offset, stop_offsets, buffer = \
         durationtools.Offset(0), [], []
     _buffer_components_starting_with(expr, buffer, stop_offsets)
     while buffer:
         vertical_moment = selectiontools.VerticalMoment()
         offset = durationtools.Offset(current_offset)
         components = list(buffer)
         components.sort(key=lambda x: x._get_parentage().score_index)
         vertical_moment._offset = offset
         vertical_moment._governors = governors
         vertical_moment._components = components
         yield vertical_moment
         current_offset, stop_offsets = min(stop_offsets), []
         _update_buffer(current_offset, buffer, stop_offsets)
Esempio n. 2
0
 def _get_vertical_moment_at(self, offset):
     return selectiontools.VerticalMoment(self, offset)
Esempio n. 3
0
 def _get_vertical_moment(self, governor=None):
     offset = self._get_timespan().start_offset
     if governor is None:
         governor = self._get_parentage().root
     return selectiontools.VerticalMoment(governor, offset)
Esempio n. 4
0
 def get_vertical_moment_at(self, offset):
     r'''Select vertical moment at `offset`.
     '''
     from abjad.tools import selectiontools
     return selectiontools.VerticalMoment(self, offset)