Exemplo n.º 1
0
def test_01():
    # TODO: The sends should reallocate after the move to ensure correct bus usage
    print("Yes...")
    application = Application()
    application.boot()
    track_one = application.add_track(name="one")
    track_two = application.add_track(name="two")
    track_one.add_send(track_two, post_fader=False)
    track_two.add_send(track_one, post_fader=False)
    assert application.tracks[:] == [track_one, track_two]
    assert str(application.node) == normalize("""
        1000 group (application)
            1001 transport (transport)
                beats_per_minute: 120.0, denominator: 4.0, numerator: 4.0
            1002 group (track container)
                1016 group (one)
                    1017 mixer/track-input/2
                        active: 1.0, gain: 0.0, gate: 1.0, in_: 24.0, lag: 0.1, out: 26.0
                    1018 group (device container)
                    1019 group (pre-fader sends)
                        1030 mixer/send/2x2 (to two)
                            active: 1.0, gain: 0.0, gate: 1.0, in_: 26.0, lag: 0.1, out: 30.0
                    1020 mixer/track-output/2
                        active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 26.0
                    1021 group (post-fader sends)
                        1022 mixer/send/2x2 (to master track)
                            active: 1.0, gain: 0.0, gate: 1.0, in_: 26.0, lag: 0.1, out: 22.0
                1023 group (two)
                    1024 mixer/track-input/2
                        active: 1.0, gain: 0.0, gate: 1.0, in_: 28.0, lag: 0.1, out: 30.0
                    1025 group (device container)
                    1026 group (pre-fader sends)
                        1031 mixer/send/2x2 (to one)
                            active: 1.0, gain: 0.0, gate: 1.0, in_: 30.0, lag: 0.1, out: 24.0
                    1027 mixer/track-output/2
                        active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 30.0
                    1028 group (post-fader sends)
                        1029 mixer/send/2x2 (to master track)
                            active: 1.0, gain: 0.0, gate: 1.0, in_: 30.0, lag: 0.1, out: 22.0
            1003 group (return track container)
            1004 group (master track)
                1005 mixer/track-input/2
                    active: 1.0, gain: 0.0, gate: 1.0, in_: 20.0, lag: 0.1, out: 22.0
                1006 group (device container)
                1007 group (pre-fader sends)
                1008 mixer/track-output/2
                    active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 22.0
                1009 group (post-fader sends)
            1010 group (cue track)
                1011 mixer/track-input/2
                    active: 1.0, gain: 0.0, gate: 1.0, in_: 16.0, lag: 0.1, out: 18.0
                1012 group (device container)
                1013 group (pre-fader sends)
                1014 mixer/track-output/2
                    active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 18.0
                1015 group (post-fader sends)
        """)
    print()
    print("Moving...")
    print()
    application.tracks[:] = [track_two, track_one]
    assert application.tracks[:] == [track_two, track_one]
    time.sleep(0.25)
    assert str(application.node) == normalize("""
        1000 group (application)
            1001 transport (transport)
                beats_per_minute: 120.0, denominator: 4.0, numerator: 4.0
            1002 group (track container)
                1023 group (two)
                    1024 mixer/track-input/2
                        active: 1.0, gain: 0.0, gate: 1.0, in_: 28.0, lag: 0.1, out: 30.0
                    1025 group (device container)
                    1026 group (pre-fader sends)
                        1033 mixer/send/2x2 (to one)
                            active: 1.0, gain: 0.0, gate: 1.0, in_: 30.0, lag: 0.1, out: 26.0
                    1027 mixer/track-output/2
                        active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 30.0
                    1028 group (post-fader sends)
                        1029 mixer/send/2x2 (to master track)
                            active: 1.0, gain: 0.0, gate: 1.0, in_: 30.0, lag: 0.1, out: 22.0
                1016 group (one)
                    1017 mixer/track-input/2
                        active: 1.0, gain: 0.0, gate: 1.0, in_: 24.0, lag: 0.1, out: 26.0
                    1018 group (device container)
                    1019 group (pre-fader sends)
                        1032 mixer/send/2x2 (to two)
                            active: 1.0, gain: 0.0, gate: 1.0, in_: 26.0, lag: 0.1, out: 28.0
                    1020 mixer/track-output/2
                        active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 26.0
                    1021 group (post-fader sends)
                        1022 mixer/send/2x2 (to master track)
                            active: 1.0, gain: 0.0, gate: 1.0, in_: 26.0, lag: 0.1, out: 22.0
            1003 group (return track container)
            1004 group (master track)
                1005 mixer/track-input/2
                    active: 1.0, gain: 0.0, gate: 1.0, in_: 20.0, lag: 0.1, out: 22.0
                1006 group (device container)
                1007 group (pre-fader sends)
                1008 mixer/track-output/2
                    active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 22.0
                1009 group (post-fader sends)
            1010 group (cue track)
                1011 mixer/track-input/2
                    active: 1.0, gain: 0.0, gate: 1.0, in_: 16.0, lag: 0.1, out: 18.0
                1012 group (device container)
                1013 group (pre-fader sends)
                1014 mixer/track-output/2
                    active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 18.0
                1015 group (post-fader sends)
        """)
Exemplo n.º 2
0
def test_03(boot_here):
    application = Application()

    if boot_here == 1:
        application.boot()

    track_a = application.add_track(name="a")
    track_a.solo()
    assert track_a.is_soloed
    assert track_a.is_active

    if boot_here == 2:
        application.boot()

    track_b = Track(name="b")
    assert not track_b.is_soloed
    assert track_b.is_active

    if boot_here == 3:
        application.boot()

    application.tracks.append(track_b)
    assert track_a.is_soloed
    assert track_a.is_active
    assert not track_b.is_soloed
    assert not track_b.is_active

    if boot_here == 4:
        application.boot()

    track_c = application.add_track(name="c")
    assert track_a.is_soloed
    assert track_a.is_active
    assert not track_b.is_soloed
    assert not track_b.is_active
    assert not track_c.is_soloed
    assert not track_c.is_active

    if boot_here == 5:
        application.boot()

    track_a.unsolo()
    assert not track_a.is_soloed
    assert track_a.is_active
    assert not track_b.is_soloed
    assert track_b.is_active
    assert not track_c.is_soloed
    assert track_c.is_active

    if boot_here == 6:
        application.boot()

    track_d = application.add_track(name="d")
    assert not track_a.is_soloed
    assert track_a.is_active
    assert not track_b.is_soloed
    assert track_b.is_active
    assert not track_c.is_soloed
    assert track_c.is_active
    assert not track_d.is_soloed
    assert track_d.is_active
