def cast_top_level_prolation_pairs(top_level_prolation_pairs):
    tokens = cast_tokens()
    pairs = top_level_prolation_pairs[:]
    for instrument_indices, weights in tokens:
        instrument_pair_lists = []
        for instrument_index in instrument_indices:
            instrument_pair_list = pairs[instrument_index]
            instrument_eighths = [pair[0] for pair in instrument_pair_list]
            parts = sequencetools.split_sequence_cyclically_with_overhang(instrument_eighths, weights)
            lengths = [len(part) for part in parts]
            instrument_pair_list = sequencetools.partition_sequence_by_counts(instrument_pair_list, lengths)
            instrument_pair_lists.append(instrument_pair_list)
        rebuilt_pair_lists = []
        for i, parts in enumerate(zip(*instrument_pair_lists)):
            #print(i, parts)
            if i % 3 == 1:
                rebuilt_pair_lists.append((parts[0], ) * len(parts))
            else:
                rebuilt_pair_lists.append(parts)
        rebuilt_pair_lists = zip(*rebuilt_pair_lists)
        rebuilt_pair_lists = [
            sequencetools.flatten_sequence(x, depth = 1) for x in rebuilt_pair_lists]
        rebuilt_pair_lists = [list(x) for x in rebuilt_pair_lists]
        for instrument_index, rebuilt_pair_list in zip(
            instrument_indices, rebuilt_pair_lists):
            pairs[instrument_index] = rebuilt_pair_list
    return pairs
Пример #2
0
def cast_top_level_eighths(top_level_eighths):
    tokens = cast_tokens()
    top_level_eighths = top_level_eighths[:]
    #print(top_level_eighths)
    for instrument_indices, weights in tokens:
        instruments = []
        for instrument_index in instrument_indices:
            instrument = top_level_eighths[instrument_index]
            parts = sequencetools.split_sequence_cyclically_by_weights_with_overhang( instrument, weights)
            instruments.append(parts)
        #print(instruments)
        rebuilt_instruments = []
        for i, parts in enumerate(zip(*instruments)):
            #print(i, parts)
            if i % 3 == 1:
                rebuilt_instruments.append((parts[0], ) * len(parts))
            else:
                rebuilt_instruments.append(parts)
        rebuilt_instruments = zip(*rebuilt_instruments)
        rebuilt_instruments = [sequencetools.flatten_sequence(x) for x in rebuilt_instruments]
        rebuilt_instruments = [list(x) for x in rebuilt_instruments]
        #print(rebuilt_instruments)
        for instrument_index, rebuilt_instrument in zip(
            instrument_indices, rebuilt_instruments):
            top_level_eighths[instrument_index] = rebuilt_instrument
    return top_level_eighths
Пример #3
0
def depict_cast_schedule():
    tokens = cast_tokens()
    start_stops = []
    for token in tokens:
        start, stop = print_cast_line(token)
        start_stops.append((start, stop))
    start_stops.sort()
    print(start_stops)