Exemplo n.º 1
0
 def _run(self, expr):
     violators = []
     components = iterationtools.iterate_components_in_expr(expr)
     total_ids = [id(x) for x in components]
     unique_ids = sequencetools.truncate_runs_in_sequence(total_ids)
     if len(unique_ids) < len(total_ids):
         for current_id in unique_ids:
             if 1 < total_ids.count(current_id):
                 violators.extend([x for x in components 
                     if id(x) == current_id])
     return violators, len(total_ids)
Exemplo n.º 2
0
 def _get_likely_multiplier_of_components(components):
     pass
     from abjad.tools import scoretools
     from abjad.tools import selectiontools
     from abjad.tools import sequencetools
     assert all(isinstance(x, scoretools.Component) for x in components)
     logical_tie_duration_numerators = []
     for expr in \
         iterate(components).by_topmost_logical_ties_and_components():
         if isinstance(expr, selectiontools.LogicalTie):
             logical_tie_duration = expr._preprolated_duration
             logical_tie_duration_numerators.append(
                 logical_tie_duration.numerator)
     if len(sequencetools.truncate_runs_in_sequence(
         logical_tie_duration_numerators)) == 1:
         numerator = logical_tie_duration_numerators[0]
         denominator = mathtools.greatest_power_of_two_less_equal(numerator)
         likely_multiplier = durationtools.Multiplier(
             numerator, denominator)
         return likely_multiplier