Exemplo n.º 3
0
def test_01():
    def state():
        return {
            track.node.name: (track.is_soloed, track.is_active)
            for track in [track_a, group_one, track_b, group_two, track_c, track_d]
        }

    application = Application()
    track_a = application.add_track(name="a")
    track_b = application.add_track(name="b")
    track_c = application.add_track(name="c")
    track_d = application.add_track(name="d")
    group_one = GroupTrack.group([track_b, track_c, track_d], name="one")
    group_two = GroupTrack.group([track_c, track_d], name="two")

    assert state() == {
        "one": (False, True),
        "two": (False, True),
        "a": (False, True),
        "b": (False, True),
        "c": (False, True),
        "d": (False, True),
    }

    track_a.solo()
    assert state() == {
        "one": (False, False),
        "two": (False, False),
        "a": (True, True),
        "b": (False, False),
        "c": (False, False),
        "d": (False, False),
    }

    track_d.solo()
    assert state() == {
        "one": (False, True),
        "two": (False, True),
        "a": (False, False),
        "b": (False, False),
        "c": (False, False),
        "d": (True, True),
    }

    group_one.solo(exclusive=False)
    assert state() == {
        "one": (True, True),
        "two": (False, True),
        "a": (False, False),
        "b": (False, True),
        "c": (False, True),
        "d": (True, True),
    }

    group_two.solo(exclusive=False)
    assert state() == {
        "one": (True, True),
        "two": (True, True),
        "a": (False, False),
        "b": (False, True),
        "c": (False, True),
        "d": (True, True),
    }

    track_d.unsolo()
    assert state() == {
        "one": (True, True),
        "two": (True, True),
        "a": (False, False),
        "b": (False, True),
        "c": (False, True),
        "d": (False, True),
    }

    group_one.unsolo()
    assert state() == {
        "one": (False, True),
        "two": (True, True),
        "a": (False, False),
        "b": (False, False),
        "c": (False, True),
        "d": (False, True),
    }

    group_two.unsolo()
    assert state() == {
        "one": (False, True),
        "two": (False, True),
        "a": (False, True),
        "b": (False, True),
        "c": (False, True),
        "d": (False, True),
    }
Exemplo n.º 4
0
def test_02():
    application = Application()
    application.add_track(name="a")
    track_b = application.add_track(name="b")
    track_c = application.add_track(name="c")
    track_d = application.add_track(name="d")
    GroupTrack.group([track_b, track_c, track_d], name="one")
    GroupTrack.group([track_c, track_d], name="two")
    application.boot()
    base_layout = normalize(
        """
        1000 group (application)
            1001 transport (transport)
                beats_per_minute: 120.0, denominator: 4.0, numerator: 4.0
            1002 group (track container)
                1003 group (a)
                    1004 mixer/track-input/2
                        active: 1.0, gain: 0.0, gate: 1.0, in_: 24.0, lag: 0.1, out: 26.0
                    1005 group (device container)
                    1006 group (pre-fader sends)
                    1007 mixer/track-output/2
                        active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 26.0
                    1008 group (post-fader sends)
                        1058 mixer/send/2x2 (to master track)
                            active: 1.0, gain: 0.0, gate: 1.0, in_: 26.0, lag: 0.1, out: 22.0
                1009 group (one)
                    1010 mixer/track-input/2
                        active: 1.0, gain: 0.0, gate: 1.0, in_: 28.0, lag: 0.1, out: 30.0
                    1011 group (track container)
                        1012 group (b)
                            1013 mixer/track-input/2
                                active: 1.0, gain: 0.0, gate: 1.0, in_: 32.0, lag: 0.1, out: 34.0
                            1014 group (device container)
                            1015 group (pre-fader sends)
                            1016 mixer/track-output/2
                                active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 34.0
                            1017 group (post-fader sends)
                                1018 mixer/send/2x2 (to one)
                                    active: 1.0, gain: 0.0, gate: 1.0, in_: 34.0, lag: 0.1, out: 30.0
                        1019 group (two)
                            1020 mixer/track-input/2
                                active: 1.0, gain: 0.0, gate: 1.0, in_: 36.0, lag: 0.1, out: 38.0
                            1021 group (track container)
                                1022 group (c)
                                    1023 mixer/track-input/2
                                        active: 1.0, gain: 0.0, gate: 1.0, in_: 40.0, lag: 0.1, out: 42.0
                                    1024 group (device container)
                                    1025 group (pre-fader sends)
                                    1026 mixer/track-output/2
                                        active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 42.0
                                    1027 group (post-fader sends)
                                        1028 mixer/send/2x2 (to two)
                                            active: 1.0, gain: 0.0, gate: 1.0, in_: 42.0, lag: 0.1, out: 38.0
                                1029 group (d)
                                    1030 mixer/track-input/2
                                        active: 1.0, gain: 0.0, gate: 1.0, in_: 44.0, lag: 0.1, out: 46.0
                                    1031 group (device container)
                                    1032 group (pre-fader sends)
                                    1033 mixer/track-output/2
                                        active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 46.0
                                    1034 group (post-fader sends)
                                        1035 mixer/send/2x2 (to two)
                                            active: 1.0, gain: 0.0, gate: 1.0, in_: 46.0, lag: 0.1, out: 38.0
                            1036 group (device container)
                            1037 group (pre-fader sends)
                            1038 mixer/track-output/2
                                active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 38.0
                            1039 group (post-fader sends)
                                1040 mixer/send/2x2 (to one)
                                    active: 1.0, gain: 0.0, gate: 1.0, in_: 38.0, lag: 0.1, out: 30.0
                    1041 group (device container)
                    1042 group (pre-fader sends)
                    1043 mixer/track-output/2
                        active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 30.0
                    1044 group (post-fader sends)
                        1059 mixer/send/2x2 (to master track)
                            active: 1.0, gain: 0.0, gate: 1.0, in_: 30.0, lag: 0.1, out: 22.0
            1045 group (return track container)
            1046 group (master track)
                1047 mixer/track-input/2
                    active: 1.0, gain: 0.0, gate: 1.0, in_: 20.0, lag: 0.1, out: 22.0
                1048 group (device container)
                1049 group (pre-fader sends)
                1050 mixer/track-output/2
                    active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 22.0
                1051 group (post-fader sends)
            1052 group (cue track)
                1053 mixer/track-input/2
                    active: 1.0, gain: 0.0, gate: 1.0, in_: 16.0, lag: 0.1, out: 18.0
                1054 group (device container)
                1055 group (pre-fader sends)
                1056 mixer/track-output/2
                    active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 18.0
                1057 group (post-fader sends)
        """
    )
    assert str(application.node) == base_layout

    track_d.solo()
    assert str(application.node) == normalize(
        """
        1000 group (application)
            1001 transport (transport)
                beats_per_minute: 120.0, denominator: 4.0, numerator: 4.0
            1002 group (track container)
                1003 group (a)
                    1004 mixer/track-input/2
                        active: 1.0, gain: 0.0, gate: 1.0, in_: 24.0, lag: 0.1, out: 26.0
                    1005 group (device container)
                    1006 group (pre-fader sends)
                    1007 mixer/track-output/2
                        active: 0.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 26.0
                    1008 group (post-fader sends)
                        1058 mixer/send/2x2 (to master track)
                            active: 0.0, gain: 0.0, gate: 1.0, in_: 26.0, lag: 0.1, out: 22.0
                1009 group (one)
                    1010 mixer/track-input/2
                        active: 1.0, gain: 0.0, gate: 1.0, in_: 28.0, lag: 0.1, out: 30.0
                    1011 group (track container)
                        1012 group (b)
                            1013 mixer/track-input/2
                                active: 1.0, gain: 0.0, gate: 1.0, in_: 32.0, lag: 0.1, out: 34.0
                            1014 group (device container)
                            1015 group (pre-fader sends)
                            1016 mixer/track-output/2
                                active: 0.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 34.0
                            1017 group (post-fader sends)
                                1018 mixer/send/2x2 (to one)
                                    active: 0.0, gain: 0.0, gate: 1.0, in_: 34.0, lag: 0.1, out: 30.0
                        1019 group (two)
                            1020 mixer/track-input/2
                                active: 1.0, gain: 0.0, gate: 1.0, in_: 36.0, lag: 0.1, out: 38.0
                            1021 group (track container)
                                1022 group (c)
                                    1023 mixer/track-input/2
                                        active: 1.0, gain: 0.0, gate: 1.0, in_: 40.0, lag: 0.1, out: 42.0
                                    1024 group (device container)
                                    1025 group (pre-fader sends)
                                    1026 mixer/track-output/2
                                        active: 0.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 42.0
                                    1027 group (post-fader sends)
                                        1028 mixer/send/2x2 (to two)
                                            active: 0.0, gain: 0.0, gate: 1.0, in_: 42.0, lag: 0.1, out: 38.0
                                1029 group (d)
                                    1030 mixer/track-input/2
                                        active: 1.0, gain: 0.0, gate: 1.0, in_: 44.0, lag: 0.1, out: 46.0
                                    1031 group (device container)
                                    1032 group (pre-fader sends)
                                    1033 mixer/track-output/2
                                        active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 46.0
                                    1034 group (post-fader sends)
                                        1035 mixer/send/2x2 (to two)
                                            active: 1.0, gain: 0.0, gate: 1.0, in_: 46.0, lag: 0.1, out: 38.0
                            1036 group (device container)
                            1037 group (pre-fader sends)
                            1038 mixer/track-output/2
                                active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 38.0
                            1039 group (post-fader sends)
                                1040 mixer/send/2x2 (to one)
                                    active: 1.0, gain: 0.0, gate: 1.0, in_: 38.0, lag: 0.1, out: 30.0
                    1041 group (device container)
                    1042 group (pre-fader sends)
                    1043 mixer/track-output/2
                        active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 30.0
                    1044 group (post-fader sends)
                        1059 mixer/send/2x2 (to master track)
                            active: 1.0, gain: 0.0, gate: 1.0, in_: 30.0, lag: 0.1, out: 22.0
            1045 group (return track container)
            1046 group (master track)
                1047 mixer/track-input/2
                    active: 1.0, gain: 0.0, gate: 1.0, in_: 20.0, lag: 0.1, out: 22.0
                1048 group (device container)
                1049 group (pre-fader sends)
                1050 mixer/track-output/2
                    active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 22.0
                1051 group (post-fader sends)
            1052 group (cue track)
                1053 mixer/track-input/2
                    active: 1.0, gain: 0.0, gate: 1.0, in_: 16.0, lag: 0.1, out: 18.0
                1054 group (device container)
                1055 group (pre-fader sends)
                1056 mixer/track-output/2
                    active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 18.0
                1057 group (post-fader sends)
        """
    )

    track_d.unsolo()
    assert str(application.node) == base_layout
