def test_quantizationtools_QGrid_pickle_01():
    q_grid = quantizationtools.QGrid(
        root_node=quantizationtools.QGridContainer(
            preprolated_duration=1,
            children=[
                quantizationtools.QGridLeaf(
                    preprolated_duration=1,
                    q_event_proxies=[
                        quantizationtools.QEventProxy(
                            quantizationtools.SilentQEvent(100),
                            0.5,
                            ),
                        ],
                    ),
                ],
            ),
        next_downbeat=quantizationtools.QGridLeaf(
            preprolated_duration=1,
            q_event_proxies=[
                quantizationtools.QEventProxy(
                    quantizationtools.TerminalQEvent(200),
                    0.9,
                    ),
                ],
            ),
        )
    pickled = pickle.loads(pickle.dumps(q_grid))

    assert format(pickled) == format(q_grid)
    assert pickled is not q_grid
    assert pickled != q_grid, \
        systemtools.TestManager.diff(pickled, q_grid, 'Diff:')
Exemple #2
0
def test_quantizationtools_QGrid___eq___02():
    a = quantizationtools.QGrid(
        root_node=quantizationtools.QGridContainer(
            preprolated_duration=1,
            children=[
                quantizationtools.QGridLeaf(
                    preprolated_duration=1,
                    q_event_proxies=[
                        quantizationtools.QEventProxy(
                            quantizationtools.SilentQEvent(100),
                            0.5,
                        ),
                    ],
                ),
            ],
        ),
        next_downbeat=quantizationtools.QGridLeaf(
            preprolated_duration=1,
            q_event_proxies=[
                quantizationtools.QEventProxy(
                    quantizationtools.TerminalQEvent(200),
                    0.9,
                ),
            ],
        ),
    )
    b = quantizationtools.QGrid(
        root_node=quantizationtools.QGridContainer(
            preprolated_duration=1,
            children=[
                quantizationtools.QGridLeaf(
                    preprolated_duration=1,
                    q_event_proxies=[
                        quantizationtools.QEventProxy(
                            quantizationtools.SilentQEvent(100),
                            0.5,
                        ),
                    ],
                ),
            ],
        ),
        next_downbeat=quantizationtools.QGridLeaf(
            preprolated_duration=1,
            q_event_proxies=[
                quantizationtools.QEventProxy(
                    quantizationtools.TerminalQEvent(200),
                    0.9,
                ),
            ],
        ),
    )
    assert format(a) == format(b)
    assert a != b
Exemple #3
0
def test_quantizationtools_QGrid___eq___03():
    a = quantizationtools.QGrid()
    b = quantizationtools.QGrid(root_node=quantizationtools.QGridContainer(
        preprolated_duration=1,
        children=[
            quantizationtools.QGridLeaf(
                preprolated_duration=1,
                q_event_proxies=[
                    quantizationtools.QEventProxy(
                        quantizationtools.SilentQEvent(100), 0.5)
                ],
            ),
        ],
    ), )
    c = quantizationtools.QGrid(next_downbeat=quantizationtools.QGridLeaf(
        preprolated_duration=1,
        q_event_proxies=[
            quantizationtools.QEventProxy(
                quantizationtools.TerminalQEvent(200), 0.9),
        ],
    ), )
    d = quantizationtools.QGrid(
        root_node=quantizationtools.QGridContainer(
            preprolated_duration=1,
            children=[
                quantizationtools.QGridLeaf(
                    preprolated_duration=1,
                    q_event_proxies=[
                        quantizationtools.QEventProxy(
                            quantizationtools.SilentQEvent(100), 0.5),
                    ],
                ),
            ],
        ),
        next_downbeat=quantizationtools.QGridLeaf(
            preprolated_duration=1,
            q_event_proxies=[
                quantizationtools.QEventProxy(
                    quantizationtools.TerminalQEvent(200),
                    0.9,
                ),
            ],
        ),
    ),

    assert a != b
    assert a != c
    assert a != d
    assert b != c
    assert b != d
    assert c != d
def test_quantizationtools_QGridLeaf___eq___02():
    a = quantizationtools.QGridLeaf(1, [])
    b = quantizationtools.QGridLeaf(1, [
        quantizationtools.QEventProxy(quantizationtools.SilentQEvent(1000),
                                      0.5)
    ])
    c = quantizationtools.QGridLeaf(2, [])
    d = quantizationtools.QGridLeaf(2, [
        quantizationtools.QEventProxy(quantizationtools.SilentQEvent(1000),
                                      0.5)
    ])
    assert a != b
    assert a != c
    assert a != d
    assert b != c
    assert b != d
    assert c != d
