def _get_likely_multiplier_of_components(components): pass from abjad.tools import scoretools from abjad.tools import iterationtools from abjad.tools import leaftools from abjad.tools import selectiontools from abjad.tools import sequencetools assert all(isinstance(x, scoretools.Component) for x in components) chain_duration_numerators = [] for expr in \ iterationtools.iterate_topmost_tie_chains_and_components_in_expr( components): if isinstance(expr, selectiontools.TieChain): chain_duration = expr._preprolated_duration chain_duration_numerators.append(chain_duration.numerator) if len(sequencetools.truncate_runs_in_sequence( chain_duration_numerators)) == 1: numerator = chain_duration_numerators[0] denominator = mathtools.greatest_power_of_two_less_equal(numerator) likely_multiplier = durationtools.Multiplier(numerator, denominator) return likely_multiplier
def _scale_contents(self, multiplier): from abjad.tools import iterationtools for expr in \ iterationtools.iterate_topmost_tie_chains_and_components_in_expr( self[:]): expr._scale(multiplier)