def test_01():
    server = Server.default()

    application = Application()
    assert application.server is None
    assert str(application.node) == normalize(
        """
        ??? group (application)
            ??? transport (transport)
                beats_per_minute: 120.0, denominator: 4.0, numerator: 4.0
            ??? group (track container)
            ??? group (return track container)
            ??? group (master track)
                ??? mixer/track-input/2
                    active: 1.0, gain: 0.0, gate: 1.0, in_: 0.0, lag: 0.1, out: 0.0
                ??? group (device container)
                ??? group (pre-fader sends)
                ??? mixer/track-output/2
                    active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 0.0
                ??? group (post-fader sends)
            ??? group (cue track)
                ??? mixer/track-input/2
                    active: 1.0, gain: 0.0, gate: 1.0, in_: 0.0, lag: 0.1, out: 0.0
                ??? group (device container)
                ??? group (pre-fader sends)
                ??? mixer/track-output/2
                    active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 0.0
                ??? group (post-fader sends)
    """
    )

    track_one = application.add_track()
    assert isinstance(track_one, Track)
    assert track_one.application is application
    assert track_one.server is None
    assert track_one.graph_order == (1, 0)
    assert str(application.node) == normalize(
        """
        ??? group (application)
            ??? transport (transport)
                beats_per_minute: 120.0, denominator: 4.0, numerator: 4.0
            ??? group (track container)
                ??? group (track)
                    ??? mixer/track-input/2
                        active: 1.0, gain: 0.0, gate: 1.0, in_: 0.0, lag: 0.1, out: 0.0
                    ??? group (device container)
                    ??? group (pre-fader sends)
                    ??? mixer/track-output/2
                        active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 0.0
                    ??? group (post-fader sends)
            ??? group (return track container)
            ??? group (master track)
                ??? mixer/track-input/2
                    active: 1.0, gain: 0.0, gate: 1.0, in_: 0.0, lag: 0.1, out: 0.0
                ??? group (device container)
                ??? group (pre-fader sends)
                ??? mixer/track-output/2
                    active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 0.0
                ??? group (post-fader sends)
            ??? group (cue track)
                ??? mixer/track-input/2
                    active: 1.0, gain: 0.0, gate: 1.0, in_: 0.0, lag: 0.1, out: 0.0
                ??? group (device container)
                ??? group (pre-fader sends)
                ??? mixer/track-output/2
                    active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 0.0
                ??? group (post-fader sends)
        """
    )

    application.boot()
    assert server.is_running
    assert application.server is server
    assert track_one.server is server
    assert str(application.node) == normalize(
        """
        1000 group (application)
            1001 transport (transport)
                beats_per_minute: 120.0, denominator: 4.0, numerator: 4.0
            1002 group (track container)
                1003 group (track)
                    1004 mixer/track-input/2
                        active: 1.0, gain: 0.0, gate: 1.0, in_: 24.0, lag: 0.1, out: 26.0
                    1005 group (device container)
                    1006 group (pre-fader sends)
                    1007 mixer/track-output/2
                        active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 26.0
                    1008 group (post-fader sends)
                        1022 mixer/send/2x2 (to master track)
                            active: 1.0, gain: 0.0, gate: 1.0, in_: 26.0, lag: 0.1, out: 22.0
            1009 group (return track container)
            1010 group (master track)
                1011 mixer/track-input/2
                    active: 1.0, gain: 0.0, gate: 1.0, in_: 20.0, lag: 0.1, out: 22.0
                1012 group (device container)
                1013 group (pre-fader sends)
                1014 mixer/track-output/2
                    active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 22.0
                1015 group (post-fader sends)
            1016 group (cue track)
                1017 mixer/track-input/2
                    active: 1.0, gain: 0.0, gate: 1.0, in_: 16.0, lag: 0.1, out: 18.0
                1018 group (device container)
                1019 group (pre-fader sends)
                1020 mixer/track-output/2
                    active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 18.0
                1021 group (post-fader sends)
        """
    )

    track_two = application.add_track()
    assert isinstance(track_two, Track)
    assert track_two.application is application
    assert track_two.graph_order == (1, 1)
    assert track_two.server is server
    assert str(application.node) == normalize(
        """
        1000 group (application)
            1001 transport (transport)
                beats_per_minute: 120.0, denominator: 4.0, numerator: 4.0
            1002 group (track container)
                1003 group (track)
                    1004 mixer/track-input/2
                        active: 1.0, gain: 0.0, gate: 1.0, in_: 24.0, lag: 0.1, out: 26.0
                    1005 group (device container)
                    1006 group (pre-fader sends)
                    1007 mixer/track-output/2
                        active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 26.0
                    1008 group (post-fader sends)
                        1022 mixer/send/2x2 (to master track)
                            active: 1.0, gain: 0.0, gate: 1.0, in_: 26.0, lag: 0.1, out: 22.0
                1023 group (track)
                    1024 mixer/track-input/2
                        active: 1.0, gain: 0.0, gate: 1.0, in_: 28.0, lag: 0.1, out: 30.0
                    1025 group (device container)
                    1026 group (pre-fader sends)
                    1027 mixer/track-output/2
                        active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 30.0
                    1028 group (post-fader sends)
                        1029 mixer/send/2x2 (to master track)
                            active: 1.0, gain: 0.0, gate: 1.0, in_: 30.0, lag: 0.1, out: 22.0
            1009 group (return track container)
            1010 group (master track)
                1011 mixer/track-input/2
                    active: 1.0, gain: 0.0, gate: 1.0, in_: 20.0, lag: 0.1, out: 22.0
                1012 group (device container)
                1013 group (pre-fader sends)
                1014 mixer/track-output/2
                    active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 22.0
                1015 group (post-fader sends)
            1016 group (cue track)
                1017 mixer/track-input/2
                    active: 1.0, gain: 0.0, gate: 1.0, in_: 16.0, lag: 0.1, out: 18.0
                1018 group (device container)
                1019 group (pre-fader sends)
                1020 mixer/track-output/2
                    active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 18.0
                1021 group (post-fader sends)
        """
    )

    track_one.delete()
    assert track_one.application is None
    assert track_one.server is None
    assert str(application.node) == normalize(
        """
        1000 group (application)
            1001 transport (transport)
                beats_per_minute: 120.0, denominator: 4.0, numerator: 4.0
            1002 group (track container)
                1023 group (track)
                    1024 mixer/track-input/2
                        active: 1.0, gain: 0.0, gate: 1.0, in_: 28.0, lag: 0.1, out: 30.0
                    1025 group (device container)
                    1026 group (pre-fader sends)
                    1027 mixer/track-output/2
                        active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 30.0
                    1028 group (post-fader sends)
                        1029 mixer/send/2x2 (to master track)
                            active: 1.0, gain: 0.0, gate: 1.0, in_: 30.0, lag: 0.1, out: 22.0
            1009 group (return track container)
            1010 group (master track)
                1011 mixer/track-input/2
                    active: 1.0, gain: 0.0, gate: 1.0, in_: 20.0, lag: 0.1, out: 22.0
                1012 group (device container)
                1013 group (pre-fader sends)
                1014 mixer/track-output/2
                    active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 22.0
                1015 group (post-fader sends)
            1016 group (cue track)
                1017 mixer/track-input/2
                    active: 1.0, gain: 0.0, gate: 1.0, in_: 16.0, lag: 0.1, out: 18.0
                1018 group (device container)
                1019 group (pre-fader sends)
                1020 mixer/track-output/2
                    active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 18.0
                1021 group (post-fader sends)
        """
    )
    assert str(track_one.node) == normalize(
        """
        ??? group (track)
            ??? mixer/track-input/2
                active: 1.0, gain: 0.0, gate: 1.0, in_: 24.0, lag: 0.1, out: 26.0
            ??? group (device container)
            ??? group (pre-fader sends)
            ??? mixer/track-output/2
                active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 26.0
            ??? group (post-fader sends)
        """
    )

    application.quit()
    assert application.server is None
    assert track_one.application is None
    assert track_two.application is application
    assert track_one.server is None
    assert track_two.server is None
    assert str(application.node) == normalize(
        """
        ??? group (application)
            ??? transport (transport)
                beats_per_minute: 120.0, denominator: 4.0, numerator: 4.0
            ??? group (track container)
                ??? group (track)
                    ??? mixer/track-input/2
                        active: 1.0, gain: 0.0, gate: 1.0, in_: 28.0, lag: 0.1, out: 30.0
                    ??? group (device container)
                    ??? group (pre-fader sends)
                    ??? mixer/track-output/2
                        active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 30.0
                    ??? group (post-fader sends)
            ??? group (return track container)
            ??? group (master track)
                ??? mixer/track-input/2
                    active: 1.0, gain: 0.0, gate: 1.0, in_: 20.0, lag: 0.1, out: 22.0
                ??? group (device container)
                ??? group (pre-fader sends)
                ??? mixer/track-output/2
                    active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 22.0
                ??? group (post-fader sends)
            ??? group (cue track)
                ??? mixer/track-input/2
                    active: 1.0, gain: 0.0, gate: 1.0, in_: 16.0, lag: 0.1, out: 18.0
                ??? group (device container)
                ??? group (pre-fader sends)
                ??? mixer/track-output/2
                    active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 18.0
                ??? group (post-fader sends)
    """
    )

    track_two.delete()
    assert track_two.application is None
    assert track_two.server is None
    assert str(application.node) == normalize(
        """
        ??? group (application)
            ??? transport (transport)
                beats_per_minute: 120.0, denominator: 4.0, numerator: 4.0
            ??? group (track container)
            ??? group (return track container)
            ??? group (master track)
                ??? mixer/track-input/2
                    active: 1.0, gain: 0.0, gate: 1.0, in_: 20.0, lag: 0.1, out: 22.0
                ??? group (device container)
                ??? group (pre-fader sends)
                ??? mixer/track-output/2
                    active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 22.0
                ??? group (post-fader sends)
            ??? group (cue track)
                ??? mixer/track-input/2
                    active: 1.0, gain: 0.0, gate: 1.0, in_: 16.0, lag: 0.1, out: 18.0
                ??? group (device container)
                ??? group (pre-fader sends)
                ??? mixer/track-output/2
                    active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 18.0
                ??? group (post-fader sends)
        """
    )
    assert str(track_two.node) == normalize(
        """
        ??? group (track)
            ??? mixer/track-input/2
                active: 1.0, gain: 0.0, gate: 1.0, in_: 28.0, lag: 0.1, out: 30.0
            ??? group (device container)
            ??? group (pre-fader sends)
            ??? mixer/track-output/2
                active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 30.0
            ??? group (post-fader sends)
        """
    )
