コード例 #1
0
ファイル: test_csdgen.py プロジェクト: fourks/pch2csd
 def test_udo_statement_gen__not_raises(self):
     p = parse_pch2(self.data, self.poly_mix2_fn)
     p.cables = [transform_in2in_cables(p, c) for c in p.cables]
     zak = ZakSpace()
     udos = zak.connect_patch(p)
     csd = Csd(p, zak, udos)
     csd.get_code()
コード例 #2
0
def convert_pch2(fn: str):
    if not fn.lower().endswith('.pch2'):
        print("error: the patch file should have extension '.pch2'")
        exit(-1)
    data = ProjectData()
    path = os.path.abspath(os.path.expanduser(fn))
    p = parse_pch2(data, path)
    zak = ZakSpace()
    try:
        udos = zak.connect_patch(p)
    except ValueError as e:
        print('error: {}'.format(e))
        exit(-1)
    csd = Csd(p, zak, udos)
    dirname = os.path.dirname(path)
    csd_save_path = os.path.join(dirname, os.path.basename(path) + '.csd')
    with open(csd_save_path, 'w') as f:
        f.write(csd.get_code())
コード例 #3
0
ファイル: test_csdgen.py プロジェクト: fourks/pch2csd
    def test_r2b_b2r(self):
        p = parse_pch2(self.data, self.r2b_b2r_fn)
        zak = ZakSpace()
        udos = zak.connect_patch(p)
        in2, envh, out2, a2k, k2a = sorted(udos, key=lambda x: x.mod.id)
        # sends a
        self.assertSequenceEqual(in2.outlets, [7, 0])
        # a -> k
        self.assertSequenceEqual(a2k.inlets, [7])
        self.assertSequenceEqual(a2k.outlets, [7])
        # receives k
        self.assertSequenceEqual(envh.inlets, [1, 7, 1])
        # sends k
        self.assertSequenceEqual(envh.outlets, [0, 8])
        # k -> a
        self.assertSequenceEqual(k2a.inlets, [8])
        self.assertSequenceEqual(k2a.outlets, [8])
        # receives a
        self.assertSequenceEqual(out2.inlets, [8, 1])

        csd = Csd(p, zak, udos)
        print(csd.get_code())