def test_quantizationtools_QGridLeaf___copy___02():
    leaf = quantizationtools.QGridLeaf(2, [
        quantizationtools.QEventProxy(quantizationtools.SilentQEvent(1000), 0.5)
        ])
    copied = copy.copy(leaf)
    assert format(leaf) == format(copied)
    assert leaf != copied
    assert leaf is not copied
Exemple #6
0
def test_quantizationtools_QGrid___call___01():

    q_grid = quantizationtools.QGrid()
    a = quantizationtools.QEventProxy(quantizationtools.SilentQEvent(0, ['A']),
                                      0)
    b = quantizationtools.QEventProxy(
        quantizationtools.SilentQEvent((1, 20), ['B']), (1, 20))
    c = quantizationtools.QEventProxy(
        quantizationtools.SilentQEvent((9, 20), ['C']), (9, 20))
    d = quantizationtools.QEventProxy(
        quantizationtools.SilentQEvent((1, 2), ['D']), (1, 2))
    e = quantizationtools.QEventProxy(
        quantizationtools.SilentQEvent((11, 20), ['E']), (11, 20))
    f = quantizationtools.QEventProxy(
        quantizationtools.SilentQEvent((19, 20), ['F']), (19, 20))
    g = quantizationtools.QEventProxy(quantizationtools.SilentQEvent(1, ['G']),
                                      1)
    q_grid.fit_q_events([a, b, c, d, e, f, g])
    result = q_grid((1, 4))

    assert len(result) == 1
    assert format(result[0]) == "c'4"

    annotation = abjad.inspect(result[0]).get_indicator(dict)
    q_events = annotation['q_events']

    assert isinstance(q_events, tuple) and len(q_events) == 4
    assert q_events[0].attachments == ('A', )
    assert q_events[1].attachments == ('B', )
    assert q_events[2].attachments == ('C', )
    assert q_events[3].attachments == ('D', )
Exemple #7
0
def test_quantizationtools_QGrid___call___03():
    r'''Non-binary works too.
    '''

    q_grid = quantizationtools.QGrid()
    q_grid.subdivide_leaves([(0, (1, 1))])

    a = quantizationtools.QEventProxy(quantizationtools.SilentQEvent(0, ['A']),
                                      0)
    b = quantizationtools.QEventProxy(
        quantizationtools.SilentQEvent((1, 20), ['B']), (1, 20))
    c = quantizationtools.QEventProxy(
        quantizationtools.SilentQEvent((9, 20), ['C']), (9, 20))
    d = quantizationtools.QEventProxy(
        quantizationtools.SilentQEvent((1, 2), ['D']), (1, 2))
    e = quantizationtools.QEventProxy(
        quantizationtools.SilentQEvent((11, 20), ['E']), (11, 20))
    f = quantizationtools.QEventProxy(
        quantizationtools.SilentQEvent((19, 20), ['F']), (19, 20))
    g = quantizationtools.QEventProxy(quantizationtools.SilentQEvent(1, ['G']),
                                      1)

    q_grid.fit_q_events([a, b, c, d, e, f, g])

    result = q_grid((1, 3))

    assert isinstance(result, list) and len(result) == 1
    assert format(result[0]) == abjad.String.normalize(r'''
        \tweak edge-height #'(0.7 . 0)
        \times 2/3 {
            c'4
            c'4
        }
        ''')