Exemplo n.º 6
0
def test_01():
    app = Application()
    app.boot()
    track_a = app.add_track(name="track a")
    track_b = app.add_track(name="track b")
    track_c = app.add_track(name="track c")

    assert str(app.node) == normalize("""
        1000 group (application)
            1001 transport (transport)
                beats_per_minute: 120.0, denominator: 4.0, numerator: 4.0
            1002 group (track container)
                1016 group (track a)
                    1017 mixer/track-input/2
                        active: 1.0, gain: 0.0, gate: 1.0, in_: 24.0, lag: 0.1, out: 26.0
                    1018 group (device container)
                    1019 group (pre-fader sends)
                    1020 mixer/track-output/2
                        active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 26.0
                    1021 group (post-fader sends)
                        1022 mixer/send/2x2 (to master track)
                            active: 1.0, gain: 0.0, gate: 1.0, in_: 26.0, lag: 0.1, out: 22.0
                1023 group (track b)
                    1024 mixer/track-input/2
                        active: 1.0, gain: 0.0, gate: 1.0, in_: 28.0, lag: 0.1, out: 30.0
                    1025 group (device container)
                    1026 group (pre-fader sends)
                    1027 mixer/track-output/2
                        active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 30.0
                    1028 group (post-fader sends)
                        1029 mixer/send/2x2 (to master track)
                            active: 1.0, gain: 0.0, gate: 1.0, in_: 30.0, lag: 0.1, out: 22.0
                1030 group (track c)
                    1031 mixer/track-input/2
                        active: 1.0, gain: 0.0, gate: 1.0, in_: 32.0, lag: 0.1, out: 34.0
                    1032 group (device container)
                    1033 group (pre-fader sends)
                    1034 mixer/track-output/2
                        active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 34.0
                    1035 group (post-fader sends)
                        1036 mixer/send/2x2 (to master track)
                            active: 1.0, gain: 0.0, gate: 1.0, in_: 34.0, lag: 0.1, out: 22.0
            1003 group (return track container)
            1004 group (master track)
                1005 mixer/track-input/2
                    active: 1.0, gain: 0.0, gate: 1.0, in_: 20.0, lag: 0.1, out: 22.0
                1006 group (device container)
                1007 group (pre-fader sends)
                1008 mixer/track-output/2
                    active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 22.0
                1009 group (post-fader sends)
            1010 group (cue track)
                1011 mixer/track-input/2
                    active: 1.0, gain: 0.0, gate: 1.0, in_: 16.0, lag: 0.1, out: 18.0
                1012 group (device container)
                1013 group (pre-fader sends)
                1014 mixer/track-output/2
                    active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 18.0
                1015 group (post-fader sends)
        """)

    group_track_a = GroupTrack.group([track_a, track_b, track_c])
    time.sleep(0.25)
    assert str(app.node) == normalize("""
        1000 group (application)
            1001 transport (transport)
                beats_per_minute: 120.0, denominator: 4.0, numerator: 4.0
            1002 group (track container)
                1037 group (group track)
                    1038 mixer/track-input/2
                        active: 1.0, gain: 0.0, gate: 1.0, in_: 36.0, lag: 0.1, out: 38.0
                    1039 group (track container)
                        1016 group (track a)
                            1017 mixer/track-input/2
                                active: 1.0, gain: 0.0, gate: 1.0, in_: 24.0, lag: 0.1, out: 26.0
                            1018 group (device container)
                            1019 group (pre-fader sends)
                            1020 mixer/track-output/2
                                active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 26.0
                            1021 group (post-fader sends)
                                1045 mixer/send/2x2 (to group track)
                                    active: 1.0, gain: 0.0, gate: 1.0, in_: 26.0, lag: 0.1, out: 38.0
                        1023 group (track b)
                            1024 mixer/track-input/2
                                active: 1.0, gain: 0.0, gate: 1.0, in_: 28.0, lag: 0.1, out: 30.0
                            1025 group (device container)
                            1026 group (pre-fader sends)
                            1027 mixer/track-output/2
                                active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 30.0
                            1028 group (post-fader sends)
                                1046 mixer/send/2x2 (to group track)
                                    active: 1.0, gain: 0.0, gate: 1.0, in_: 30.0, lag: 0.1, out: 38.0
                        1030 group (track c)
                            1031 mixer/track-input/2
                                active: 1.0, gain: 0.0, gate: 1.0, in_: 32.0, lag: 0.1, out: 34.0
                            1032 group (device container)
                            1033 group (pre-fader sends)
                            1034 mixer/track-output/2
                                active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 34.0
                            1035 group (post-fader sends)
                                1047 mixer/send/2x2 (to group track)
                                    active: 1.0, gain: 0.0, gate: 1.0, in_: 34.0, lag: 0.1, out: 38.0
                    1040 group (device container)
                    1041 group (pre-fader sends)
                    1042 mixer/track-output/2
                        active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 38.0
                    1043 group (post-fader sends)
                        1044 mixer/send/2x2 (to master track)
                            active: 1.0, gain: 0.0, gate: 1.0, in_: 38.0, lag: 0.1, out: 22.0
            1003 group (return track container)
            1004 group (master track)
                1005 mixer/track-input/2
                    active: 1.0, gain: 0.0, gate: 1.0, in_: 20.0, lag: 0.1, out: 22.0
                1006 group (device container)
                1007 group (pre-fader sends)
                1008 mixer/track-output/2
                    active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 22.0
                1009 group (post-fader sends)
            1010 group (cue track)
                1011 mixer/track-input/2
                    active: 1.0, gain: 0.0, gate: 1.0, in_: 16.0, lag: 0.1, out: 18.0
                1012 group (device container)
                1013 group (pre-fader sends)
                1014 mixer/track-output/2
                    active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 18.0
                1015 group (post-fader sends)
        """)

    group_track_b = GroupTrack.group([track_c, track_b])
    time.sleep(0.25)
    assert str(app.node) == normalize("""
        1000 group (application)
            1001 transport (transport)
                beats_per_minute: 120.0, denominator: 4.0, numerator: 4.0
            1002 group (track container)
                1037 group (group track)
                    1038 mixer/track-input/2
                        active: 1.0, gain: 0.0, gate: 1.0, in_: 36.0, lag: 0.1, out: 38.0
                    1039 group (track container)
                        1016 group (track a)
                            1017 mixer/track-input/2
                                active: 1.0, gain: 0.0, gate: 1.0, in_: 24.0, lag: 0.1, out: 26.0
                            1018 group (device container)
                            1019 group (pre-fader sends)
                            1020 mixer/track-output/2
                                active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 26.0
                            1021 group (post-fader sends)
                                1045 mixer/send/2x2 (to group track)
                                    active: 1.0, gain: 0.0, gate: 1.0, in_: 26.0, lag: 0.1, out: 38.0
                        1048 group (group track)
                            1049 mixer/track-input/2
                                active: 1.0, gain: 0.0, gate: 1.0, in_: 40.0, lag: 0.1, out: 42.0
                            1050 group (track container)
                                1030 group (track c)
                                    1031 mixer/track-input/2
                                        active: 1.0, gain: 0.0, gate: 1.0, in_: 32.0, lag: 0.1, out: 34.0
                                    1032 group (device container)
                                    1033 group (pre-fader sends)
                                    1034 mixer/track-output/2
                                        active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 34.0
                                    1035 group (post-fader sends)
                                        1056 mixer/send/2x2 (to group track)
                                            active: 1.0, gain: 0.0, gate: 1.0, in_: 34.0, lag: 0.1, out: 42.0
                                1023 group (track b)
                                    1024 mixer/track-input/2
                                        active: 1.0, gain: 0.0, gate: 1.0, in_: 28.0, lag: 0.1, out: 30.0
                                    1025 group (device container)
                                    1026 group (pre-fader sends)
                                    1027 mixer/track-output/2
                                        active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 30.0
                                    1028 group (post-fader sends)
                                        1057 mixer/send/2x2 (to group track)
                                            active: 1.0, gain: 0.0, gate: 1.0, in_: 30.0, lag: 0.1, out: 42.0
                            1051 group (device container)
                            1052 group (pre-fader sends)
                            1053 mixer/track-output/2
                                active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 42.0
                            1054 group (post-fader sends)
                                1055 mixer/send/2x2 (to group track)
                                    active: 1.0, gain: 0.0, gate: 1.0, in_: 42.0, lag: 0.1, out: 38.0
                    1040 group (device container)
                    1041 group (pre-fader sends)
                    1042 mixer/track-output/2
                        active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 38.0
                    1043 group (post-fader sends)
                        1044 mixer/send/2x2 (to master track)
                            active: 1.0, gain: 0.0, gate: 1.0, in_: 38.0, lag: 0.1, out: 22.0
            1003 group (return track container)
            1004 group (master track)
                1005 mixer/track-input/2
                    active: 1.0, gain: 0.0, gate: 1.0, in_: 20.0, lag: 0.1, out: 22.0
                1006 group (device container)
                1007 group (pre-fader sends)
                1008 mixer/track-output/2
                    active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 22.0
                1009 group (post-fader sends)
            1010 group (cue track)
                1011 mixer/track-input/2
                    active: 1.0, gain: 0.0, gate: 1.0, in_: 16.0, lag: 0.1, out: 18.0
                1012 group (device container)
                1013 group (pre-fader sends)
                1014 mixer/track-output/2
                    active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 18.0
                1015 group (post-fader sends)
        """)

    group_track_a.add_track(name="track d")
    assert str(app.node) == normalize("""
        1000 group (application)
            1001 transport (transport)
                beats_per_minute: 120.0, denominator: 4.0, numerator: 4.0
            1002 group (track container)
                1037 group (group track)
                    1038 mixer/track-input/2
                        active: 1.0, gain: 0.0, gate: 1.0, in_: 36.0, lag: 0.1, out: 38.0
                    1039 group (track container)
                        1016 group (track a)
                            1017 mixer/track-input/2
                                active: 1.0, gain: 0.0, gate: 1.0, in_: 24.0, lag: 0.1, out: 26.0
                            1018 group (device container)
                            1019 group (pre-fader sends)
                            1020 mixer/track-output/2
                                active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 26.0
                            1021 group (post-fader sends)
                                1045 mixer/send/2x2 (to group track)
                                    active: 1.0, gain: 0.0, gate: 1.0, in_: 26.0, lag: 0.1, out: 38.0
                        1048 group (group track)
                            1049 mixer/track-input/2
                                active: 1.0, gain: 0.0, gate: 1.0, in_: 40.0, lag: 0.1, out: 42.0
                            1050 group (track container)
                                1030 group (track c)
                                    1031 mixer/track-input/2
                                        active: 1.0, gain: 0.0, gate: 1.0, in_: 32.0, lag: 0.1, out: 34.0
                                    1032 group (device container)
                                    1033 group (pre-fader sends)
                                    1034 mixer/track-output/2
                                        active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 34.0
                                    1035 group (post-fader sends)
                                        1056 mixer/send/2x2 (to group track)
                                            active: 1.0, gain: 0.0, gate: 1.0, in_: 34.0, lag: 0.1, out: 42.0
                                1023 group (track b)
                                    1024 mixer/track-input/2
                                        active: 1.0, gain: 0.0, gate: 1.0, in_: 28.0, lag: 0.1, out: 30.0
                                    1025 group (device container)
                                    1026 group (pre-fader sends)
                                    1027 mixer/track-output/2
                                        active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 30.0
                                    1028 group (post-fader sends)
                                        1057 mixer/send/2x2 (to group track)
                                            active: 1.0, gain: 0.0, gate: 1.0, in_: 30.0, lag: 0.1, out: 42.0
                            1051 group (device container)
                            1052 group (pre-fader sends)
                            1053 mixer/track-output/2
                                active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 42.0
                            1054 group (post-fader sends)
                                1055 mixer/send/2x2 (to group track)
                                    active: 1.0, gain: 0.0, gate: 1.0, in_: 42.0, lag: 0.1, out: 38.0
                        1058 group (track d)
                            1059 mixer/track-input/2
                                active: 1.0, gain: 0.0, gate: 1.0, in_: 44.0, lag: 0.1, out: 46.0
                            1060 group (device container)
                            1061 group (pre-fader sends)
                            1062 mixer/track-output/2
                                active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 46.0
                            1063 group (post-fader sends)
                                1064 mixer/send/2x2 (to group track)
                                    active: 1.0, gain: 0.0, gate: 1.0, in_: 46.0, lag: 0.1, out: 38.0
                    1040 group (device container)
                    1041 group (pre-fader sends)
                    1042 mixer/track-output/2
                        active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 38.0
                    1043 group (post-fader sends)
                        1044 mixer/send/2x2 (to master track)
                            active: 1.0, gain: 0.0, gate: 1.0, in_: 38.0, lag: 0.1, out: 22.0
            1003 group (return track container)
            1004 group (master track)
                1005 mixer/track-input/2
                    active: 1.0, gain: 0.0, gate: 1.0, in_: 20.0, lag: 0.1, out: 22.0
                1006 group (device container)
                1007 group (pre-fader sends)
                1008 mixer/track-output/2
                    active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 22.0
                1009 group (post-fader sends)
            1010 group (cue track)
                1011 mixer/track-input/2
                    active: 1.0, gain: 0.0, gate: 1.0, in_: 16.0, lag: 0.1, out: 18.0
                1012 group (device container)
                1013 group (pre-fader sends)
                1014 mixer/track-output/2
                    active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 18.0
                1015 group (post-fader sends)
        """)

    group_track_a.ungroup()
    time.sleep(0.25)
    assert str(app.node) == normalize("""
        1000 group (application)
            1001 transport (transport)
                beats_per_minute: 120.0, denominator: 4.0, numerator: 4.0
            1002 group (track container)
                1016 group (track a)
                    1017 mixer/track-input/2
                        active: 1.0, gain: 0.0, gate: 1.0, in_: 24.0, lag: 0.1, out: 26.0
                    1018 group (device container)
                    1019 group (pre-fader sends)
                    1020 mixer/track-output/2
                        active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 26.0
                    1021 group (post-fader sends)
                        1065 mixer/send/2x2 (to master track)
                            active: 1.0, gain: 0.0, gate: 1.0, in_: 26.0, lag: 0.1, out: 22.0
                1048 group (group track)
                    1049 mixer/track-input/2
                        active: 1.0, gain: 0.0, gate: 1.0, in_: 40.0, lag: 0.1, out: 42.0
                    1050 group (track container)
                        1030 group (track c)
                            1031 mixer/track-input/2
                                active: 1.0, gain: 0.0, gate: 1.0, in_: 32.0, lag: 0.1, out: 34.0
                            1032 group (device container)
                            1033 group (pre-fader sends)
                            1034 mixer/track-output/2
                                active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 34.0
                            1035 group (post-fader sends)
                                1056 mixer/send/2x2 (to group track)
                                    active: 1.0, gain: 0.0, gate: 1.0, in_: 34.0, lag: 0.1, out: 42.0
                        1023 group (track b)
                            1024 mixer/track-input/2
                                active: 1.0, gain: 0.0, gate: 1.0, in_: 28.0, lag: 0.1, out: 30.0
                            1025 group (device container)
                            1026 group (pre-fader sends)
                            1027 mixer/track-output/2
                                active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 30.0
                            1028 group (post-fader sends)
                                1057 mixer/send/2x2 (to group track)
                                    active: 1.0, gain: 0.0, gate: 1.0, in_: 30.0, lag: 0.1, out: 42.0
                    1051 group (device container)
                    1052 group (pre-fader sends)
                    1053 mixer/track-output/2
                        active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 42.0
                    1054 group (post-fader sends)
                        1066 mixer/send/2x2 (to master track)
                            active: 1.0, gain: 0.0, gate: 1.0, in_: 42.0, lag: 0.1, out: 22.0
                1058 group (track d)
                    1059 mixer/track-input/2
                        active: 1.0, gain: 0.0, gate: 1.0, in_: 44.0, lag: 0.1, out: 46.0
                    1060 group (device container)
                    1061 group (pre-fader sends)
                    1062 mixer/track-output/2
                        active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 46.0
                    1063 group (post-fader sends)
                        1067 mixer/send/2x2 (to master track)
                            active: 1.0, gain: 0.0, gate: 1.0, in_: 46.0, lag: 0.1, out: 22.0
            1003 group (return track container)
            1004 group (master track)
                1005 mixer/track-input/2
                    active: 1.0, gain: 0.0, gate: 1.0, in_: 20.0, lag: 0.1, out: 22.0
                1006 group (device container)
                1007 group (pre-fader sends)
                1008 mixer/track-output/2
                    active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 22.0
                1009 group (post-fader sends)
            1010 group (cue track)
                1011 mixer/track-input/2
                    active: 1.0, gain: 0.0, gate: 1.0, in_: 16.0, lag: 0.1, out: 18.0
                1012 group (device container)
                1013 group (pre-fader sends)
                1014 mixer/track-output/2
                    active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 18.0
                1015 group (post-fader sends)
        """)

    group_track_b.ungroup()
    time.sleep(0.25)
    assert str(app.node) == normalize("""
        1000 group (application)
            1001 transport (transport)
                beats_per_minute: 120.0, denominator: 4.0, numerator: 4.0
            1002 group (track container)
                1016 group (track a)
                    1017 mixer/track-input/2
                        active: 1.0, gain: 0.0, gate: 1.0, in_: 24.0, lag: 0.1, out: 26.0
                    1018 group (device container)
                    1019 group (pre-fader sends)
                    1020 mixer/track-output/2
                        active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 26.0
                    1021 group (post-fader sends)
                        1065 mixer/send/2x2 (to master track)
                            active: 1.0, gain: 0.0, gate: 1.0, in_: 26.0, lag: 0.1, out: 22.0
                1030 group (track c)
                    1031 mixer/track-input/2
                        active: 1.0, gain: 0.0, gate: 1.0, in_: 32.0, lag: 0.1, out: 34.0
                    1032 group (device container)
                    1033 group (pre-fader sends)
                    1034 mixer/track-output/2
                        active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 34.0
                    1035 group (post-fader sends)
                        1068 mixer/send/2x2 (to master track)
                            active: 1.0, gain: 0.0, gate: 1.0, in_: 34.0, lag: 0.1, out: 22.0
                1023 group (track b)
                    1024 mixer/track-input/2
                        active: 1.0, gain: 0.0, gate: 1.0, in_: 28.0, lag: 0.1, out: 30.0
                    1025 group (device container)
                    1026 group (pre-fader sends)
                    1027 mixer/track-output/2
                        active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 30.0
                    1028 group (post-fader sends)
                        1069 mixer/send/2x2 (to master track)
                            active: 1.0, gain: 0.0, gate: 1.0, in_: 30.0, lag: 0.1, out: 22.0
                1058 group (track d)
                    1059 mixer/track-input/2
                        active: 1.0, gain: 0.0, gate: 1.0, in_: 44.0, lag: 0.1, out: 46.0
                    1060 group (device container)
                    1061 group (pre-fader sends)
                    1062 mixer/track-output/2
                        active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 46.0
                    1063 group (post-fader sends)
                        1067 mixer/send/2x2 (to master track)
                            active: 1.0, gain: 0.0, gate: 1.0, in_: 46.0, lag: 0.1, out: 22.0
            1003 group (return track container)
            1004 group (master track)
                1005 mixer/track-input/2
                    active: 1.0, gain: 0.0, gate: 1.0, in_: 20.0, lag: 0.1, out: 22.0
                1006 group (device container)
                1007 group (pre-fader sends)
                1008 mixer/track-output/2
                    active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 22.0
                1009 group (post-fader sends)
            1010 group (cue track)
                1011 mixer/track-input/2
                    active: 1.0, gain: 0.0, gate: 1.0, in_: 16.0, lag: 0.1, out: 18.0
                1012 group (device container)
                1013 group (pre-fader sends)
                1014 mixer/track-output/2
                    active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 18.0
                1015 group (post-fader sends)
        """)
