| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 | 
import jsonfrom collections import OrderedDictf_out = open("patch.sav","w") nr=0dmx=1def add(jdata,att):    global nr,dmx,name,fix,sub    print("======", "{}_{} {:03}".format( name,fix,sub) )    #for i in jdata:    #    print(i )        if "ATTRIBUT" in jdata:        for a in att:            if a == "":                print("---",nr+dmx-1,nr,"")                nr+=1                continue            rdata = '{"NR": 1, "MASTER": "0", "MODE": "S", "VALUE": 0, "ACTIVE": 0, "FX": "", "FX2": {}}'            rdata = '{"NR": 1, "MASTER": "0", "MODE": "S", "VALUE": 0, "ACTIVE": 0, "FX": "", "FX2": {}}'            jattr = json.loads(rdata,object_pairs_hook=OrderedDict)            jattr["NR"] = nr            if a in ["DIM","RED","GREEN","BLUE"]: #,"PAN","TILT","ZOOM","IRIS"]:                jattr["MODE"] = "F"            jdata["ATTRIBUT"][a] = jattr            print("add",nr+dmx-1,nr,a)            nr+=1    print()fix = 1sub =1name="VPU"dmx=1univ=2#for i in range(9*13): # fixtures#for i in range(8+1*12+1): # fixtures#for i in range((8*2)+1*(12*2)+1): # fixturesfor i in range(96): # fixtures    print("====================================")    rdata='{"DMX": 1, "UNIVERS": 2, "NAME": "VPU_01", "TYPE": "MOVER", "VENDOR": "AYERTON", "ATTRIBUT":{}}'    jdata = json.loads(rdata,object_pairs_hook=OrderedDict)    jdata["NAME"] = "{}_{}{:02}".format( name,fix,sub)    jdata["NAME"] = "{}_{:03}".format( name,fix)#,sub)    nr=1    jdata["UNIVERS"] = univ    jdata["DMX"] = dmx    att = []    #att.append("PAN")    #att.append("PAN-FINE")    #att.append("TITL")    #att.append("TILT-FINE")    #att.append("")    #att.append("SHUTTER")    #att.append("DIM")    #att.append("ZOOM")    #att.append("GOBO")    #att.append("")    #att.append("GOBO2")    #att.append("G-ROT")    #att.append("")    #att.append("PRISMA")    #att.append("P-ROT")    #att.append("")    #att.append("")    att.append("DIM")    att.append("RED")    att.append("GREEN")        att.append("BLUE")    add(jdata,att)    fnr="{}{:02}".format(fix,sub)    fnr="{}".format(fix,sub)    fnr="{:04}".format(fix,sub)    f_out.write("{}\t{}\t{}\n".format(fnr,fnr,json.dumps(jdata) ) )    f_out.flush()       rdata='{"DMX": 1, "UNIVERS": 2, "NAME": "SPX7_01", "TYPE": "MOVER", "VENDOR": "JB", "ATTRIBUT":{}}'    jdata = json.loads(rdata,object_pairs_hook=OrderedDict)    if 0:#for i in range(3):        sub+=1        jdata["NAME"] = "{}_{:03}{:03}".format( name,fix,sub)        dmx+=nr-1        univ=2        nr=1        jdata["UNIVERS"] = univ        jdata["DMX"] = dmx        att = []        att.append("RED")        att.append("GREEN")        att.append("BLUE")        att.append("WHITE")        add(jdata,att)        fnr="{}{:02}".format(fix,sub)        fnr="{:04}".format(fix,sub)        f_out.write("{}\t{}\t{}\n".format(fnr,fnr,json.dumps(jdata) ) )        f_out.flush()    fix += 1    sub=1    dmx+=nr-1    if dmx >= 512:        univ +=1        dmx = 1
 |