Exemple #8
0
def test_quantizationtools_QGrid_fit_q_events_01():

    q_grid = quantizationtools.QGrid()

    a = quantizationtools.QEventProxy(quantizationtools.SilentQEvent(0, ['A']),
                                      0)
    b = quantizationtools.QEventProxy(
        quantizationtools.SilentQEvent((1, 20), ['B']), (1, 20))
    c = quantizationtools.QEventProxy(
        quantizationtools.SilentQEvent((9, 20), ['C']), (9, 20))
    d = quantizationtools.QEventProxy(
        quantizationtools.SilentQEvent((1, 2), ['D']), (1, 2))
    e = quantizationtools.QEventProxy(
        quantizationtools.SilentQEvent((11, 20), ['E']), (11, 20))
    f = quantizationtools.QEventProxy(
        quantizationtools.SilentQEvent((19, 20), ['F']), (19, 20))
    g = quantizationtools.QEventProxy(quantizationtools.SilentQEvent(1, ['G']),
                                      1)

    q_grid.fit_q_events([a, b, c, d, e, f, g])

    assert q_grid.leaves[0].q_event_proxies == [a, b, c, d]
    assert q_grid.leaves[1].q_event_proxies == [e, f, g]

    q_events = q_grid.subdivide_leaves([(0, (1, 1))])

    q_grid.fit_q_events(q_events)

    assert q_grid.leaves[0].q_event_proxies == [a, b]
    assert q_grid.leaves[1].q_event_proxies == [c, d, e]
    assert q_grid.leaves[2].q_event_proxies == [g, f]
Exemple #9
0
def test_quantizationtools_QGrid___call___02():

    q_grid = quantizationtools.QGrid()
    q_grid.subdivide_leaves([(0, (1, 1, 1))])
    q_grid.subdivide_leaves([(1, (1, 1))])
    q_grid.subdivide_leaves([(-2, (1, 1, 1))])
    a = quantizationtools.QEventProxy(quantizationtools.SilentQEvent(0, ['A']),
                                      0)
    b = quantizationtools.QEventProxy(
        quantizationtools.SilentQEvent((1, 20), ['B']), (1, 20))
    c = quantizationtools.QEventProxy(
        quantizationtools.SilentQEvent((9, 20), ['C']), (9, 20))
    d = quantizationtools.QEventProxy(
        quantizationtools.SilentQEvent((1, 2), ['D']), (1, 2))
    e = quantizationtools.QEventProxy(
        quantizationtools.SilentQEvent((11, 20), ['E']), (11, 20))
    f = quantizationtools.QEventProxy(
        quantizationtools.SilentQEvent((19, 20), ['F']), (19, 20))
    g = quantizationtools.QEventProxy(quantizationtools.SilentQEvent(1, ['G']),
                                      1)
    q_grid.fit_q_events([a, b, c, d, e, f, g])
    result = q_grid((1, 4))

    assert isinstance(result, list) and len(result) == 1
    assert format(result[0]) == abjad.String.normalize(r'''
        \times 2/3 {
            c'8
            c'16
            c'16
            \times 2/3 {
                c'16
                c'16
                c'16
            }
        }
        ''')

    leaves = abjad.select(result[0]).leaves()
    leaf = leaves[0]
    annotation = abjad.inspect(leaf).get_indicator(dict)
    q_events = annotation['q_events']
    assert isinstance(q_events, tuple) and len(q_events) == 2
    assert q_events[0].attachments == ('A', )
    assert q_events[1].attachments == ('B', )

    leaf = leaves[1]
    assert not abjad.inspect(leaf).get_indicator(dict)

    leaf = leaves[2]
    annotation = abjad.inspect(leaf).get_indicator(dict)
    q_events = annotation['q_events']

    assert isinstance(q_events, tuple) and len(q_events) == 3
    assert q_events[0].attachments == ('C', )
    assert q_events[1].attachments == ('D', )
    assert q_events[2].attachments == ('E', )

    for leaf in leaves[3:6]:
        assert not abjad.inspect(leaf).get_indicators(dict)
def test_quantizationtools_QGrid_subdivide_leaf_01():

    q_grid = quantizationtools.QGrid()

    a = quantizationtools.QEventProxy(quantizationtools.PitchedQEvent(0, [0]), 0)
    b = quantizationtools.QEventProxy(quantizationtools.PitchedQEvent((9, 20), [1]), (9, 20))
    c = quantizationtools.QEventProxy(quantizationtools.PitchedQEvent((1, 2), [2]), (1, 2))
    d = quantizationtools.QEventProxy(quantizationtools.PitchedQEvent((11, 20), [3]), (11, 20))
    e = quantizationtools.QEventProxy(quantizationtools.PitchedQEvent(1, [4]), 1)

    q_grid.leaves[0].q_event_proxies.extend([a, b, c, d])
    q_grid.leaves[1].q_event_proxies.append(e)

    result = q_grid.subdivide_leaf(q_grid.leaves[0], (2, 3))

    assert result == [a, b, c, d]
    root_node = quantizationtools.QGridContainer(
        children=[
            quantizationtools.QGridLeaf(preprolated_duration=2, q_event_proxies=[]),
            quantizationtools.QGridLeaf(preprolated_duration=3, q_event_proxies=[]),
            ],
        preprolated_duration=1
        )
    assert format(q_grid.root_node) == format(root_node)
