def _update_all_leaf_indices_and_measure_numbers(component): r'''Call only when updating offsets. No separate state flags exist for leaf indices or measure numbers. ''' from abjad.tools import contexttools from abjad.tools import iterationtools parentage = component._get_parentage() score_root = parentage.root if isinstance(score_root, contexttools.Context): contexts = iterationtools.iterate_contexts_in_expr(score_root) for context in contexts: for leaf_index, leaf in enumerate( iterationtools.iterate_leaves_in_expr(context)): leaf._leaf_index = leaf_index for measure_index, measure in enumerate( iterationtools.iterate_measures_in_expr(context)): measure_number = measure_index + 1 measure._measure_number = measure_number else: for leaf_index, leaf in enumerate( iterationtools.iterate_leaves_in_expr(score_root)): leaf._leaf_index = leaf_index for measure_index, measure in enumerate( iterationtools.iterate_measures_in_expr(score_root)): measure_number = measure_index + 1 measure._measure_number = measure_number
def score_name(self): r'''Context dictionary score name. Returns string or none. ''' for context in iterationtools.iterate_contexts_in_expr(self.score): if isinstance(context, scoretools.Score): return context.name
def _initialize_single_context_set_expressions_by_context(self): from experimental.tools import musicexpressiontools context_names = [] if self.score is not None: for context in \ iterationtools.iterate_contexts_in_expr(self.score): assert context.context_name is not None, context.name_name context_names.append(context.name) for context_name in sorted(context_names): self[context_name] = musicexpressiontools.ContextProxy()