Exemple #1
0
pcs = list(turquoise_pcs.iterate_payload())
leaves = leaftools.make_leaves(pcs, [Duration(1, 8)])
voice = Voice(leaves)
staff = Staff([voice])
score = Score([staff])
lilypond_file = lilypondfiletools.make_basic_lilypond_file(score)
voice.consists_commands.add('Horizontal_bracket_engraver')

for level in (1, 2):
    level_sizes = []
    for x in turquoise_pcs.iterate_at_level(level):
        size = len(list(x.iterate_payload()))
        level_sizes.append(size)

    for part in sequencetools.partition_sequence_once_by_counts_without_overhang(
        voice.leaves, level_sizes):
        spannertools.HorizontalBracketSpanner(part)

cur_group = 0
for leaf in voice.leaves:
    brackets = list(spannertools.get_spanners_attached_to_component(
        leaf, klass = spannertools.HorizontalBracketSpanner))
    if brackets[0][0] is leaf:
        if brackets[1][0] is leaf:
            markuptools.Markup(r'\bold { %s }' % cur_group, 'up')(leaf)
            cur_group += 1

bar_line = score.add_double_bar()
spanner = spannertools.Spanner(voice.leaves)
spanner.override.staff.bar_line.stencil = False
# -*- coding: utf-8 -*-
from abjad.tools import sequencetools
from archipel.etc.implementation.data import archipel_numerators_larger
from archipel.etc.implementation.utilities import keep_data


# divide 19 ice measures into six sections
meter_tokens = archipel_numerators_larger[1]
meter_tokens = sequencetools.partition_sequence_by_ratio_of_weights(meter_tokens, 6 * [1])

# swap first two sections
meter_tokens[:2] = reversed(meter_tokens[:2])

# make tokens
measures_per_section = [len(x) for x in meter_tokens]
meter_tokens = sequencetools.flatten_sequence(meter_tokens)
meter_tokens = [(x, 8) for x in meter_tokens]
meter_tokens = sequencetools.partition_sequence_once_by_counts_without_overhang(
    meter_tokens, measures_per_section)

# keep tokens
#keep_data(meter_tokens, 'ice_meter_tokens_by_section')