Exemple #11
0
    def __call__(self, job_id):
        r'''Calls q-target beat.

        Returns quantization job.
        '''
        from abjad.tools import quantizationtools
        if not self.q_events:
            return None
        assert all(
            isinstance(x, quantizationtools.QEvent) for x in self.q_events)
        q_event_proxies = []
        for q_event in self.q_events:
            q_event_proxy = quantizationtools.QEventProxy(
                q_event,
                self.offset_in_ms,
                self.offset_in_ms + self.duration_in_ms,
            )
            q_event_proxies.append(q_event_proxy)
        return quantizationtools.QuantizationJob(job_id, self.search_tree,
                                                 q_event_proxies)
Exemple #12
0
def test_quantizationtools_QGrid_distance_01():

    q_grid = quantizationtools.QGrid()

    assert q_grid.distance is None

    a = quantizationtools.QEventProxy(quantizationtools.SilentQEvent(0,        ['A']), 0)
    q_grid.fit_q_events([a])
    assert q_grid.distance == abjad.Offset(0)

    b = quantizationtools.QEventProxy(quantizationtools.SilentQEvent((1, 20),  ['B']), (1, 20))
    q_grid.fit_q_events([b])
    assert q_grid.distance == abjad.Offset(1, 40)

    c = quantizationtools.QEventProxy(quantizationtools.SilentQEvent((9, 20),  ['C']), (9, 20))
    q_grid.fit_q_events([c])
    assert q_grid.distance == abjad.Offset(1, 6)

    d = quantizationtools.QEventProxy(quantizationtools.SilentQEvent((1, 2),   ['D']), (1, 2))
    q_grid.fit_q_events([d])
    assert q_grid.distance == abjad.Offset(1, 4)

    e = quantizationtools.QEventProxy(quantizationtools.SilentQEvent((11, 20), ['E']), (11, 20))
    q_grid.fit_q_events([e])
    assert q_grid.distance == abjad.Offset(29, 100)

    f = quantizationtools.QEventProxy(quantizationtools.SilentQEvent((19, 20), ['F']), (19, 20))
    q_grid.fit_q_events([f])
    assert q_grid.distance == abjad.Offset(1, 4)

    g = quantizationtools.QEventProxy(quantizationtools.SilentQEvent(1,        ['G']), 1)
    q_grid.fit_q_events([g])
    assert q_grid.distance == abjad.Offset(3, 14)

    q_events = q_grid.subdivide_leaves([(0, (1, 1))])
    q_grid.fit_q_events(q_events)

    assert q_grid.distance == abjad.Offset(1, 35)
Exemple #13
0
def test_quantizationtools_QGrid_subdivide_leaves_02():

    q_grid = quantizationtools.QGrid()

    a = quantizationtools.QEventProxy(quantizationtools.SilentQEvent(0, ['A']),
                                      0)
    b = quantizationtools.QEventProxy(
        quantizationtools.SilentQEvent((1, 20), ['B']), (1, 20))
    c = quantizationtools.QEventProxy(
        quantizationtools.SilentQEvent((9, 20), ['C']), (9, 20))
    d = quantizationtools.QEventProxy(
        quantizationtools.SilentQEvent((1, 2), ['D']), (1, 2))
    e = quantizationtools.QEventProxy(
        quantizationtools.SilentQEvent((11, 20), ['E']), (11, 20))
    f = quantizationtools.QEventProxy(
        quantizationtools.SilentQEvent((19, 20), ['F']), (19, 20))
    g = quantizationtools.QEventProxy(quantizationtools.SilentQEvent(1, ['G']),
                                      1)

    q_grid.leaves[0].q_event_proxies.extend([a, b, c, d])
    q_grid.leaves[1].q_event_proxies.extend([e, f, g])

    assert q_grid.root_node.rtm_format == '1'

    q_events = q_grid.subdivide_leaves([(0, (1, 1))])

    assert q_events == [a, b, c, d, e, f]
    assert q_grid.root_node.rtm_format == '(1 (1 1))'

    q_grid.leaves[0].q_event_proxies.extend([a, b])
    q_grid.leaves[1].q_event_proxies.extend([c, d, e])
    q_grid.leaves[2].q_event_proxies.append(f)

    q_events = q_grid.subdivide_leaves([(0, (3, 4, 5))])

    assert q_events == [a, b, c]
    assert q_grid.root_node.rtm_format == '(1 ((1 (3 4 5)) 1))'