Exemplo n.º 7
0
def test_03(boot_here):
    application = Application()

    if boot_here == 1:
        application.boot()

    track_a = application.add_track(name="a")
    assert not track_a.is_muted
    assert track_a.is_active

    if boot_here == 2:
        application.boot()

    track_a.mute()
    assert track_a.is_muted
    assert not track_a.is_active

    if boot_here == 3:
        application.boot()

    group_one = GroupTrack(name="one")
    track_b = group_one.add_track(name="b")
    assert not group_one.is_muted
    assert group_one.is_active
    assert not track_b.is_muted
    assert track_b.is_active

    if boot_here == 4:
        application.boot()

    group_two = GroupTrack(name="two")
    group_two.mute()
    assert group_two.is_muted
    assert not group_two.is_active

    if boot_here == 5:
        application.boot()

    application.tracks.append(group_two)
    assert track_a.is_muted
    assert not track_a.is_active
    assert group_two.is_muted
    assert not group_two.is_active

    if boot_here == 6:
        application.boot()

    group_two.tracks.append(group_one)
    assert track_a.is_muted
    assert not track_a.is_active
    assert group_two.is_muted
    assert not group_two.is_active
    assert not group_one.is_muted
    assert not group_one.is_active
    assert not track_b.is_muted
    assert not track_b.is_active

    if boot_here == 7:
        application.boot()

    track_a.unmute()
    assert not track_a.is_muted
    assert track_a.is_active
    assert group_two.is_muted
    assert not group_two.is_active
    assert not group_one.is_muted
    assert not group_one.is_active
    assert not track_b.is_muted
    assert not track_b.is_active

    if boot_here == 8:
        application.boot()

    group_two.unmute()
    assert not track_a.is_muted
    assert track_a.is_active
    assert not group_two.is_muted
    assert group_two.is_active
    assert not group_one.is_muted
    assert group_one.is_active
    assert not track_b.is_muted
    assert track_b.is_active

    if boot_here == 9:
        application.boot()

    assert not track_a.is_muted
    assert track_a.is_active
    assert not group_two.is_muted
    assert group_two.is_active
    assert not group_one.is_muted
    assert group_one.is_active
    assert not track_b.is_muted
    assert track_b.is_active
