Example #1
0
def make_empty_measures(score):
    print('making empty measures ...')
    numerators, second_numerators = make_numerators()
    numerators = sequencetools.flatten_sequence(numerators)
    reading_lengths = get_measures_per_reading()
    #for staff in iterate.naive_forward_in(score, klass = Staff):
    for voice in score.music_voices:
        meter_tokens = [(numerator, 8) for numerator in numerators]
        measures = measuretools.make(meter_tokens)
        #staff.extend(measures)
        voice.extend(measures)
    return score
def ascribe_tilt(score):
    numerators, second_numerators = make_numerators()
    numerators = sequencetools.flatten_sequence(numerators)
    sublists = sequencetools.partition_by_weights_ratio(numerators, [2, 1, 1])
    lengths = [len(sublist) for sublist in sublists]
    #print(lengths, sequencetools.cumulative_sums(lengths))
    for staff in iterate.naive_forward_in(score, Staff):
        measures = list(iterate.measures_forward_in(staff))
        measure_groups = sequencetools.partition_by_lengths(measures, lengths)
        for measure_group_index, measure_group in enumerate(measure_groups):
            for measure in measure_group:
                tilt = get_tilt(measure_group_index, measure)
                measure.history.tilt = tilt
def get_measures_per_reading():
    first_numerators, second_numerators = make_numerators()
    return [len(reading) for reading in first_numerators]