Exemple #14
0
def test_quantizationtools_QuantizationJob___call___01():

    job_id = 1
    definition = {2: {2: {2: None}, 3: None}, 5: None}
    search_tree = quantizationtools.UnweightedSearchTree(definition)
    q_event_proxies = [
        quantizationtools.QEventProxy(
            quantizationtools.SilentQEvent(0, ['A'], index=1), 0, 1),
        quantizationtools.QEventProxy(
            quantizationtools.SilentQEvent((1, 5), ['B'], index=2), 0, 1),
        quantizationtools.QEventProxy(
            quantizationtools.SilentQEvent((1, 4), ['C'], index=3), 0, 1),
        quantizationtools.QEventProxy(
            quantizationtools.SilentQEvent((1, 3), ['D'], index=4), 0, 1),
        quantizationtools.QEventProxy(
            quantizationtools.SilentQEvent((2, 5), ['E'], index=5), 0, 1),
        quantizationtools.QEventProxy(
            quantizationtools.SilentQEvent((1, 2), ['F'], index=6), 0, 1),
        quantizationtools.QEventProxy(
            quantizationtools.SilentQEvent((3, 5), ['G'], index=7), 0, 1),
        quantizationtools.QEventProxy(
            quantizationtools.SilentQEvent((2, 3), ['H'], index=8), 0, 1),
        quantizationtools.QEventProxy(
            quantizationtools.SilentQEvent((3, 4), ['I'], index=9), 0, 1),
        quantizationtools.QEventProxy(
            quantizationtools.SilentQEvent((4, 5), ['J'], index=10), 0, 1),
        quantizationtools.QEventProxy(
            quantizationtools.SilentQEvent(1, ['K'], index=11), 0, 1)
    ]
    job = quantizationtools.QuantizationJob(job_id, search_tree,
                                            q_event_proxies)
    job()

    assert len(job.q_grids) == 10

    rtm_formats = [q_grid.root_node.rtm_format for q_grid in job.q_grids]
    rtm_formats.sort(reverse=True)

    assert rtm_formats == [
        '1', '(1 (1 1))', '(1 (1 1 1 1 1))', '(1 ((1 (1 1)) (1 (1 1))))',
        '(1 ((1 (1 1)) (1 (1 1 1))))', '(1 ((1 (1 1 1)) (1 (1 1))))',
        '(1 ((1 (1 1 1)) (1 (1 1 1))))',
        '(1 ((1 (1 1 1)) (1 ((1 (1 1)) (1 (1 1))))))',
        '(1 ((1 ((1 (1 1)) (1 (1 1)))) (1 (1 1 1))))',
        '(1 ((1 ((1 (1 1)) (1 (1 1)))) (1 ((1 (1 1)) (1 (1 1))))))'
    ], rtm_formats
Exemple #15
0
def test_quantizationtools_UnweightedSearchTree__find_divisible_leaf_indices_and_subdivisions_01(
):

    definition = {2: {2: {2: None}, 3: None}, 5: None}
    search_tree = quantizationtools.UnweightedSearchTree(definition)

    q_grid = quantizationtools.QGrid()
    a = quantizationtools.QEventProxy(quantizationtools.SilentQEvent(0, ['A']),
                                      0, 1)
    b = quantizationtools.QEventProxy(
        quantizationtools.SilentQEvent((1, 5), ['B']), 0, 1)
    c = quantizationtools.QEventProxy(
        quantizationtools.SilentQEvent((1, 4), ['C']), 0, 1)
    d = quantizationtools.QEventProxy(
        quantizationtools.SilentQEvent((1, 3), ['D']), 0, 1)
    e = quantizationtools.QEventProxy(
        quantizationtools.SilentQEvent((2, 5), ['E']), 0, 1)
    f = quantizationtools.QEventProxy(
        quantizationtools.SilentQEvent((1, 2), ['F']), 0, 1)
    g = quantizationtools.QEventProxy(
        quantizationtools.SilentQEvent((3, 5), ['G']), 0, 1)
    h = quantizationtools.QEventProxy(
        quantizationtools.SilentQEvent((2, 3), ['H']), 0, 1)
    i = quantizationtools.QEventProxy(
        quantizationtools.SilentQEvent((3, 4), ['I']), 0, 1)
    j = quantizationtools.QEventProxy(
        quantizationtools.SilentQEvent((4, 5), ['J']), 0, 1)
    k = quantizationtools.QEventProxy(quantizationtools.SilentQEvent(1, ['K']),
                                      0, 1)
    q_grid.fit_q_events([a, b, c, d, e, f, g, h, i, j, k])

    indices, subdivisions = search_tree._find_divisible_leaf_indices_and_subdivisions(
        q_grid)

    assert indices == [0]
    assert subdivisions == [((1, 1), (1, 1, 1, 1, 1))]