Exemplo n.º 8
0
def test_01():
    app = Application()
    track_a = app.add_track()
    track_b = app.add_track()
    track_c = app.add_track()
    GroupTrack.group([track_a, track_b])
    instrument_rack = InstrumentRack()
    instrument_rack.add_chain().devices.extend(
        [MidiDevice(), Instrument(), AudioDevice()])
    audio_rack = AudioRack()
    audio_rack.add_chain().devices.append(AudioDevice())
    track_b.devices.append(instrument_rack)
    track_c.devices.append(audio_rack)
    print("Booting...")
    app.boot()
    assert str(app.node) == normalize("""
        1000 group (application)
            1001 transport (transport)
                beats_per_minute: 120.0, denominator: 4.0, numerator: 4.0
            1002 group (track container)
                1003 group (group track)
                    1004 mixer/track-input/2
                        active: 1.0, gain: 0.0, gate: 1.0, in_: 24.0, lag: 0.1, out: 26.0
                    1005 group (track container)
                        1006 group (track)
                            1007 mixer/track-input/2
                                active: 1.0, gain: 0.0, gate: 1.0, in_: 28.0, lag: 0.1, out: 30.0
                            1008 group (device container)
                            1009 group (pre-fader sends)
                            1010 mixer/track-output/2
                                active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 30.0
                            1011 group (post-fader sends)
                                1012 mixer/send/2x2 (to group track)
                                    active: 1.0, gain: 0.0, gate: 1.0, in_: 30.0, lag: 0.1, out: 26.0
                        1013 group (track)
                            1014 mixer/track-input/2
                                active: 1.0, gain: 0.0, gate: 1.0, in_: 32.0, lag: 0.1, out: 34.0
                            1015 group (device container)
                                1016 group (instrument rack)
                                    1017 group (chain container)
                                        1018 group (instrument chain)
                                            1019 group (device container)
                                                1020 group (instrument)
                                                1021 group (audio device)
                                            1022 group (pre-fader sends)
                                            1023 mixer/chain-output/2
                                                active: 1.0, gain: 0.0, gate: 1.0, in_: 38.0, lag: 0.1, out: 38.0
                                            1024 group (post-fader sends)
                                                1025 mixer/send/2x2 (to instrument rack)
                                                    active: 1.0, gain: 0.0, gate: 1.0, in_: 38.0, lag: 0.1, out: 36.0
                                    1026 group (return chain container)
                                    1027 mixer/rack-output/2 (rack output)
                                        active: 1.0, gate: 1.0, in_: 36.0, lag: 0.1, out: 34.0
                            1028 group (pre-fader sends)
                            1029 mixer/track-output/2
                                active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 34.0
                            1030 group (post-fader sends)
                                1031 mixer/send/2x2 (to group track)
                                    active: 1.0, gain: 0.0, gate: 1.0, in_: 34.0, lag: 0.1, out: 26.0
                    1032 group (device container)
                    1033 group (pre-fader sends)
                    1034 mixer/track-output/2
                        active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 26.0
                    1035 group (post-fader sends)
                        1066 mixer/send/2x2 (to master track)
                            active: 1.0, gain: 0.0, gate: 1.0, in_: 26.0, lag: 0.1, out: 22.0
                1036 group (track)
                    1037 mixer/track-input/2
                        active: 1.0, gain: 0.0, gate: 1.0, in_: 40.0, lag: 0.1, out: 42.0
                    1038 group (device container)
                        1039 group (audio rack)
                            1040 group (chain container)
                                1041 group (audio chain)
                                    1042 mixer/chain-input/2
                                        active: 1.0, gate: 1.0, in_: 42.0, lag: 0.1, out: 46.0
                                    1043 group (device container)
                                        1044 group (audio device)
                                    1045 group (pre-fader sends)
                                    1046 mixer/chain-output/2
                                        active: 1.0, gain: 0.0, gate: 1.0, in_: 46.0, lag: 0.1, out: 46.0
                                    1047 group (post-fader sends)
                                        1048 mixer/send/2x2 (to audio rack)
                                            active: 1.0, gain: 0.0, gate: 1.0, in_: 46.0, lag: 0.1, out: 44.0
                            1049 mixer/rack-output/2 (rack output)
                                active: 1.0, gate: 1.0, in_: 44.0, lag: 0.1, out: 42.0
                    1050 group (pre-fader sends)
                    1051 mixer/track-output/2
                        active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 42.0
                    1052 group (post-fader sends)
                        1067 mixer/send/2x2 (to master track)
                            active: 1.0, gain: 0.0, gate: 1.0, in_: 42.0, lag: 0.1, out: 22.0
            1053 group (return track container)
            1054 group (master track)
                1055 mixer/track-input/2
                    active: 1.0, gain: 0.0, gate: 1.0, in_: 20.0, lag: 0.1, out: 22.0
                1056 group (device container)
                1057 group (pre-fader sends)
                1058 mixer/track-output/2
                    active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 22.0
                1059 group (post-fader sends)
            1060 group (cue track)
                1061 mixer/track-input/2
                    active: 1.0, gain: 0.0, gate: 1.0, in_: 16.0, lag: 0.1, out: 18.0
                1062 group (device container)
                1063 group (pre-fader sends)
                1064 mixer/track-output/2
                    active: 1.0, gain: 0.0, gate: 1.0, lag: 0.1, out: 18.0
                1065 group (post-fader sends)
        """)