def get_active_measures_by_reading_and_instrument(score, reading_index, instrument_name): active_measures = get_active_measures_by_section_index(score, reading_index) measures = [] for measure in iterate.measures_forward_in(active_measures): if measure.staff.effective.name == instrument_name: measures.append(measure) return measures
def get_fitting_offset_values(score): fitting_offset_values = [] for reading_index in range(6): counts = get_active_leaf_counts_for_reading_top_staff(reading_index) mark_indices = sequencetools.cumulative_sums_zero(counts)[:-1] measures = get_active_measures_by_section_index(score, reading_index) for i, leaf in enumerate(iterate.leaves_forward_in(measures)): if i in mark_indices: leaf.history.first_in_fitting = True offset = leaf.offset.prolated.start fitting_offset_values.append(offset) return fitting_offset_values