Exemple #16
0
def test_quantizationtools_ParallelJobHandler___call___02():

    job_id = 1
    definition = {2: {2: {2: None}, 3: None}, 5: None}
    search_tree = quantizationtools.UnweightedSearchTree(definition)
    q_event_proxies = [
        quantizationtools.QEventProxy(
            quantizationtools.SilentQEvent(0, ['A'], index=1), 0, 1),
        quantizationtools.QEventProxy(
            quantizationtools.SilentQEvent((1, 5), ['B'], index=2), 0, 1),
        quantizationtools.QEventProxy(
            quantizationtools.SilentQEvent((1, 4), ['C'], index=3), 0, 1),
        quantizationtools.QEventProxy(
            quantizationtools.SilentQEvent((1, 3), ['D'], index=4), 0, 1),
        quantizationtools.QEventProxy(
            quantizationtools.SilentQEvent((2, 5), ['E'], index=5), 0, 1),
        quantizationtools.QEventProxy(
            quantizationtools.SilentQEvent((1, 2), ['F'], index=6), 0, 1),
        quantizationtools.QEventProxy(
            quantizationtools.SilentQEvent((3, 5), ['G'], index=7), 0, 1),
        quantizationtools.QEventProxy(
            quantizationtools.SilentQEvent((2, 3), ['H'], index=8), 0, 1),
        quantizationtools.QEventProxy(
            quantizationtools.SilentQEvent((3, 4), ['I'], index=9), 0, 1),
        quantizationtools.QEventProxy(
            quantizationtools.SilentQEvent((4, 5), ['J'], index=10), 0, 1),
        quantizationtools.QEventProxy(
            quantizationtools.SilentQEvent(1, ['K'], index=11), 0, 1)
    ]
    job_a = quantizationtools.QuantizationJob(job_id, search_tree,
                                              q_event_proxies)
    job_b = quantizationtools.QuantizationJob(job_id, search_tree,
                                              q_event_proxies)

    assert job_a == job_b

    a_jobs = quantizationtools.SerialJobHandler()([job_a])
    b_jobs = quantizationtools.ParallelJobHandler()([job_b])

    assert len(a_jobs) == len(b_jobs)

    a_rtms = sorted(
        [q_grid.root_node.rtm_format for q_grid in a_jobs[0].q_grids])
    b_rtms = sorted(
        [q_grid.root_node.rtm_format for q_grid in b_jobs[0].q_grids])

    assert a_rtms == b_rtms

    assert sorted(a_jobs[0].q_grids, key=lambda x: x.root_node.rtm_format) == \
        sorted(b_jobs[0].q_grids, key=lambda x: x.root_node.rtm_format)
Exemple #17
0
def test_quantizationtools_WeightedSearchTree___call___01():
    definition = {
        'divisors': (2, 3, 5, 7),
        'max_depth': 3,
        'max_divisions': 2,
    }
    search_tree = quantizationtools.WeightedSearchTree(definition)
    q_grid = quantizationtools.QGrid()
    a = quantizationtools.QEventProxy(
        quantizationtools.SilentQEvent(0, ['A'], index=1), 0, 1)
    b = quantizationtools.QEventProxy(
        quantizationtools.SilentQEvent((1, 5), ['B'], index=2), 0, 1)
    c = quantizationtools.QEventProxy(
        quantizationtools.SilentQEvent((1, 4), ['C'], index=3), 0, 1)
    d = quantizationtools.QEventProxy(
        quantizationtools.SilentQEvent((1, 3), ['D'], index=4), 0, 1)
    e = quantizationtools.QEventProxy(
        quantizationtools.SilentQEvent((2, 5), ['E'], index=5), 0, 1)
    f = quantizationtools.QEventProxy(
        quantizationtools.SilentQEvent((1, 2), ['F'], index=6), 0, 1)
    g = quantizationtools.QEventProxy(
        quantizationtools.SilentQEvent((3, 5), ['G'], index=7), 0, 1)
    h = quantizationtools.QEventProxy(
        quantizationtools.SilentQEvent((2, 3), ['H'], index=8), 0, 1)
    i = quantizationtools.QEventProxy(
        quantizationtools.SilentQEvent((3, 4), ['I'], index=9), 0, 1)
    j = quantizationtools.QEventProxy(
        quantizationtools.SilentQEvent((4, 5), ['J'], index=10), 0, 1)
    k = quantizationtools.QEventProxy(
        quantizationtools.SilentQEvent(1, ['K'], index=11), 0, 1)
    q_grid.fit_q_events([a, b, c, d, e, f, g, h, i, j, k])
    q_grids = search_tree(q_grid)

    assert [q_grid.root_node.rtm_format for q_grid in q_grids] == [
        '(1 (1 1))', '(1 (2 1))', '(1 (1 2))', '(1 (4 1))', '(1 (3 2))',
        '(1 (2 3))', '(1 (1 4))', '(1 (6 1))', '(1 (5 2))', '(1 (4 3))',
        '(1 (3 4))', '(1 (2 5))', '(1 (1 6))'
    ]
Exemple #18
0
def test_quantizationtools_QEventProxy___init___02():
    q_event = quantizationtools.PitchedQEvent(130, [0, 1, 4])
    proxy = quantizationtools.QEventProxy(q_event, 100, 1000)
    assert proxy.q_event == q_event
    assert proxy.offset == abjad.Offset(1, 30)
Exemple #19
0
def test_quantizationtools_QEventProxy___init___01():
    q_event = quantizationtools.PitchedQEvent(130, [0])
    proxy = quantizationtools.QEventProxy(q_event, 0.5)
    assert proxy.q_event == q_event
    assert proxy.offset == abjad.Offset(1, 2)
def test_quantizationtools_QuantizationJob___init___01():

    job_id = 1
    definition = {2: {2: {2: None}, 3: None}, 5: None}
    search_tree = quantizationtools.UnweightedSearchTree(definition)
    q_event_proxies = [
        quantizationtools.QEventProxy(
            quantizationtools.SilentQEvent(0, ['A'], index=1), 0, 1),
        quantizationtools.QEventProxy(
            quantizationtools.SilentQEvent((1, 5), ['B'], index=2), 0, 1),
        quantizationtools.QEventProxy(
            quantizationtools.SilentQEvent((1, 4), ['C'], index=3), 0, 1),
        quantizationtools.QEventProxy(
            quantizationtools.SilentQEvent((1, 3), ['D'], index=4), 0, 1),
        quantizationtools.QEventProxy(
            quantizationtools.SilentQEvent((2, 5), ['E'], index=5), 0, 1),
        quantizationtools.QEventProxy(
            quantizationtools.SilentQEvent((1, 2), ['F'], index=6), 0, 1),
        quantizationtools.QEventProxy(
            quantizationtools.SilentQEvent((3, 5), ['G'], index=7), 0, 1),
        quantizationtools.QEventProxy(
            quantizationtools.SilentQEvent((2, 3), ['H'], index=8), 0, 1),
        quantizationtools.QEventProxy(
            quantizationtools.SilentQEvent((3, 4), ['I'], index=9), 0, 1),
        quantizationtools.QEventProxy(
            quantizationtools.SilentQEvent((4, 5), ['J'], index=10), 0, 1),
        quantizationtools.QEventProxy(
            quantizationtools.SilentQEvent(1, ['K'], index=11), 0, 1)
    ]

    job = quantizationtools.QuantizationJob(job_id, search_tree,
                                            q_event_proxies)

    assert job.job_id == job_id
    assert job.search_tree == search_tree
    assert job.q_event_proxies == tuple(q_event_proxies)
Exemple #21
0
def test_quantizationtools_QuantizationJob_pickle_01():
    job_id = 1
    definition = {
        2: {
            2: {
                2: None
                },
                3: None
            },
            5: None
        }
    search_tree = quantizationtools.UnweightedSearchTree(definition)
    q_event_proxies = [
        quantizationtools.QEventProxy(quantizationtools.SilentQEvent(0,      ['A'], index=1), 0, 1),
        quantizationtools.QEventProxy(quantizationtools.SilentQEvent((1, 5), ['B'], index=2), 0, 1),
        quantizationtools.QEventProxy(quantizationtools.SilentQEvent((1, 4), ['C'], index=3), 0, 1),
        quantizationtools.QEventProxy(quantizationtools.SilentQEvent((1, 3), ['D'], index=4), 0, 1),
        quantizationtools.QEventProxy(quantizationtools.SilentQEvent((2, 5), ['E'], index=5), 0, 1),
        quantizationtools.QEventProxy(quantizationtools.SilentQEvent((1, 2), ['F'], index=6), 0, 1),
        quantizationtools.QEventProxy(quantizationtools.SilentQEvent((3, 5), ['G'], index=7), 0, 1),
        quantizationtools.QEventProxy(quantizationtools.SilentQEvent((2, 3), ['H'], index=8), 0, 1),
        quantizationtools.QEventProxy(quantizationtools.SilentQEvent((3, 4), ['I'], index=9), 0, 1),
        quantizationtools.QEventProxy(quantizationtools.SilentQEvent((4, 5), ['J'], index=10), 0, 1),
        quantizationtools.QEventProxy(quantizationtools.SilentQEvent(1,      ['K'], index=11), 0, 1)
        ]
    job = quantizationtools.QuantizationJob(job_id, search_tree, q_event_proxies)

    pickled = pickle.loads(pickle.dumps(job))

    assert pickled is not job
    assert format(pickled) == format(job), \
        systemtools.TestManager.diff(pickled, job, 'Diff:')

    job()

    pickled = pickle.loads(pickle.dumps(job))

    assert pickled is not job
    assert format(pickled) == format(job), \
        systemtools.TestManager.diff(pickled, job, 'Diff:')
def test_quantizationtools_UnweightedSearchTree___call___01():

    definition = {2: {2: {2: None}, 3: None}, 5: None}
    search_tree = quantizationtools.UnweightedSearchTree(definition)
    q_grid = quantizationtools.QGrid()
    a = quantizationtools.QEventProxy(
        quantizationtools.SilentQEvent(0, ['A'], index=1), 0, 1)
    b = quantizationtools.QEventProxy(
        quantizationtools.SilentQEvent((1, 5), ['B'], index=2), 0, 1)
    c = quantizationtools.QEventProxy(
        quantizationtools.SilentQEvent((1, 4), ['C'], index=3), 0, 1)
    d = quantizationtools.QEventProxy(
        quantizationtools.SilentQEvent((1, 3), ['D'], index=4), 0, 1)
    e = quantizationtools.QEventProxy(
        quantizationtools.SilentQEvent((2, 5), ['E'], index=5), 0, 1)
    f = quantizationtools.QEventProxy(
        quantizationtools.SilentQEvent((1, 2), ['F'], index=6), 0, 1)
    g = quantizationtools.QEventProxy(
        quantizationtools.SilentQEvent((3, 5), ['G'], index=7), 0, 1)
    h = quantizationtools.QEventProxy(
        quantizationtools.SilentQEvent((2, 3), ['H'], index=8), 0, 1)
    i = quantizationtools.QEventProxy(
        quantizationtools.SilentQEvent((3, 4), ['I'], index=9), 0, 1)
    j = quantizationtools.QEventProxy(
        quantizationtools.SilentQEvent((4, 5), ['J'], index=10), 0, 1)
    k = quantizationtools.QEventProxy(
        quantizationtools.SilentQEvent(1, ['K'], index=11), 0, 1)
    q_grid.fit_q_events([a, b, c, d, e, f, g, h, i, j, k])

    q_grids = search_tree(q_grid)

    assert q_grids[0].root_node.rtm_format == '(1 (1 1))'
    assert q_grids[1].root_node.rtm_format == '(1 (1 1 1 1 1))'